2014-01-29 3 views
2

Я не понимаю, ошибка в формуле в кристаллическом докладеошибка в формуле 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); 

и ошибка

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

Может возникнуть проблема с этой строкой 'Length (Trim ({DonationByReceiptNo.district)))' – Siva

+0

Почему вы объявляете DistStatePin сверху, не вкладывая в него ничего? Освободите эту вторую строку, поскольку она не нужна, а затем также потеряйте «DistStatePin», когда вы фактически поместите значение в переменную. –

ответ

2

Это, вероятно, в этом разделе:

Mid(Trim({DonationByReceiptNo.district}), 2, Length(Trim({DonationByReceiptNo.district}))-2) 

Refactored для ясность:

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

Если district="" Тогда ваша формула будет Mid("", 2, 0-2), которая даст вам ошибку.

Смежные вопросы