在SELECT Sql语句中使用VBA变量

时间:2014-09-04 12:38:14

标签: sql vba

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

注意:我使用的是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上的引用字段。

2 个答案:

答案 0 :(得分:3)

是的,将SQL语句构建为如下字符串:

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

当代码运行并构建字符串时,VBA应填写MyTable和MyVar的名称。

答案 1 :(得分:1)

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

通过如上所述编写工作(当字符串通过函数传递时不需要等号)。感谢您的见解@rcfmonarch