Crystal reports 在crystal报表中使用数字和字母拆分字符串

Crystal reports 在crystal报表中使用数字和字母拆分字符串,crystal-reports,Crystal Reports,我在SQL Server数据库中有一个字段,其中包含如下数字和字母: 姓名姓氏1姓氏2 3333 1T NP 该字段为nchar数据类型 我需要在一个字段中提取名称姓氏1和姓氏2,在另一个字段中提取3333以生成报告 我用了这个密码 Whileprintingrecords; stringvar array Names := split({Table.Field}," "); If ubound(Names) >=3 then Names [1] + " " +Names [2] +"

我在SQL Server数据库中有一个字段,其中包含如下数字和字母:

姓名姓氏1姓氏2 3333 1T NP

该字段为nchar数据类型

我需要在一个字段中提取名称姓氏1和姓氏2,在另一个字段中提取3333以生成报告

我用了这个密码

Whileprintingrecords;
stringvar array Names := split({Table.Field}," ");

If ubound(Names) >=3 then
Names [1] + " " +Names [2] +" " + Names [3];
但仅适用于名称和姓氏,如“名称姓氏1姓氏2”

问题是名字可以是“Jose Luis”,姓1或姓2“De La Bella”

找到数字时,如何拆分字段


谢谢

如果数据字段是一致的&您可以保证保留最后三个索引。。。 只需将您知道将成为名称、姓氏1和姓氏2一部分的索引连接起来(例如,直到数字的索引)

打印记录时;
本地StringVar数组名称:=SPLIT({Table.Field},“”);
本地StringVar名称:=“”;
本地号码索引:=0;
本地号码限制:=UBOUND(Names)-3;
对于索引:=1以限制Do(
名称:=名称和名称[索引]&IIF(索引=限制“,”);
);
名称

如果您的最后两个字段的字符中没有空格,这可能会有所帮助,请从头到尾计算代码引发警告的字段:“没有太多参数传递给此函数”您能说明它引发此错误的函数吗?我不能。Crystal reports只会抛出该消息,并在结尾处标记下一个。@Victor:很抱歉,我有点混淆了语言。我已经用正确的语法更新了
For
循环。
Do
语句丢失,没有
Next
关键字在Crystal中结束块。现在确定没有抛出警告。但现在只返回真或假。如何打印值而不是TRUE或FALSE。谢谢你的帮助。