Работа в Microsoft Access XP


         

Использование VBA для ввода данных в форму


Как вы уже, наверное, поняли, почти все в Access является объектом. Одной из особенностей объектов является их способность распознавать события, представляющие собой некие действия, и реагировать на них. Практически все объекты распознают щелчки, двойные щелчки и перемещение мыши. Помимо этого, большинство объектов распознают и другие события. Так, например, элемент управления поле распознает 17 событий, а форма - более 50.

Совет. Список событий, распознаваемых объектом, отображается на вкладке Событие (Event) диалогового окна Свойства (Properties).

При работе с формой объекты практически постоянно сигнализируют события. Часть событий Access обрабатывает, но большинство игнорирует. Для событий, которые Access распознает, но не обрабатывает, можно указать действие, которое следует выполнить после наступления данного события (например, запустить макрос, решающий определенную задачу).

Все это звучит довольно сложно. К тому же события не относятся к числу понятий, о которых задумывается обычный пользователь. Тем не менее стоит уделить им внимание, если вас интересует, что происходит при вводе данных и как добиться большей эффективности объектов формы.

В базе данных GardenCo код клиента состоит из трех первых букв фамилии и двух первых букв имени, причем все буквы заглавные. Подобная методика позволяет создать уникальный код клиента. При попытке ввести код, который уже используется, Access заблокирует поле, и вам придется изменить код (например, добавить цифру), чтобы обеспечить его уникальность. Компьютер легко справляется с такими задачами, как объединение частей двух слов и преобразование букв в прописные. Поэтому, вместо того чтобы вводить код клиента вручную для каждой новой записи, предоставьте эту функцию VBA-программе.

GardenCo, AftUpdate

В этом упражнении вы напишете небольшую VBA-программу и свяжете ее с событием После обновления (After Update) в поле Фамилия формы Клиенты. Если изменить содержимое поля и попытаться перейти к другому элементу формы, генерируется событие Перед обновлением (Before Update). Access реагирует на это событие, обновляя запись в исходной таблице, после чего генерируется событие После обновления (After Update), обработкой которого вы и займетесь. Это упражнение не является глубоким погружением в Visual Basic, но дает представление о его возможностях. В качестве рабочей папки будет использоваться Office XP SBS\Access\Chap11\Events. Выполните следующие шаги.

  1. Откройте базу данных GardenCo, расположенную в рабочей папке.
  2. На панели объектов выделите Формы (Forms), в списке форм щелкните на Клиенты, а затем щелкните на кнопке Конструктор (Design)
    .
  3. Щелкните на поле Фамилия, чтобы выделить его, и откройте диалоговое окно Свойства (Properties), нажав на клавишу (F4).
  4. Щелкните на вкладке Событие (Event), чтобы отoбразить следующий список.



Содержание  Назад  Вперед