Eric
I copied and ran your code and sure enough it errors but with a nesting error
Paul
-----Original Message-----
From: ProfoxTech <profoxtech-boun...@leafe.com> On Behalf Of Eric Selje
Sent: 21 November 2019 17:59
To: profoxt...@leafe.com
Subject: Re: Fatal error issuing CALCULATE command

Sent by an external sender
------------------------------

This tweak adds rows so there's something to actually calculate. I tried it 
with many variations on fields and rows and cannot get it to crash.

#DEFINE _fields 35
#DEFINE _rows 100
=RAND(-1)
CREATE CURSOR crsTest (id i)
cCalcCmd = [CALCULATE ]
cInsertFields = []
cInsertValues = []
FOR x = 1 TO _fields
   cField = "Field"+TRANSFORM(x)
   ALTER table crsTest ADD COLUMN (cField) I
   cCalcCmd = cCalcCmd + "SUM("+cField+"),"
   cInsertFields = cInsertFields + ","+cField
   cInsertValues = cInsertValues + ","+TRANS(INT(RAND()*100)) NEXT cInsertCmd = 
[INSERT INTO crsTest (ID ] + cInsertFields +[) VALUES (0]+cInsertValues+')'
FOR X = 1 TO _rows
   &cInsertCmd
NEXT
cCalcCmd = cCalcCmd + "AVG(Field1)"
&cCalcCmd



On Thu, Nov 21, 2019 at 11:37 AM Tracy Pearson <tr...@powerchurch.com>
wrote:

> Paul,
> There is no data in the cursor he created.
> How many records are you SUMming?
>
> Tracy
>
>
> -----Original Message-----
> From: ProfoxTech [mailto:profoxtech-boun...@leafe.com] On Behalf Of 
> Paul Newton
> Sent: Thursday, November 21, 2019 11:29 AM
> To: profoxt...@leafe.com
> Subject: RE: Fatal error issuing CALCULATE command
>
> Hi Eric
> I think that's because the limit is 32 (not 31 as I stated).  Try 
> using For x = 1 To 33 and I think you will get the problem.  Please 
> let us know Thanks Paul Newton
>
> -----Original Message-----
> From: ProfoxTech <profoxtech-boun...@leafe.com> On Behalf Of Eric 
> Selje
> Sent: 21 November 2019 16:17
> To: profoxt...@leafe.com
> Subject: Re: Fatal error issuing CALCULATE command
>
> Sent by an external sender
> ------------------------------
>
> Interesting. I whipped up this test and cannot replicate the problem:
> CREATE CURSOR crsTest (id i)
> cCmd = [CALCULATE ]
> FOR x = 1 TO 32
>    cField = "Field"+TRANSFORM(x)
>    ALTER table crsTest ADD COLUMN (cField) I
>    cCmd = cCmd + "SUM("+cField+"),"
> NEXT
> cCmd = cCmd + "AVG(Field1)"
> &cCmd
>
>
> On Thu, Nov 21, 2019 at 9:50 AM Paul Newton 
> <paul.new...@pegasus.co.uk>
> wrote:
>
> > Hi all
> >
> > I think I have come across a possibly undocumented limitation to the 
> > maximum number of expressions in a CALCULATE command.  In my case a 
> > fatal error occurred when trying to CALCULATE the SUMs of 32 
> > different fields in a cursor.  It took a while to establish what was 
> > going on, but when I reduced the number of expressions to 31 the 
> > error no longer
> occurred.
> >
> > Has anybody else encountered this issue?  Many thanks
> >
> > Paul Newton
> >
[excessive quoting removed by server]

_______________________________________________
Post Messages to: ProFox@leafe.com
Subscription Maintenance: https://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: https://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: https://leafe.com/archives
This message: 
https://leafe.com/archives/byMID/by5pr02mb6852cfeaf7d2144356db5fcaa1...@by5pr02mb6852.namprd02.prod.outlook.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.

Reply via email to