【问题标题】:how to write a macro in ms access that will run sql如何在 ms 访问中编写一个将运行 sql 的宏
【发布时间】:2019-03-29 22:27:52
【问题描述】:

如何在 MS Access 中编写一个宏来自动运行多个 SQL 查询并同时保存它们?如果我选择 OpenQuery 操作,那么它需要一个已保存的查询,但我想使用宏在多个表上运行查询,有没有办法做到这一点!

【问题讨论】:

  • 不能使用宏。 VBA 和 QueryDef 可能会得到你想要的,但并不完全清楚那是什么。

标签: ms-access vba


【解决方案1】:

使用一个简单的函数来创建查询。然后你只需要运行它。如果您不提供名称,则不会存储查询(临时)。

创建查询:

Private Function CreateQueryDefinition(ByVal qryName As String, ByVal sqlCommand As String) As DAO.QueryDef
    Set CreateQueryDefinition = CurrentDb().CreateQueryDef(qryName, sqlCommand)
End Function

称呼它:

Private Sub Form_Load()

    Dim q As DAO.QueryDef
    Set q = CreateQueryDefinition("QueryName", "UPDATE Table SET Table.Field = 'Whatever';")
        q.Execute dbFailOnError

End Sub

请注意,如果您尝试创建已存在的查询,则会引发错误。

【讨论】:

    猜你喜欢
    • 2016-08-03
    • 2013-12-29
    • 1970-01-01
    • 2020-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多