Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для высших учебных заведений (6-е изд.) - 2009 (1084484), страница 64
Текст из файла (страница 64)
Понимание того, когда и в какой последовательности возникают события, существенно, поскольку порядок событий определяет условия и очередность выполнения макросов и процедур обработки событий.Название свойства, как правило, происходит от имени события или дажесовпадает с ним. Так, форма или отчет имеют свойство О т к р ы т и е ( О п О р е п ) ,позволяющее задать макрос или процедуру обработки события при возникновении события Открытие (Open).
Имя макроса или процедуры обработкисобытия является значением свойства.Для изменения процедуры обработки события нужно выполнить следующее:1. В режиме Конструктора формы/отчета открыть окно свойств объектаи л и его э л е м е н т а и в ы б р а т ь в к л а д к у События (Events).2. Выбрать свойство события, в ответ на которое должна выполняться процедура, и нажать кнопку Построителя рядом с ячейкой свойства.
Откроется окно диалога П о с т р о и т е л ь ( B u i l d e r ) .Часть 3. Современные СУБД и их применение3063. В ы б р а т ь д в о й н ы м щ е л ч к о м к н о п к и м ы ш и э л е м е н т П р о г р а м м ы( P r o g r a m s ) . В окне модуля откроется процедура (если пользователь несоздавал ее ранее — заготовка процедуры, содержащая инструкции Subи End Sub).4. Ввести текст программы, которая должна выполняться в ответ на событие.СозданиемодулейД л я автоматизации выполнения некоторых действий в простейших приложениях используют макросы.
В некоторых случаях обойтись макросамине удается и приходится прибегать к написанию VBA-программ. К примеру,использование программирования может помочь в решение следующих задач:• обработка ошибок в приложении;• создание собственной функции обработки, например, округления значения;• получение прямого доступа к функциям Windows API;• создание приложения с высокой производительностью (программы компилируются и выполняются быстрее, чем макросы);• создание новых объектов Б Д во время работы приложения.VBA-программы хранятся в модулях БД, которые бывают двух видов:• стандартные — создаются пользователем и видны во вкладке Б Д М о д у ли (Modules);• модули форм/отчетов — создаются автоматически и являются частьюэтих объектов (форм/отчетов).П р о г р а м м ы на я з ы к е VBA составляются в виде процедур двух типов:ф у н к ц и й ( о п и с а т е л ь F u n c t i o n ) и подпрограмм (описатель Sub). Процедура может иметь параметры, через которые ей передаются значения.
Основное отличие ф у н к ц и и от подпрограммы состоит в том, что первая может вточку вызова вернуть единственное значение, вторая — значений, не возвращает. Кроме того, ф у н к ц и ю можно вызывать из различных мест, в томчисле из макросов и выражений, используемых в запросах, таблицах (ву с л о в и я х на значение (Validation R u l e ) ) и л и формах. Подпрограмму можно вызвать из ф у н к ц и и или как процедуру обработки события в форме и л иотчете.Стандартные модули используются для создания и хранения процедур,вызываемых из различных объектов БД.
Модули форм/отчетов предназначены для создания и хранения процедур, используемых в форме/отчете. Вкаждом модуле формы/отчета в Б Д содержатся заготовки процедур обработки событий, которые вызываются в ответ на события, возникающие в форме10. СУБД Access 2002307или отчете. Пользователь может создавать собственные процедуры обработки событий, добавляя тексты VBA-программ в эти заготовки.Для создания стандартного модуля требуется в окне открытой базы данн ы х (рис. 10.5) в ы б р а т ь в к л а д к у Модули (Modules) и н а ж а т ь к н о п к у Создать( N e w ) . Начать создание модуля можно также, задав в пункте В с т а в к а ( I n s e r t )главного меню Access команду М о д у л ь ( M o d u l e ) .Для редактирования модуля формы/отчета в окне открытой БД нужновыделить мышью соответствующий объект или перевести его в режим Конструктора.
Затем в меню В и д ( V i e w ) выбрать пункт П р о г р а м м а ( C o d e ) илинажать кнопкупанели инструментов. Ввод и редактирование текстов программ стандартного модуля или модуля формы/отчета производится в окнемодуля (рис. 10.18).Рис. 10.18. Окно модуляВ верхней части окна модуля находятся следующие два раскрывающихсясписка: список объектов (слева) и список процедур (справа).1. Список объектов.
При редактировании модуля формы/отчета в этом списке можно выбрать форму/отчет (целиком), необходимый раздел или элемент управления, способный генерировать событие. Для выбора разделаописания имеется элемент [ О б щ а я о б л а с т ь ] ( [ G e n e r a l ] ) . Стандартный модуль в списке О б ъ е к т содержит только элемент [ О б щ а я о б л а с т ь ] .2. Список процедур — есть список процедур выбранного объекта из первого списка, которые можно редактировать. Выбранная в этом списке процедура выводится в текстовой области окна модуля.
На рис. 10.19 приведена процедура f u n l подачи звукового сигнала.Сохранить введенные тексты программ можно командой С о х р а н и т ь ( S a v e )пункта меню Ф а й л ( F i l e ) , с помощью кнопки сохранения панели инструментовили закрытием окна модуля с последующим подтверждением о сохранении.Часть 3.
Современные СУБД и их применение308Созданные и находящиеся в файле базы данных VBA-программы при первом обращении к ним автоматически компилируются Access, после чего вызываются на выполнение. Д л я ускорения работы приложения VBA-программы можно заранее откомпилировать и сохранить в базе данных вместе сисходными текстами. Д л я этого нужно открыть любой модуль в Б Д и выполнить команду О т л а д к а | К о м п и л и р о в а т ь ( D e b u g | C o m p i l e ) . После этого, находясь в окне модуля (рис. 10.19), нужно сохранить результат компил я ц и и с п о м о щ ь ю команды Ф а й л | С о х р а н и т ь ( F i l e | S a v e ) . П л а т о й заускорение вызова VBA-программ Б Д я в л я е т с я увеличение размера mdbф а й л а базы данных.1 0 . 5 .
Работа с г и п е р с с ы л к а м иВ числе возможных типов полей таблиц Access 2002 имеется сравнительно недавно появившийся, но в то же время весьма полезный тип данных —Г и п е р с с ы л к а ( H y p e r l i n k ) . О н позволяет хранить в поле простые или сложные ссылки на файлы, документы и другие объекты, находящиеся как в базеданных, так и вне нее.ХарактеристикагиперссылкиГиперссылки могут содержать URL-адрес в сети Internet или intranet илисетевой маршрут в формате U N C к файлу на сервере локальной сети или надиске локального компьютера. Ссылка может указывать на файл в форматеH T M L или в формате, поддерживаемом приложением O L E или ActiveX, установленном на компьютере.Поле гиперссылки по структуре хранимой информации является текстовым иможет содержать до 2048 символов.
Текст гиперссылки можно считать ее значением. Оно включает в себя до трех частей: описание (необязательное), основной адрес гиперссылки и дополнительный адрес (необязательный). Составные частиотделяются друг от друга символом числа (#).
Описание представляет собой текст,отображаемый в поле или элементе управления, кроме режима редактированиягиперссылки. Адрес гиперссылки — это URL- или UNC-адрес (например: h t t p : / /home.netsca])e.com/comprod/index.html или \\Serv\Market\Reclama.doc). Дополнительный адрес задает именованный объект внутри файла (например, диапазонячеек в рабочем листе Excel или закладка в документе Word).По технике работы поле гиперссылки аналогично полю О б ъ е к т O L E ( O L EO b j e c t ) . В операциях создания и редактирования оно имеет сходство с обычным текстовым полем. Поля гиперссылок, как и другие поля, создаются в таблицах, а затем размещаются в других объектах базы данных: формах, запросах и отчетах. Чтобы увидеть поле гиперссылки в режиме просмотра таблицы,откроем таблицу Поставщики учебной базы «Борей» и сделаем видимой ко-10.
СУБД Access 2002309л о н к у О с н о в н а я с т р а н и ц а ( р и с . 10.19). В э т о й к о л о н к египерссылкиТ— текст с подчеркиванием.НП о с т а в щ и к иОбластьL AMlAsturiasVictoriaOR:т а б л и ц аИндекс |7011748104100330075453058M14 GSDS-345 675442101785604392747848100132097101| Запись: к 1 J.I41* СтранаТелефонСШАСШАЯпонияИспанияЯпонияАвстралияВеликобританияШвецияБразилияРоссияГерманияГерманияИталияНорвегияСША(100) 555-4822(313) 555-5735(03) 3555-5011(98) 598 76 54(06)431-7877(03) 444-2343(161)555-4448031-987 65 43(11)555 4640(095) 998-4510(069) 992755(04721)8713(0544)60323(0)2-953010(503) 555-9931• 1 и 1**1 из-29ПД1АР."ФаксимеютсяигапОсновная страница АCajun.htm(313) 555-3349Mavumi (на Web)(03) 444-6588031-987 65 91Plutzer (на Web)(04721)8714(0544) 60603Formaggi.htmС7J, .....i,...
Zi± ЛРис. 10.19. Гиперссылки в таблицеНекоторые HTML-доку менты, на которые имеются ссылки из поля гиперссылки таблицы Поставщики, размещаются в той же папке, что и база данных «Борей». Еще один пример использования гиперссылки в этой базе данных — кнопка Просмотр списка товаров в форме Товары.Замечание.В случае, если у вас установлена учебная база данных Northwind.mdb, восвоении приемов работы с гиперссылками вам поможет таблица Suppliers(поле Home Page).Основные операции по работе с гиперссылками можно выполнить, используя контекстное меню поля гиперссылки.
Для этого надо установить указатель мыши на поле гиперссылки, вызвать контекстное меню и выполнитькоманду Г и п е р с с ы л к а ( H y p e r l i n k ) . В число команд входят команды, позволяющие открыть ссылочный документ, копировать гиперссылку в буфер обмена, добавить гиперссылку в папку И з б р а н н о е ( F a v o r i t e s ) , изменить гиперссылку или ее описание.Создается поле гиперссылки при описании или изменении структуры таблицы БД. Для этого типа поля требуется в области указания типа поля ввести или выбрать из списка слово Г и п е р с с ы л к а ( H y p e r l i n k ) . Рассмотрим, какактивизировать, вставить и редактировать значение поля гиперссылки.Часть 3.