Vb.net crystal报告公式中的错误

Vb.net crystal报告公式中的错误,vb.net,crystal-reports,Vb.net,Crystal Reports,我不明白crystal report中公式的错误 Local StringVar DistStatePin; DistStatePin := " "; If Not isnull({DonationByReceiptNo.place}) Then DistStatePin := DistStatePin + Space(1) + Trim({DonationByReceiptNo.place}) + ", "; If Not isnull({DonationByReceiptNo.distric

我不明白crystal report中公式的错误

Local StringVar DistStatePin;
DistStatePin := " ";
If Not isnull({DonationByReceiptNo.place}) Then DistStatePin := DistStatePin + Space(1) + Trim({DonationByReceiptNo.place}) + ", ";
If Not isnull({DonationByReceiptNo.district}) Then 
    If (Mid(Trim({DonationByReceiptNo.district}),2,Length(Trim({DonationByReceiptNo.district}))-2)) <> Trim({DonationByReceiptNo.place}) Then
    DistStatePin := DistStatePin + Space(1) + Trim({DonationByReceiptNo.district}) + ", ";
If Not isnull({DonationByReceiptNo.state}) Then 
    If Trim({DonationByReceiptNo.state}) <> Trim({DonationByReceiptNo.place}) Then
    DistStatePin := DistStatePin + Space(1) + Trim({DonationByReceiptNo.state});
If Not isnull({DonationByReceiptNo.Pincode}) Then DistStatePin := DistStatePin + Space(1) + Trim({DonationByReceiptNo.Pincode});

trim(DistStatePin);
localstringvar-DistStatePin;
DistStatePin:=“”;
如果不为null({DonationByReceiptNo.place}),则DistStatePin:=DistStatePin+空格(1)+修剪({DonationByReceiptNo.place})+“,”;
如果不为null({DonationByReceiptNo.district}),则
如果(Mid(Trim({DonationByReceiptNo.district})、2、Length(Trim({DonationByReceiptNo.district}))-2)Trim({DonationByReceiptNo.place}),则
DistStatePin:=DistStatePin+空格(1)+修剪({DonationByReceiptNo.district})+“,”;
如果Not isnull({DonationByReceiptNo.state}),则
如果Trim({DonationByReceiptNo.state})Trim({DonationByReceiptNo.place}),则
DistStatePin:=DistStatePin+空格(1)+修剪({DonationByReceiptNo.state});
如果不为null({DonationByReceiptNo.Pincode}),则DistStatePin:=DistStatePin+空格(1)+修剪({DonationByReceiptNo.Pincode});
修剪(DistStatePin);
错误是

Error in File C:\Users\Gautam\AppData\Local\Temp\temp_d5c95ff2-0ec9-458e-8a3a-bc545097fd1a {9FBD7AEE-ED90-4886-848F-262758592B77}.rpt:
Error in formula  <DistState>. 
'Local StringVar DistStatePin;
'
String length is less than 0 or not an integer.
文件C:\Users\Gautam\AppData\Local\Temp\Temp_d5c95ff2-0ec9-458e-8a3a-bc545097fd1a{9FBD7AEE-ED90-4886-848F-262758592B77}中的错误。rpt: 公式错误。 '本地StringVar DistStatePin; ' 字符串长度小于0或不是整数。
可能是这一部分:

Mid( Trim({DonationByReceiptNo.district}), 2, Length(Trim({DonationByReceiptNo.district}))-2 )
为清晰起见,进行了重构:

Local Stringvar district:=Trim({DonationByReceiptNo.district});
Mid( district, 2, Length(district)-2 );

如果
district=”“
那么您的公式将是
Mid(“,2,0-2)
,这将给您一个错误。

这行
长度(Trim({donationbyreceipto.district}))可能有问题。
为什么您在顶部声明DistStatePin而不在其中放入任何内容?松开第二行,因为它不是必需的,然后在实际将值放入变量时也松开“DistStatePin”。