如何在ms访问中编写将运行sql的宏

时间:2019-03-29 07:14:43

标签: vba ms-access access-vba

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

1 个答案:

答案 0 :(得分: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

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