Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Why these two commands will give different results
Message
From
04/12/2006 13:18:22
Hilmar Zonneveld
Independent Consultant
Cochabamba, Bolivia
 
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Environment versions
Visual FoxPro:
VFP 8 SP1
OS:
Windows XP
Database:
Visual FoxPro
Miscellaneous
Thread ID:
01174441
Message ID:
01174668
Views:
9
>>>Without seek before select SUM I got the following results
>>>Found a mismatch on I801972COL cRate = 0 laArr[1]= 0.100000000
>>>Found a mismatch on I518767COL cRate = 0 laArr[1]= 0.100000000
>>>
>>>The first invoice has a different person as a salesman, and the second doesn't exist in Comision at all (I just tried in Command window to search for these invoices).
>>
>>The two commands may well leave the record pointer in different places.
>>
>>Tamar
>
>That's true, but here is the exact code
>
>
>SELECT Comision
>				lnRecno = RECNO()
>                SET ORDER TO com_inv IN comision
>
>                SELECT SUM(rate*SHARE/10000) AS crate WHERE inv_no+salesman = m.ccinv + m.Slsman ;
>                	FROM comision INTO ARRAY laArr
>                lcRate = EVL(laArr[1],0)		
>                IF SEEK(m.ccinv + m.Slsman)                	
>					SUM (rate*SHARE/10000) TO cRate WHILE inv_no+salesman = m.ccinv + m.Slsman
>				ELSE
>					cRate = 0
>				endif		
>                	
>                	IF NOT m.cRate == m.lcRate
>                		=MESSAGEBOX("Found a mismatch on " + m.ccinv + m.Slsman)
>                		_cliptext = _cliptext + "Found a mismatch on " + m.ccinv + m.Slsman + " cRate = " + ;
>                		         	TRANSFORM(m.cRate)  + " laArr[1]= " + TRANSFORM(m.lcRate)
>                	ENDIF
>
>The two reported mismtach cases are wrong, since in first case the invoice is for different person and in second it doesn't exist. I just re-indexed the table on inv_no + salesman and the problem persists.
>
>Do you know, what I'm doing wrong?
>
>Thanks again.

Don't send me copies of all the messages.
Difference in opinions hath cost many millions of lives: for instance, whether flesh be bread, or bread be flesh; whether whistling be a vice or a virtue; whether it be better to kiss a post, or throw it into the fire... (from Gulliver's Travels)
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform