Как написать макрос в MS Access, который будет запускать SQL - PullRequest
0 голосов
/ 29 марта 2019

Как я могу написать макрос в MS Access, который будет автоматически выполнять несколько запросов SQL, а также сохранять их одновременно?Если я выбираю действие OpenQuery, то ему нужен запрос, который уже сохранен, но я хочу выполнять запросы к нескольким таблицам с использованием макросов, есть ли способ сделать это!

1 Ответ

1 голос
/ 29 марта 2019

Используйте простую функцию для создания запроса. Тогда вам нужно только запустить его. Если вы не укажете имя, запрос не будет сохранен (временно).

Создать запрос:

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

Обратите внимание, что при попытке создать уже существующий запрос будет выдана ошибка.

...