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
Précédent
Suivant
Répondre
Voir le fil de ce thread
Voir le fil de ce thread à partir de ce message seulement
Voir tous les messages de ce thread
Voir tous les messages de ce thread à partir de ce message seulement