2014-01-29 165 views
2

我不明白在水晶报表错误水晶报表公式中

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); 

式的错误,错误的是

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. 
+0

可能是这行的问题'长度(修剪({DonationByReceiptNo.district}))' – Siva

+0

为什么要在顶部声明DistStatePin而不在其中?松开第二行,因为它不是必需的,然后当你真的把一个值放入变量时,也会松开“DistStatePin”。 –

回答

2

这也可能是这一部分:

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)这会给你一个错误。