General information
Category:
Coding, syntax & commands
>>Hi all...
>>
>>Is it possible to use a variable in place of a field name in a select statement?
>>
>>My form will have a combo box from which the user can select a number of different options each of which refers to a different field in the same table. The user then can enter text in a text box which represent what they want to find in that field.
>>
>>So, when they click a button (like "Find"), the following is executed:
>>
>>VarFieldName = thisform.cmbField.value
>>VarFieldText = thisform.txtField.value
>>select * from table_name where table_name.VarFieldName = VarFieldText
>>
>>I get the following error:
>>SQL: Column 'VARFIELDNAME' is not found.
>>
>>It would appear that VFP is not substituting my variable name for the field with the "real" field name.
>>(Gosh, I amaze myself sometimes! <g>)
>>
>>Any suggestions? ( I mean, other than creating a series of if/endif for every possible value in the combo box.)
>>
>>tia,
>>
>>marc mandel
>
>This is the normal behavior. Use a macrosubstitution:
>
>select * from table_name where table_name.&VarFieldName = VarFieldText
You may also use something like this:
cSQLCommand = 'SELECT * FROM table_name WHERE ' + VarFieldName + '="' + thisform.cmbField.value + '"'
then use &cSQLCommand to run the query.
Previous
Reply
View the map of this thread
View the map of this thread starting from this message only
View all messages of this thread
View all messages of this thread starting from this message only