通常,您可以执行所需的操作-使用函数提供参数字符串。
Public Function GetName() As String
GetName = "foo"
End Function
SELECT * FROM bar WHERE floo = GetName()
但是在某些情况下,您不能使用变量。这两个IN
子句都在其中。
这些将不起作用:
GetInList = "'x', 'y', 'z'"
SELECT * FROM bar WHERE floo IN (GetInList())
并且您的用例也不可能:
GetDbPath = "C:\path\myDb.accdb"
SELECT * FROM bar IN GetDbPath()
您将必须动态构建整个sql:
Db.QueryDefs("myQuery").sql = "SELECT * FROM TableName IN '" & GetBackEnd() & "'"