我有一个全局变量,它在我的文档的报表头部分的公式中声明。然后我尝试引用该变量以在for循环中使用它,并且出现错误:Crystal Reports公式中的错误
A number, currency amount, boolean, data, time, date-time, or string is expected here.
这里有什么问题,我该如何纠正?代码如下:
头公式:
Global StringVar Array items;
redim items [1];
Global StringVar Array jobs;
redim jobs [1];
Global StringVar Array POs;
redim POs [1];
Global StringVar Array Qty;
redim Qty [1];
Global NumberVar numRecordsPrinted;
numRecordsPrinted := 0;
""
详细公式:
Local NumberVar occurances;
Local StringVar poTOuse;
Local NumberVar i;
if {%Line_PO_Test} <> ''
and {PackingSlipHeader.CompanyCode} <> '10063'
and {PackingSlipHeader.CompanyCode} <> '10017'
then
//Count the number of occurances
For i := 0 To numRecordsPrinted Do //Error on numRecordsPrinted
(
if items[i] = {PS_DETAIL_FOR_PRINT.DTSItemNumber}
AND jobs[i] = {PS_DETAIL_FOR_PRINT.JobNumber}
And Qty[i] = {PS_DETAIL_FOR_PRINT.Quantity_Shipped}
THEN
occurances := occurances + 1
)
//Use the # of occurances to get the right PO number
Select occurances
case 0: poTOuse := {@LinePOnum}
case 1: poTOuse := {@Line_PO_3}
case 2: poTOuse := {@Line_PO_2}
default: poTOuse := "";
//Save data into the array and increment for next time
numRecordsPrinted := numRecordsPrinted + 1
items[numRecordsPrinted] := {PS_DETAIL_FOR_PRINT.DTSItemNumber}
jobs[numRecordsPrinted] := {PS_DETAIL_FOR_PRINT.JobNumber}
Qty[numRecordsPrinted] := {PS_DETAIL_FOR_PRINT.Quantity_Shipped}
//Print to the report
'PO#: ' + poTOuse;
是的,看起来像你的正确。这些是其他Crystal Report公式,但我没有正确引用它们。我会纠正这部分并编辑问题。关于错误代码的任何想法? – MAW74656 2010-12-14 17:47:32