Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Macro substitution slow
Message
From
23/06/2000 17:31:52
 
 
To
23/06/2000 11:52:55
Bob Smith
Custom Data Services, Inc.
Mansfield, Massachusetts, United States
General information
Forum:
Visual FoxPro
Category:
Other
Miscellaneous
Thread ID:
00383777
Message ID:
00384083
Views:
36
Hi Bob,

>select * from contacts where &pcFilterString into table c:\temp\foundit
>
>pcFilterString='UPPER(NLAST)="SMITH" AND UPPER(NFIRST)="JOHN"'

Could you replace the macro variable with this snippet:
lcLast = 'SMITH'
lcFirst = 'JOHN'
Select * from contacts where UPPER(NLAST)==lcLast AND UPPER(NFIRST)==lcFirst into table c:\temp\foundit

or if you dont know the field names, you can use the Eval() function:
lcField1 = 'UPPER(NLAST)'
lcField2 = 'UPPER(NFIRST)'
Select * from contacts where EVAL('lcField1')==lcLast AND EVAL('lcField2')==lcFirst into table c:\temp\foundit

>
>The table is indexed on UPPER(NLAST AND UPPER(NFIRST) and the query runs quickly with the values instead of the macro substitution

If at all possible, you need to remove the macro variable.

Jon
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform