[英]to use module in sql ms-Access-2010
我在我的模块中定义了一个过程,返回数据库的路径,我想在我的 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
任何解决方案?
这是动态 SQL。 您似乎已经找到了解决方案:使用 VBA 代码。 您只能使用函数在静态 SQL 中返回值。
如果要返回运算符或其他非标准值的内容,则需要使用动态 SQL,因此需要使用 VBA。
如果需要,您可以通过 VBA 创建查询,但请注意,一旦创建它们,它们就是静态的。
使用您的函数创建查询的示例代码
CurrentDb.CreateQueryDef "MyQuery", "SELECT * FROM tableName IN " & pathOfBillingSoftware();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.