cancel
Showing results for 
Search instead for 
Did you mean: 

Array with records more than 1000

Former Member
0 Kudos

Hi

I currently have an array setup for a report, this array contains values of 8000+ records. I initially got an error trying to run the report via our inhouse app and the error referred me to google to which I found the 1000 limitation.

Is there a way around this limitation? Im using Crystal Reports 2013 SP7.

Perhaps a formula that can be used to bypass the limitation and have my array work like it's supposed to? Unfortunately i have to use an array for my parameter used.

Any suggestions are welcome.

My current formula for the array used is the following:


dim i as number

dim aTranList() as string

for i = 1 to Ubound({?EMPLOYER})

        Redim Preserve aTranList(i)

        aTranList(i) = {?EMPLOYER}(i)

next i

Formula = Join(aTranList,",")

Accepted Solutions (1)

Accepted Solutions (1)

abhilash_kumar
Active Contributor
0 Kudos

Hi Charl,

You cannot use an array due to its 1000 value limit.

I see that you're simply trying to display selected parameter values as a comma delimited string.

Here's another workaround that can output a fairly large string:

shared stringvar emp1;

shared stringvar emp2;

shared stringvar emp3;

shared stringvar emp4;

shared stringvar emp5;

shared stringvar emp6;

shared numbervar i;

for i := 1 to ubound({?EMPLOYER}) do

(

if len(emp1) < 65500 then

shared stringvar emp1 := emp1 & {?EMPLOYER}[i] & ','

else if len(emp2) < 65500 then

shared stringvar emp2 := emp2 & {?EMPLOYER}[i] & ','

else if len(emp3) < 65500 then

shared stringvar emp3 := emp3 & {?EMPLOYER}[i] & ','

else if len(emp4) < 65500 then

shared stringvar emp4 := emp4 & {?EMPLOYER}[i] & ','

else if len(emp5) < 65500 then

shared stringvar emp5 := emp5 & {?EMPLOYER}[i] & ','

else if len(emp6) < 65500 then

shared stringvar emp6 := emp6 & {?EMPLOYER}[i] & ',';

);

emp1 & emp2 & emp3 & emp4 & emp5 & emp6;

-Abhilash

Answers (0)