2016-12-14 8 views
0

У меня есть две формулыCrystal Reports: назначить качению значение из массива

@ Formula1 - размещены и подавлено в разделе Сведения о

WhileReadingRecords; 
stringvar array a; 
numbervar i; 
if length ({trips.SUP_SAME_PICK_DROP}) > 0 then (
    i := i + 1; 
    redim preserve a[i]; 
    a[i] := {trips.SUP_SAME_PICK_DROP}; 
); 
a[i] 

эта формула просто добавляет значение {} trips.SUP_SAME_PICK_DROP в массив.

@ Formula2

WhilePrintingRecords; 
stringvar array a; 
stringvar sh; 
numbervar r; 

for r := 2 to ubound(a) do (
    sh := a[r]; 
); 

sh; 

я хочу, чтобы показать значение г элемента массива, начиная со второго ряда деталей, во время печати записи. Например, если я печатаю вторую строку отчета, я хочу @ formula2, чтобы показать второй элемент из массива, который заполняется @ formula1. Если я печатаю 10-ю строку, я хочу @ formula2, чтобы показать 10-й элемент из массива, который заполняется @ formula1.

В настоящее время @ formula2 показывает только последний элемент массива при размещении в подробном разделе. Как достичь моей цели?

+0

когда я жёстко конкретного элемента из массива в показанном в ** @ formula2 **, он показывает это. Пример '... sh: = a [12]; ...' или '... sh: = a [3]; ...' Это означает, что массив сам заполняется правильно. – user2858200

ответ

0

Так что все было правильно, за исключением я добавил в @ Formula2 (очень первый ряд)

EvaluateAfter ({@formula1}) 

строка одно и все шло отлично

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

  • Нет связанных вопросов^_^