在 sql ms-Access-2010 中使用模块

to use module in sql ms-Access-2010

我在我的模块中定义了一个过程,返回数据库的路径,我想在我的 sql 查询中使用该路径。

模块中的过程:

Public Function pathOfBillingSoftware() As String

    pathOfBillingSoftware = """path"""

End Function

我在 sql 查询中使用上面的函数:

SELECT *
FROM tableName IN  pathOfBillingSoftware();

给我的错误是:"error in from clause"

但是当我在 vba 代码中使用它时,它工作正常

a = pathOfBillingSoftware()

  sql = "INSERT INTO tableName  " & _
     "IN " & a & _
    " SELECT * FROM tableName"

    currentdb.Execute sql

有什么解决办法吗?

这是动态的 SQL。您似乎已经找到了解决方案:使用 VBA 代码。您只能将函数用于 return 静态 SQL 中的值。

如果你想要return运算符或其他非标准值的东西,你需要使用动态SQL,因此需要使用VBA.

如果需要,您可以通过 VBA 创建查询,但请注意,一旦创建,它们就是静态的。

使用您的函数创建查询的示例代码

CurrentDb.CreateQueryDef "MyQuery", "SELECT * FROM tableName IN " & pathOfBillingSoftware();