Использование SetOption для отключения предупреждающих сообщений в приложении Access
Средний. Требуются базовые навыки макроса, программирования и взаимодействия.
Эта статья относится только к базе данных Microsoft Access (.mdb или .accdb).
Аннотация
В этой статье показано, как с помощью метода Application.SetOption отключить предупреждающие сообщения в приложении Access.
Дополнительная информация
Корпорация Майкрософт предоставляет примеры программирования только в целях демонстрации без явной или подразумеваемой гарантии. Данное положение включает, но не ограничивается этим, подразумеваемые гарантии товарной пригодности или соответствия отдельной задаче. Эта статья предполагает, что пользователь знаком с представленным языком программирования и средствами, используемыми для создания и отладки процедур. Инженеры службы поддержки Майкрософт могут помочь объяснить функциональность конкретной процедуры, но они не будут изменять эти примеры, чтобы предоставить дополнительные функциональные возможности или создать процедуры в соответствии с вашими конкретными требованиями. Запросы на действия и другие процессы, которые добавляют, удаляют или изменяют данные, обычно представляют пользователю предупреждение о том, что данные будут изменены. Однако в приложении во время выполнения часто желательно отключить предупреждения, так как проверки и меры предосторожности обычно выходят за рамки контроля пользователя.
Это можно сделать с помощью метода SetWarnings объекта DoCmd, но вы можете отключить предупреждения для всего приложения. Для этого можно использовать метод SetOption объекта Application. Однако в этом случае вы также должны снова включить предупреждения по мере выхода приложения.
Чтобы сделать это в простом однообразном приложении, выполните следующие действия.
Запустите Access и создайте пустую базу данных с именем TestRun.
Импортируйте таблицу Customers из примера базы данных Northwind.mdb.
Создайте новую форму в режиме конструктора, а затем добавьте поле со списком без ограничений в раздел сведений.
Задайте следующие свойства для поля со списком:
Name: cboCountry Row Source: SELECT DISTINCT Customers.Country FROM Customers ORDER BY Customers.Country;
Добавьте кнопку команды в раздел сведений формы и назовите ее cmdDelete.
Задайте для свойства OnClick кнопки команды следующую процедуру события:
DoCmd.OpenQuery "qryDeleteCustomers"
Закройте редактор Visual Basic.
Сохраните форму как DeleteCustomers и закройте ее.
Создайте запрос в режиме конструктора, а затем добавьте таблицу Customers.
В Access 2002 или Access 2003 щелкните Удалить запрос в меню Запрос .
В Access 2007 нажмите кнопку Удалить в группе Тип запроса на вкладке Конструктор .
Перетащите звездочку (*) из списка полей в первый столбец сетки конструктора запроса, а затем перетащите поле Страна во второй столбец.
В строке Условия столбца Страна введите следующее:
Формы! [DeleteCustomers]! [cboCountry]
Сохраните запрос как qryDeleteCustomers и закройте его.
Откройте форму DeleteCustomers в представлении формы.
Выберите страну в поле со списком, нажмите кнопку команды и обратите внимание на появиющееся предупреждение. В диалоговом окне предупреждения нажмите кнопку Нет.
Откройте форму в режиме конструктора, а затем на панели инструментов нажмите кнопку Код.
В окне Код введите или вставьте следующие процедуры:
Private Sub Form_Load()
Application.SetOption "Confirm Action Queries", 0
Application.SetOption "Confirm Document Deletions", 0
Application.SetOption "Confirm Record Changes", 0
End Sub
Private Sub Form_Unload(Cancel As Integer)
Application.SetOption "Confirm Action Queries", 1
Application.SetOption "Confirm Document Deletions", 1
Application.SetOption "Confirm Record Changes", 1
End Sub
Закройте Редактор Visual Basic, а затем сохраните и закройте форму.
Откройте форму DeleteCustomers, выберите страну и нажмите кнопку команды.
Обратите внимание , что диалоговое окно предупреждения не отображается.
В этом примере параметры подтверждения приложения отключаются при загрузке формы DeleteCustomers и повторно включаются при ее выгрузке. В более сложном приложении вы можете выполнять те же действия в форме запуска или в переключении.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по