Доступ дает вам возможность вызывать запросы из подпрограммы VBA, которая, очевидно, может быть прокомментирована к вашему сердцу:
' Ensure that the AddressCurrent in tblAddresses only has one item marked.
' Assume the latest.
strSQL = _
"UPDATE tblAddresses " & _
"SET AddressCurrent = 0 " & _
"WHERE AddressCurrent = True "
' A comment can go in the middle if need be!
strSQL = strSQL & _
"AND AddressNumber NOT IN " & _
"(SELECT MAX (AddressNumber) " & _
"FROM tblAddresses " & _
"WHERE AddressCurrent = True);"
DoCmd.SetWarnings False
DoCmd.RunSQL strSQL
DoCmd.SetWarnings True
Хотя запуск макроса, использующего DoCmd, может показаться немного утомительным, он компенсирует другие преимущества; Я привел несколько примеров ниже.
- Возможность динамических скриптов
- Возможность связать выполнение SQL с кнопками формы и другими элементами управления
- Заблокированный пробел, облегчающий чтение запросов