– запрос на обновление – изменяет данные в существующих таблицах на основании информации в окне конструктора.
3. Запросы могут создаваться как с помощью конструктора запросов, так и посредством мастера запросов. На наш взгляд, конструктор удобнее: во-первых, его операции оформляются более наглядно, во-вторых, из конструктора легко переходить к инструкциям в форме SQL и наоборот. Тем не менее в этой главе были показаны и примеры построения запроса с использованием мастера запросов.
4. Возможна и третья форма представления запроса – инструкции SQL. Между запросом, сформированным посредством конструктора, и инструкцией SQL существует жесткая и однозначная связь.
5. В этой главе были подробно рассмотрены конкретные примеры формирования запросов различных типов:
– запросы с использованием групповых операций;
– запросы с дополнительными условиями;
– запросы с параметрами;
– запросы на создание таблицы;
– запросы на добавление записей в таблицу;
– запросы на удаление записей;
– запросы на обновление записей;
– перекрестные запросы;
– сложные запросы, формируемые на основе перечисленных.
Поскольку в большинстве СУБД использование языка SQL фактически является правилом, наличие общепринятого языка позволяет стандартизировать работу приложений с источниками данных – различными СУБД. В Windows такую возможность обеспечивает Open Data Base Connectivity (ODBC) – стандартный набор функций, помогающих обрабатывать информацию на серверах баз данных SQL. Именно ODBC обеспечивает различным программам доступ к одному и тому же источнику сведений, например СУБД, не требуя инсталляции этой СУБД. Так, в частности, возможны доступ и работа с данными, сформированными в Access, без инсталляции программы. В этой главе показан пример реализации такой возможности.
Access 2002 предусматривает возможность использования дополнительного режима запроса с использованием SQL – режима ANSI SQL-92. Он предназначен для реализации определенных, достаточно специфических функций. При этом данный режим требует осторожного и аккуратного обращения – он несовместим, в частности, с режимом запроса ANSI SQL-89, использовавшимся в прежних версиях (он применим и в Access 2002), а в некоторых случаях приводит к существенно отличающимся результатам.
Глава 12 Программирование с помощью процедур VBA
Как уже говорилось, VBA – это объектно-ориентированный язык программирования. В свое время он был разработан специально для записи макросов в Microsoft Excel 5.0. Затем он начал использоваться и другими приложениями Microsoft Office, в частности Access. Сейчас VBA стал стандартным языком макропрограммирования, что очень полезно, так как облегчает взаимодействие различных приложений. VBA позволяет записать не только последовательные действия, выполняемые пользователем, но и все необходимые для языка программирования высокого уровня элементы, включая разнообразные средства организации ветвлений, циклов и ведения диалога с пользователем. Кроме того, VBA – это язык, управляемый событиями, поэтому с его помощью можно установить требуемую реакцию объекта на определенное событие.
Основные положения VBA
Начнем эту главу с краткого обзора основных положений VBA.
Базовые термины
Вначале рассмотрим наиболее важные термины VBA (см. табл. 12.1).
Таблица 12.1
Объектно-ориентированный язык VBA базируется на трех основных компонентах: объектах, событиях и методах.
Объекты, как уже неоднократно говорилось, представляют собой элементы, входящие в состав приложений: таблицы, формы и их элементы управления, отчеты, запросы и т. д. События подробно рассматривались в предыдущей главе.
Последним компонентом являются методы. Для каждого объекта определен набор методов, которые могут быть к нему применены. Метод представляет собой действие, например Перейти на запись, Применить фильтр, Открыть форму. Такие действия указываются в установках свойств события объекта. Если пользователь не определил свойство события для объекта (не связал его с каким-либо действием), то объект отвечает на событие действием, заданным для его типа по умолчанию. Например, если текстовое окно получает фокус и не определено свойство события Получение фокуса, то встроенный метод может изменить цвет этого окна. Если вы установили свойство события объекта для макроса или процедуры обработки события, то Access сначала обрабатывает встроенный режим, а затем выполняет заданный вами макрос или процедуру. Например, вы щелкаете по командной кнопке, которая активизирует вторую страницу формы. Отображается щелчок по кнопке – кнопка на экране на мгновение «утапливается» (поведение по умолчанию), затем выполняется переход к следующей странице формы.
Окно модуля