我需要通过VBA代码“物理地”创建SQL查询。 我知道如何在VBA中执行查询,但我需要将其保存在菜单中。如果可以,我会张贴一张照片。我会试着让你想象。
在MS Access的主屏幕中,左侧有一个栏。
为了说清楚,“Consulta”是葡萄牙语查询。
如果你不理解我,请原谅我缺乏解释。我很乐意再次解释。
答案 0 :(得分:7)
我想你想要:
If Not IsNull(DLookup("Type", "MSYSObjects", "Name='MyNewQuery'")) Then
MsgBox "An object already exists with this name"
Else
CurrentDb.CreateQueryDef "MyNewQuery", "SELECT * FROM Table1"
End If
编辑重新评论
Sub UpdateQuery(QueryName, SQL)
''Using a query name and sql string, if the query does not exist, ...
If IsNull(DLookup("Name", "MsysObjects", "Name='" & QueryName & "'")) Then
''create it, ...
CurrentDb.CreateQueryDef QueryName, SQL
Else
''Other wise, update the sql.
CurrentDb.QueryDefs(QueryName).SQL = SQL
End If
End Sub
请注意,删除不存在的查询会导致错误。
DoCmd.DeleteObject acQuery, "NewQuery"