繁体   English   中英

在 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();

它给了我错误:“来自子句的错误”

但是当我在 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM