2014-09-04 60 views
0

他们是如何在SELECT Sql语句中使用声明的VBA变量的方式如下(我有一个名为myTable的表,我想通过传递声明字符串myVar来设置引用字段) : 如passVar(“英语”)在SELECT Sql语句中使用VBA变量

注:我使用Microsoft Access

Private Function passVar(myVar as string) 

Dim db As Database 
Dim qdf As DAO.QueryDef 
Dim stmnt As String 

Set db = CurrentDb() 
Set qdf = db.QueryDefs("SelectSubjectQuery") 

stmnt = "SELECT [myTable].[myVar] = " &Chr$(34) & myVar & Chr$(34) & _ 

     //other SQL statements go here 

qdf.SQL = stmnt 

End Function 

每次我运行出现一个对话框询问的mytable.myvar的价值,而不是通过myvar即Eglish作为查询参考字段myTable

回答

3

是,生成SQL语句像这样的字符串:然后

stmnt = "SELECT " & [myTable] & "." & [myVar] & " = " &Chr$(34) & myVar & Chr$(34) & _ 

VBA应在MyTable的和MyVar的名字填在运行代码和字符串建立。

+0

是的,我已经完成了上述工作,但出现一个对话框,要求我输入mytable.English的参数值;请帮助 – 2014-09-04 12:53:31

1
stmnt = "SELECT [myTable]." & myVar & _ 

通过上面的写法得到它(通过函数传递字符串时不需要等号)。感谢您的洞察力@rcfmonarch