Сохранение запроса через код Access VBA - PullRequest
1 голос
/ 13 марта 2011

Мне нужно «физически» создать запрос SQL с помощью кода VBA.Я знаю, как выполнить запрос в VBA, но мне нужно сохранить его в меню.Если бы я мог, я бы опубликовал фотографию.Я постараюсь, чтобы вы представили.

На главном экране MS Access слева есть полоса.

Просто чтобы прояснить, "Consulta" - это Query по-португальски.

Если вы меня не поняли, прошу прощения за отсутствие объяснений.Я буду рад объяснить еще раз.

1 Ответ

7 голосов
/ 13 марта 2011

Я думаю, что вы хотите:

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"
...