我在我的模块中定义了一个过程,返回数据库的路径,我想在我的sql查询中使用该路径。
模块中的程序:
Public Function pathOfBillingSoftware() As String
pathOfBillingSoftware = """path"""
End Function
我在sql查询中使用上面的函数:
SELECT *
FROM tableName IN pathOfBillingSoftware();
它给了我错误:"来自"中的错误
但是当我在vba代码中使用它时,它工作正常
a = pathOfBillingSoftware()
sql = "INSERT INTO tableName " & _
"IN " & a & _
" SELECT * FROM tableName"
currentdb.Execute sql
任何解决方案?
答案 0 :(得分:2)
这是动态SQL。您似乎已经找到了解决方案:使用VBA代码。您只能使用函数在静态SQL中返回值。
如果要返回运算符或其他不是标准值的东西,则需要使用动态SQL,因此需要使用VBA。
如果需要,您可以通过VBA创建查询,但请注意,一旦创建它们,它们就是静态的。
使用您的函数创建查询的示例代码
CurrentDb.CreateQueryDef "MyQuery", "SELECT * FROM tableName IN " & pathOfBillingSoftware();