Определение связей между таблицами

Связь между таблицами определяется путем добавления связываемых таблиц в окно «Схема данных» с последующим перетаскиванием ключевого поля из одной таблицы в другую. Также можно определять связи с помощью клавиатуры. Создавать или изменять связи между открытыми таблицами нельзя. Для определения связей между таблицами закройте все открытые таблицы.

Создание связей между таблицами. Установление связей между таблицами рассмотрим на конкретном примере — базе данных Library (библиотека), состоящей из двух таблиц: Книги и Читатели, которые имеют следующую структуру (табл. 3).

Таблица 2.3 Установление связей между таблицами

Имя поля Тип данных Размер поля, формат Примечание
Таблица Книги      
Инвентарный номер Числовой Длинное целое Ключевое поле
Автор Текстовый 30 символов  
Название Текстовый 50 символов  
Год издания Числовой Целое число  
Цена Числовой Одинарное с плавающей точкой  
Таблица Читатели      
№ личного дела Текстовый 10 символов Ключевое поле
Фамилия Текстовый 30 символов  
Имя Текстовый 20 символов  
Адрес Текстовый 50 символов  
Телефон Текстовый 1 2 символов  
Класс Текстовый 3 символа  
Книга Числовой Длинное целое  

Создайте таблицы Книги и Читатели указанной структуры и задайте ключевые поля. Для установления связи между таблицами Книги и Читатели выберите команду Схема данныхв меню Сервис. После этого раскроется пустое окно Схема данных, а в главном меню MS Access появится новый пункт меню Связи. Выбрав в меню Связи команду Добавить таблицу, в диалоговом окне Добавление таблицы выберите вкладку Таблицы. Выбирая из списка всех таблиц открытой базы данных Library и щелкая кнопку «Добавить», добавьте в окно схемы данных таблицы Книги и Читатели. Закройте окно Добавление таблицы, щелкнув кнопку «Закрыть».

Примечание. Удерживая прижатой клавишу Ctrl, вы можете выделить (и добавить) сразу несколько таблиц. Чтобы связать таблицу саму с собой, добавьте ее дважды. Это полезно, когда нужно создать поле подстановки, использующее значения этой же таблицы. Например, в таблице Сотрудники учебной базы данных Борей определена связь между полями КодСотрудника и Подчиняется, поэтому поле Подчиняется может отображать данные о сотруднике, имеющем соответствующее значение в поле КодСотрудника. После этого в окне Схема данных будут представлены две выбранных нами таблицы, между которыми устанавливается связь.

Для установления связи между двумя таблицами можно методом «Drag-and-Drop» переместить имя поля с первичным ключом главной таблицы (Инвентарный номер) на поле Книга подчиненной таблицы. Как только вы отпустите левую кнопку мыши, на экране появится диалоговое окно Изменение связей. Для включения механизма поддержки целостности данных в связываемых таблицах установите флажок Обеспечение целостности данных, как показано на рис. 32.

После активизации флажка Обеспечение целостности данных становятся доступными два флажка каскадных операций. Включите переключатели каскадной модификации — обновления и удаления связанных записей.

Рис. 32. Определение параметров связи между таблицами

В группе Тип отношений выберите один-ко-многим и завершите создание связи, щелкнув кнопку «Создать». После этого в окне «Схема данных» появится графическое изображение установленной связи. Пометки у концов линии связи 1- ¥ означают, что одна запись таблицы Книги может иметь сколько угодно связанных записей в таблице Читатели. Закройте окно связи, сохранив изменения макета Схема данных.

Примечания.

1. Если необходимо просмотреть все связи, определенные в базе данных, нажмите кнопку «Отобразить все связи на панели инструментов». Для просмотра связей только для определенной таблицы выберите таблицу, а затем на панели инструментов нажмите кнопку «Отобразить прямые связи». Если нужно изменить структуру таблицы, щелкните таблицу правой кнопкой и выберите команду «Конструктор таблиц». Для того чтобы просмотреть связи, определенные для конкретной таблицы, выберите эту таблицу, а затем нажмите кнопку «Отобразить прямые связи на панели инструментов».

2. Если в окне схемы данных уже отображены все таблицы, связанные с выбранной таблицей, то нажатие кнопки «Отобразить прямые связи» не даст никаких результатов, поскольку при нажатии этой кнопки на экран только добавляются таблицы, связанные с текущей таблицей. Если требуется просмотреть прямую связь только с одной таблицей, нажмите кнопку «Очистить макет» на панели инструментов, чтобы удалить все таблицы из окна схемы данных (при этом таблицы и связи физически не удаляются, а только убираются из окна схемы данных). Затем снова добавьте нужную таблицу в окно схемы данных и нажмите кнопку «Отобразить прямые связи». Для добавления таблицы нажмите кнопку «Отобразить таблицу на панели инструментов», дважды щелкните нужную таблицу, а затем нажмите кнопку «Закрыть».

Изменение или удаление существующих связей. Изменять связи между открытыми таблицами нельзя. Закройте все открытые таблицы. Переключитесь в окно базы данных и нажмите кнопку «Схема данных на панели инструментов». Если таблиц, связи которых нужно изменить, нет на экране, нажмите кнопку «Отобразить таблицу на панели инструментов» и дважды щелкните таблицы, которые нужно добавить. Дважды щелкните линию связи, которую необходимо изменить, и установите параметры связи. Для получения дополнительных сведений о конкретном параметре диалогового окна Изменение связей нажмите кнопку контекстной справки и щелкните нужный параметр.

Для удаления выделите линию связи, которую необходимо удалить (выделенная линия становится более толстой), а затем нажмите клавишу Delete и подтвердите удаление.

Удаление таблицы из окна «Схема данных». Выберите таблицу, которую необходимо удалить, а затем нажмите клавишу Delete. При этом из окна Схема данных удаляются таблица и ее линии связи. Это действие затрагивает только отображение в окне схемы данных. Сама таблица и ее связи остаются в базе данных.

Печать окна схемы данных. Для создания отчета, отображающего связи между таблицами базы данных в том виде, как они показаны в окне схемы данных, Microsoft Access использует мастер печати схемы данных. Для создания такого отчета при открытом окне Схема данных выберите в меню Файл команду Печать схемы данных. После этого раскроется окно отчета о связях между таблицами в текущей базе данных. Закройте окно отчета с сохранением, щелкнув кнопку «Да» в ответ на запрос Сохранить изменения макета отчета?, задав имя отчета, щелкните кнопку «ОК».

Создание объектов (форм, отчетов, страниц доступа, макросов) для связанных таблиц отличается от ранее рассмотренных нами приемов тем, что пользователю необходимо выполнять выбор полей из нескольких таблиц и учитывать действие механизма защиты целостности данных. Рассмотрим эти особенности на примере создания формы для базы данных Library, состоящей из двух связанных таблиц.

Контрольные вопросы:

1. Для чего используется MS Access?

2. Этапы разработки баз данных.

3. Сколько способов для создания баз данных?

4. Какие объекты может иметь база данных Access?

 

 

Основные сведения о базах данных

Access для Microsoft 365 Access 2019 Access 2016 Access 2013 Access 2010 Access 2007

Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).

Эта статья содержит краткие сведения о базах данных: что это, чем они могут быть полезны, каковы функции их отдельных элементов. Здесь используется терминология, свойственная Microsoft Access, однако описываемые понятия применимы по отношению к любым базам данных.

В этой статье:

Что такое база данных?

Элементы базы данных Access

Что представляет собой база данных?

Базы данных — это инструмент для сбора и структурирования информации. В базе могут храниться данные о людях, товарах, заказах и о многом другом. Многие базы данных изначально представляют собой небольшой список в текстовом редакторе или электронной таблице. По мере увеличения объема данных в списке постепенно появляются несоответствия и излишняя информация. Информация, отображенная в виде списка, становится непонятной. Кроме того, ограничены способы, с помощью которых можно искать и отображать подмножества данных. Как только начинают появляться эти проблемы, мы рекомендуем перенести всю информацию в базу данных, созданную в системе управления базами данных (СУБД), такой как Access.

Компьютерная база данных — это хранилище объектов. В одной базе данных может быть больше одной таблицы. Например, система отслеживания складских запасов, в которой используются три таблицы, — это не три базы данных, а одна. В базе данных Access (если ее специально не настраивали для работы с данными или кодом, принадлежащими другому источнику) все таблицы хранятся в одном файле вместе с другими объектами, такими как формы, отчеты, макросы и модули. Для файлов баз данных, созданных в формате Access 2007 (который также используется в Access 2016, Access 2013 и Access 2010), используется расширение ACCDB, а для баз данных, созданных в более ранних версиях Access, — MDB. С помощью Access 2016, Access 2013, Access 2010 и Access 2007 можно создавать файлы в форматах более ранних версий приложения (например, Access 2000 и Access 2002–2003).

Использование Access позволяет:

§ добавлять новую информацию в базу данных, например новый артикул складских запасов;

§ изменять информацию, уже находящуюся в базе, например перемещать артикул;

§ удалять информацию, например если артикул был продан или утилизирован;

§ упорядочивать и просматривать данные различными способами;

§ обмениваться данными с другими людьми с помощью отчетов, сообщений электронной почты, внутренней сети или Интернета.

Элементы базы данных Access

Ниже приведены краткие описания элементов стандартной базы данных Access.

Таблицы

Forms

Отчеты

Запросы

Макросы

Модули

Таблицы

Таблица базы данных похожа на электронную таблицу — и там, и там информация расположена в строках и столбцах. Поэтому импортировать электронную таблицу в таблицу базы данных обычно довольно легко. Основное различие заключается в том, как данные структурированы.

Чтобы база данных была как можно более гибкой и чтобы в ней не появлялось излишней информации, данные должны быть структурированы в виде таблиц. Например, если речь идет о таблице с информацией о сотрудниках компании, больше одного раза вводить данные об одном и том же сотруднике не нужно. Данные о товарах должны храниться в отдельной таблице, как и данные о филиалах компании. Этот процесс называется нормализацией.

Строки в таблице называются записями. В записи содержатся блоки информации. Каждая запись состоит по крайней мере из одного поля. Поля соответствуют столбцам в таблице. Например, в таблице под названием "Сотрудники" в каждой записи находится информация об одном сотруднике, а в каждом поле — отдельная категория информации, например имя, фамилия, адрес и т. д. Поля выделяются под определенные типы данных, например текстовые, цифровые или иные данные.

Записи и поля можно описать по-другому. Представьте старый библиотечный карточный каталог. Каждой карточке в шкафу соответствует запись в базе данных. Блоки информации на карточке (автор, название книги и т. д.) соответствуют полям в базе данных.

Дополнительные сведения о таблицах см. в статье Общие сведения о таблицах.

Формы

С помощью форм создается пользовательский интерфейс для ввода и редактирования данных. Формы часто содержат кнопки команд и другие элементы управления, предназначенные для выполнения различных функций. Можно создать базу данных, не используя формы, если просто отредактировать уже имеющуюся информацию в таблицах Access. Тем не менее, большинство пользователей предпочитает использовать формы для просмотра, ввода и редактирования информации в таблицах.

С помощью кнопок команд задаются данные, которые должны появляться в форме, открываются прочие формы и отчеты и выполняется ряд других задач. Например, есть "Форма клиента", в которой вы работаете с данными о клиентах. И в ней может быть кнопка, нажатием которой открывается форма заказа, с помощью которой вы вносите информацию о заказе, сделанном определенным клиентом.

Формы также дают возможность контролировать взаимодействие пользователей с информацией базы данных. Например, можно создать форму, в которой отображаются только определенные поля и с помощью которой можно выполнять только ограниченное число операций. Таким образом обеспечивается защита и корректный ввод данных.

Дополнительные сведения о формах см. в статье Формы.

Отчеты

Отчеты используются для форматирования, сведения и показа данных. Обычно отчет позволяет найти ответ на определенный вопрос, например "Какую прибыль в этом году принесли нам наши клиенты?" или "В каких городах живут наши клиенты?" Отчеты можно форматировать таким образом, чтобы информация отображалась в наиболее читабельном виде.

Отчет можно сформировать в любое время, и в нем всегда будет отображена текущая информация базы данных. Отчеты обычно форматируются таким образом, чтобы их можно было распечатать, но их также можно просматривать на экране, экспортировать в другие программы или вкладывать в сообщения электронной почты.

Дополнительные сведения об отчетах читайте в статье Общие сведения об отчетах в Access.

Запросы

Запросы могут выполнять множество функций в базе данных. Одна из их основных функций — находить информацию в таблицах. Нужная информация обычно содержится в нескольких таблицах, но, если использовать запросы, ее можно просматривать в одной. Кроме того, запросы дают возможность фильтровать данные (для этого задаются критерии поиска), чтобы отображались только нужные записи.

Используются и так называемые "обновляемые" запросы, которые дают возможность редактировать данные, найденные в основных таблицах. При работе с обновляемым запросом помните, что правки вносятся в основные таблицы, а не только в таблицу запроса.

Есть два основных вида запросов: запросы на выборку и на изменение. Запрос на выборку только находит данные и предоставляет к ним доступ. Результаты такого запроса можно просмотреть на экране, распечатать или скопировать в буфер обмена, а также использовать в качестве источника записей для формы или отчета.

С помощью запроса на изменение, как видно из названия, можно выполнять определенные операции с найденными данными: создавать таблицы, добавлять информацию в уже существующие таблицы, а также обновлять или удалять данные.

Дополнительные сведения о запросах см. в статье Знакомство с запросами.

Макросы

Макросы в Access — это нечто вроде упрощенного языка программирования, с помощью которого можно сделать базу данных более функциональной. Например, если к кнопке команды в форме добавить макрос, то он будет запускаться всякий раз при нажатии этой кнопки. Макросы состоят из команд, с помощью которых выполняются определенные задачи: открываются отчеты, выполняются запросы, закрывается база данных и т. д. Используя макросы, можно автоматизировать большинство операций, которые в базе данных вы делаете вручную, и, таким образом, значительно сэкономить время.

Дополнительные сведения о макросах см. в статье Общие сведения о программировании в Access.

Модули

Подобно макросам, модули — это объекты, с помощью которых базу данных можно сделать более функциональной. Но если макросы в Access составляются путем выбора из списка макрокоманд, модули создаются на языке Visual Basic для приложений (VBA). Модули представляют собой наборы описаний, инструкций и процедур. Существуют модули класса и стандартные модули. Модули класса связаны с конкретными формами или отчетами и обычно включают в себя процедуры, которые работают только с этими формами или отчетами. В стандартных модулях содержатся общие процедуры, не связанные ни с каким объектом. Стандартные модули, в отличие от модулей класса, перечисляются в списке Модули в области навигации.

Дополнительные сведения о модулях см. в статье Общие сведения о программировании в Access.

 

Общие сведения о программировании в Access

Access для Microsoft 365 Access 2019 Access 2016 Access 2013 Access 2010 Access 2007

Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).

Создавая базу данных, вы обычно начинаете с создания нескольких объектов базы данных, таких как таблицы, формы и отчеты. Рано или поздно наступает момент, когда нужно добавить программный код, чтобы автоматизировать определенные процессы и связать объекты базы данных друг с другом. Прочитав эту статью, вы получите представление о средствах программирования в Access.

В этой статье

Программирование

Выбор в пользу макросов или кода VBA

Выполнение распространенных задач программирования с помощью мастера кнопок

Макросы

Код VBA

Преобразование макросов в код VBA

Программирование

В Access программированием называется процесс добавления функциональных возможностей в базу данных с помощью макросов Access или кода Visual Basic для приложений (VBA). Например, предположим, что вы создали форму и отчет и хотите добавить в форму кнопку, которая при щелчке закроет отчет. Программирование в этом случае — это процесс создания макроса или процедуры VBA, а затем задание свойства события OnClick для кнопки , которое запускает выполнение макроса или процедуры нажатием кнопки. Для простой операции, например открытия отчета, можно использовать мастер кнопок для выполнения всех задач, а также можно отключить мастер и выполнить программирование самостоятельно.

Примечание: Во многих программах Microsoft Office термин "макрос" относится к коду VBA. Это может запутать пользователей Access, так как в этом приложении термин "макрос" относится к именованному набору макрокоманд, для создания которого используется конструктор макросов. Макрокоманды Access — это лишь часть команд, доступных в VBA. Конструктор макросов обладает более структурированным интерфейсом, чем редактор Visual Basic, что позволяет добавлять программный код к элементам управления и объектам без необходимости изучать код VBA. Следует помнить, что в статьях справки Access макросы Access называются просто макросами. С другой стороны, код VBA может называться VBA, кодом, функцией или процедурой. Код VBA содержится в модулях классов (это части отдельных форм и отчетов, обычно содержащие код только для этих объектов), а также в модулях (они не привязаны к определенным объектам и обычно содержат "глобальный" код, который можно использовать во всей базе данных).

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

К началу страницы

Выбор в пользу макросов или кода VBA

Решение в пользу макросов, кода VBA или обоих методов зависит главным образом от того, как вы планируете развертывать и распространять базу данных. Например, если база данных хранится на вашем компьютере, вы единственный пользователь и хорошо разбираетесь в коде VBA, целесообразно использовать VBA для большинства задач по программированию. Если же вы собираетесь поделиться базой данных с другими людьми, разместив ее на файловом сервере, возможно, лучше обойтись без VBA из соображений безопасности.

Принимая решение об использовании макросов или кода VBA, вы должны учесть два аспекта: безопасность и необходимую функциональность. Безопасности следует уделить особое внимание, так как VBA можно использовать для создания кода, который способен нарушить защиту данных или повредить файлы на локальном компьютере. Если вы используете базу данных, созданную не вами, не включайте код VBA, если не уверены в том, что база данных получена из надежного источника. Создавая базу данных, предназначенную для других людей, не используйте средства программирования, которые могут привести к тому, что пользователям потребуется явно предоставить ей статус надежной. Чтобы избежать такой ситуации, воспользуйтесь распространенными приемами, описанными ниже в этом разделе.

Чтобы обеспечить безопасность базы данных, применяйте макросы везде, где это возможно, а программирование с помощью VBA используйте только для операций, которые невозможно выполнить с помощью макрокоманд. Более того, следует использовать только такие макрокоманды, для выполнения которых не требуется предоставлять базе данных статус надежной. При таком ограничении использования макрокоманд пользователи будут уверены в том, что база данных не содержит программного кода, который может повредить данные или другие файлы на их компьютерах.

Рекомендации по использованию макросов

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

Макросы предоставляют простой способ обработки многих задач программирования, таких как открытие и закрытие форм и запуск отчетов. Вы можете быстро и легко привязать объекты базы данных (формы, отчеты и т. д.), созданные вами из-за незначительного синтаксиса, который необходимо запомнить. Аргументы для каждого действия отображаются в поСтроителе макросов.

Макросы обеспечивают повышенную безопасность и просты в использовании. Кроме того, их необходимо применять для выполнения следующих задач:

§ Назначение действия или набора действий ключу. Для этого необходимо создать группу макросов с именем AutoKeys.

§ Выполнение действия или последовательности действий при первом открытии базы данных. Для этого необходимо создать макрос с именем AutoExec.

Примечание: Макрос AutoExec запускается раньше, чем любой другой макрос или код VBA, даже если вы назначили в диалоговом окне Параметры Access начальную форму и прикрепили к ее событию OnOpen или OnLoad макрос или код VBA.

Дополнительные сведения о создании макросов см. в разделе Макросы.

Рекомендации по использованию VBA

Программный код VBA следует использовать вместо макросов, если вы хотите сделать следующее:

§ Использовать встроенные функции или создать собственные. В Access есть множество встроенных функций, например IPmt, которая вычисляет процентные платежи. С помощью этих встроенных функций можно выполнять вычисления, не создавая сложных выражений. Используя код VBA, вы также можете создать собственные функции для выполнения вычислений, которые требуют создания слишком сложных выражений или не могут быть выполнены с их помощью. Кроме того, созданные функции можно включать в выражения, что позволяет выполнять часто используемые операции с разными объектами.

§ Создавать объекты и обрабатывать их. Вы увидите, что в большинстве случаев проще всего создать или изменить объект в режиме конструктора. Но в некоторых случаях вам может потребоваться изменить определение объекта в коде. С помощью VBA можно обрабатывать все объекты в базе данных, а также манипулировать самой базой данных.

§ Выполнять действия на уровне системы. Чтобы запустить из Access другую программу (например, Microsoft Excel), можно выполнить макрос с макрокомандой RunApp, но в целом возможности применения макросов для выполнения действий вне Access ограничены. С помощью VBA можно проверить, существует ли на компьютере определенный файл, воспользоваться технологией Automation или DDE для взаимодействия с другими программами для Microsoft Windows, такими как Excel, и вызвать функции из библиотек DLL в Windows.

§ Обрабатывать записи поочередно. Используя код VBA, можно обработать набор записей, выполнив поочередно операцию над каждой из них. В то же время макрос обрабатывает все записи из набора одновременно.

К началу страницы

Выполнение распространенных задач программирования с помощью мастера кнопок

Добавьте в форму кнопку, и мастер кнопок поможет вам приступить к программированию. С помощью мастера вы сможете создать кнопку для выполнения определенной задачи. В файле Access (ACCDB) мастер создает макрос, внедренный в свойство OnClick этой кнопки. В MDB- или ADP-файле мастер создает код VBA, так как в этих форматах не поддерживаются внедренные макросы. В любом случае вы можете затем изменить или дополнить макрос или код VBA в соответствии со своими потребностями.

1. В области навигации щелкните правой кнопкой мыши форму, в которую нужно добавить кнопку, и выберите пункт Конструктор.

2. На вкладке Конструктор щелкните стрелку вниз, чтобы открыть коллекцию Элементы управления, и убедитесь в том, что пункт Использовать мастера выделен.

3. На вкладке Конструктор в коллекции Элементы управления щелкните элемент Кнопка.

4. На бланке формы щелкните там, где нужно поместить кнопку.

Откроется мастер кнопок.

5. На первой странице мастера в списке Категории щелкните каждую категорию, чтобы посмотреть, какие действия можно запрограммировать для кнопки. В списке Действия выберите нужное действие, а затем нажмите кнопку Далее.

6. Выберите параметр Текст или Рисунок в зависимости от того, что нужно отобразить на кнопке.

§ Если вы хотите отобразить текст, то можете изменить содержимое поля рядом с параметром Текст.

§ Если вам нужен рисунок, мастер предложит изображение в соответствующем списке. Если вы хотите выбрать другой рисунок, установите флажок Показать все рисунки, чтобы отобразить список всех доступных в Access изображений для кнопок, или нажмите кнопку Обзор, чтобы выбрать рисунок, сохраненный в отдельном файле.

Нажмите кнопку Далее.

7. Введите понятное имя для кнопки. Это необязательный шаг, и это имя не отображается на кнопке. Тем не менее рекомендуем указать понятное имя, чтобы было легко отличить эту кнопку от других позже (например, при настройке последовательности табуляции для элементов управления формы). Например, если кнопка закрывает форму, можно назвать ее cmdClose или CommandClose.

8. Нажмите кнопку Готово.

Кнопка будет размещена в форме.

9. Если вы хотите просмотреть программный код, созданный мастером, можно сделать следующее:

a. Если окно свойств не отображается, нажмите клавишу F4.

b. В окне свойств откройте вкладку События.

c. В диалоговом окне свойства по щелчку нажмите кнопку Построить .

Откроется конструктор макросов, в котором будет показан макрос, созданный мастером. При желании макрос можно изменить (дополнительные сведения о редактировании макросов см. в разделе Макросы). Когда вы закончите, на вкладке Конструктор в группе Закрыть нажмите Закрыть, чтобы закрыть конструктор макросов. Если будет предложено сохранить изменения и обновить свойство, нажмите Да, чтобы сделать это, или Нет, чтобы отказаться.

10. На вкладке Конструктор в группе Режимы нажмите кнопку Режим и выберите пункт Режим формы. Нажмите новую кнопку, чтобы проверить, правильно ли она работает.

К началу страницы

Макросы

Макрос — это инструмент, позволяющий автоматизировать задачи и добавлять функции в формы, отчеты и элементы управления. Например, если добавить в форму кнопку, то можно связать ее свойство события OnClick с макросом и включить в него команды, которые должны выполняться при нажатии этой кнопки.

Макросы Access можно рассматривать как упрощенный язык программирования, код на котором создается в виде списка необходимых действий. Создавая макрос, вы выбираете каждую макрокоманду из раскрывающегося списка, а затем вводите для нее необходимую информацию. С помощью макросов можно добавлять функции в формы, отчеты и элементы управления без необходимости писать код в модуле VBA. В макросах доступно подмножество команд VBA, и большинство людей считают, что создать макрос легче, чем написать код VBA.

Создать макрос можно с помощью конструктора макросов, который показан на этом рисунке:

Вот как можно открыть конструктор макросов:

§ на вкладке Создание в группе Макросы и код нажмите кнопку Макрос.

К началу страницы

Код VBA

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

Самый быстрый способ приступить к написанию программного кода VBA — создать макрос Access, а затем преобразовать его в код VBA. Инструкции см. в разделе Преобразование макросов в код VBA. В этом случае будет создан модуль VBA, который выполняет те же операции, которые определены в макросе. Кроме того, откроется редактор Visual Basic, так что вы сможете приступить к редактированию процедуры. При работе в редакторе Visual Basic можно щелкнуть интересующее вас ключевое слово и нажать клавишу F1, чтобы открыть справку разработчика Access и ознакомиться с соответствующей статьей. Затем вы можете продолжить изучение справки разработчика Access и узнать о новых командах, которые пригодятся для ваших задач.

К началу страницы

Преобразование макросов в код VBA

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

Примечание: Веб-базы данных поддерживают код Visual Basic для приложений (VBA), но его невозможно запустить, когда такая база данных работает в браузере. Чтобы выполнить код VBA, который содержится в веб-базе данных, ее необходимо открыть в Access. Для задач, связанных с программированием, в веб-базах данных следует использовать макросы Access.

Преобразование макросов, прикрепленных к форме или отчету

Этот процесс преобразует в VBA все макросы, на которые ссылается форма, отчет или любой из их элементов управления (либо которые внедрены в форму, отчет или элемент управления), а затем добавляет код VBA в модуль класса формы или отчета. Модуль класса становится частью формы или отчета и сохраняется при их перемещении или копировании.

1. В области навигации щелкните форму или отчет правой кнопкой мыши и выберите пункт Конструктор.

2. На вкладке Конструктор в группе Сервис нажмите Преобразовать макросы формы или Преобразовать макросы отчета.

3. В диалоговом окне Преобразование макросов формы или Преобразование макросов отчетаукажите, нужно ли добавить к создаваемым функциям код обработки ошибок. Кроме того, если в макросах есть комментарии, укажите, нужно ли добавлять их в функции. Нажмите кнопку Преобразовать.

Если для формы или отчета модуль класса не существует, Access создает один из них и добавляет процедуру в модуль для каждого макроса, связанного с формой или отчетом. Access также изменяет свойства события формы или отчета таким образом, чтобы они выполняли новые процедуры VBA вместо макросов.

4. Чтобы просмотреть и изменить код VBA, сделайте следующее:

a. Форма или отчет должны быть по-прежнему открыты в режиме конструктора. Если окно свойств не отображается, нажмите клавишу F4.

b. На вкладке событие страницы свойств щелкните поле свойства, в котором отображается [процедура обработки событий], и нажмите кнопку Построить . Чтобы просмотреть свойства событий для определенного элемента управления, щелкните его, чтобы выбрать. Чтобы просмотреть свойства событий для всей формы или отчета, в верхней части окна свойств выберите в раскрывающемся списке пункт Форма или Отчет.

Откроется редактор Visual Basic с процедурой обработки событий в соответствующем модуле класса. Чтобы просмотреть другие процедуры, которые хранятся в этом модуле класса, прокрутите содержимое вверх или вниз.

Преобразование глобальных макросов

1. В области навигации щелкните правой кнопкой мыши макрос, который нужно преобразовать, и выберите пункт Конструктор.

2. На вкладке Конструктор в группе Сервис щелкните Преобразовать макросы.

3. В диалоговом окне Преобразование макроса установите нужные флажки и нажмите кнопку Преобразовать.

Макрос будет преобразован, и откроется редактор Visual Basic.

4. Чтобы просмотреть и изменить код VBA, сделайте следующее:

a. В редакторе Visual Basic, если область Project Explorer (Окно проекта) не отображается, в меню View (Вид) выберите пункт Project Explorer.

b. Разверните дерево под именем базы данных, в которой вы работаете.

c. В разделе Модули дважды щелкните модуль Преобразованный макрос — <имя макроса>.

Модуль откроется в редакторе Visual Basic.

Прикрепление функции VBA к свойству события

При преобразовании глобального макроса в VBA код VBA помещается в стандартный модуль. В отличие от модуля класса, стандартный модуль не является частью формы или отчета. Скорее всего, вам будет необходимо связать функцию со свойством события в форме, отчете или элементе управления, чтобы код выполнялся именно там, где и в нужном месте. Для этого можно скопировать код VBA в модуль класса, а затем связать его с свойством события, или можно создать специальный вызов из свойства события в стандартный модуль, выполнив описанные ниже действия.

1. В редакторе Visual Basic посмотрите, как называется функция. Например, если преобразовать макрос с именем MyMacro, функции будет присвоено имя MyMacro().

2. Закройте редактор Visual Basic.

3. В области навигации щелкните правой кнопкой мыши форму или отчет, который нужно связать с функцией, и выберите в контекстном меню пункт Конструктор.

4. Щелкните элемент управления или раздел, с которым вы хотите связать функцию.

5. Если окно свойств не отображается, нажмите клавишу F4.

6. В окне свойств на вкладке События щелкните поле свойства события, с которым нужно связать функцию.

7. В поле свойства введите знак равенства (=), а затем — имя функции (например, =MyMacro(). Не забудьте ввести скобки.

8. Сохраните форму или отчет, нажав на панели быстрого доступа кнопку Сохранить.

9. В области навигации дважды щелкните форму или отчет и проверьте, правильно ли работает код.

Вы ознакомились с основными действиями для добавления кода VBA в базу данных. В этой статье содержатся только общие сведения о том, как приступить к работе, но существует множество справочников и ресурсов в Интернете, с помощью которых вы сможете усовершенствовать свои навыки программирования.