私はドキュメントのレポートヘッダーセクションの式で宣言されたグローバル変数を持っています。その変数を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