HOWTO: Passing Variables to SELECT-SQL w/o Using Macro Substitution (114670)



The information in this article applies to:

  • Microsoft Visual FoxPro for Windows 3.0
  • Microsoft Visual FoxPro for Windows 5.0
  • Microsoft Visual FoxPro for Windows 6.0
  • Microsoft FoxPro for Windows 2.5b
  • Microsoft FoxPro for Windows 2.6
  • Microsoft FoxPro for MS-DOS 2.5b
  • Microsoft FoxPro for MS-DOS 2.6
  • Microsoft FoxPro for Macintosh 2.5b

This article was previously published under Q114670

SUMMARY

When you are passing variables to a SELECT - SQL command, you may have to call the command and programmatically pass criteria to it rather than coding such criteria directly. In many such instances, you may not want to use macro substitution.

The programs below show how to pass variables to a SELECT - SQL command without using macro substitution.

MORE INFORMATION

The programs below are provided as an example of calling a FoxPro SELECT - SQL command with the selection criteria contained in variables. They employ name expressions and the EVALUATE function instead of macro substitution.

FoxPro 2.x Example

*This program uses the Customer table from the Tutorial.
SET TALK OFF     && stop echo to screen
x="State"
y="FL"
SELECT * ;
   FROM customer;
   HAVING EVALUATE(x) = (y) ;
   INTO CURSOR crsrFlorida
BROWSE
				

Visual FoxPro Example

*!* This sample uses the Customer table in:
*!* VFP 3/5 -- HOME() + "Samples\Data"
*!* VFP 6 -- HOME(2) + "Data"

SET TALK OFF     && stop echo to screen
x="Country"
y="UK"

SELECT * ;
   FROM CUSTOMER;
   HAVING EVALUATE(x)=(y);
   INTO CURSOR crsrUK
BROWSE
				
The output will contain records where the contents of the field whose name is contained in variable x are equal to the contents of variable y.

Modification Type:MinorLast Reviewed:2/22/2005
Keywords:kbhowto KB114670