Автоформа: в столбец (AutoForm: Columnar) для таблицы Заказы показана на рис. 25.5.
Рис. 25.5 Форма с полями, расположенными в столбец
Автоформу можно создать следующими способами:
1. Выбрать команду Автоформа (AutoForm) в меню Вставка (Insert).
2. На панели инструментов в раскрывающемся списке кнопки Новый объект (New Object) выбрать Автоформа (AutoForm).
3. С помощью мастера форм (Form Wizard).
4. Используя режим конструктора.
В диалоговом окне Новая форма (New Form) (см. рис. 25.4) можно выбрать следующие виды автоформы:
Автоформа: в столбец (AutoForm: Columnar) — форма с полями расположенными в один столбец (рис. 25.5).
Автоформа: ленточная (AutoForm: Tabular) — создает форму, в которой поля представлены в верхней части окна, а записи в строках.
Автоформа: табличная (AutoForm: Datasheet) — создает форму в виде таблицы Access.
Рис. 25.12 Выбор стиля оформления формы с использованием команды Автоформат
Стиль выбирается в списке Форма — автоформат (Form Auto Formats). Его особенности можно увидеть в правой части окна. Кнопка Параметры позволяет отобразить в нижней части окна три флажка дополнительных атрибутов. Снимите флажки тех атрибутов, которые вы не хотите применять в форме.
Для создания специального стиля формы нажмите кнопку Настройка (Customize). На экране отобразится окно Настройка автоформата (Customize AutoFormat) (рис. 25.13). Положения переключателя позволяют создать новый стиль на основе стиля объекта, обновить этот стиль или удалить.
Рис. 25.13 Окно, используемое для создания специального стиля формы
Access позволяет создавать формы, которые отображают данные из нескольких связанных таблиц. Например, каждый тип товара может иметь несколько наименований. Поэтому, данные в таблице «Типы» будут находиться на стороне отношения «один», а в таблице «Товары» — на стороне «многие».
Например, можно создать подчиненную форму для вывода данных из таблиц «Типы» и «Товары». Когда главная форма отображает тип «Напитки», подчиненная форма отображает только те товары, которые входят в заданный тип (рис. 25.3).
Главная форма основана на таблице с первичным ключом, а на связанной с ней другой таблице — подчиненная форма. Подчиненная форма располагается внутри главной. Главная форма может содержать одну или несколько подчиненных форм. Можно создавать подчиненные формы до семи уровней вложенности, т.е. можно подчиненную форму разместить внутри главной формы, а другую подчиненную форму внутри этой подчиненной формы и т.д. Например, можно иметь главную форму, отображающую сведения о клиентах, подчиненную форму, отображающую сведения о заказах, и еще одну подчиненную форму, отображающую сведения о заказанных товарах.-
Рис. 25.3 Главная форма, содержащая подчиненную форму
При использовании формы с подчиненной формой для ввода новых записей текущая запись в главной форме сохраняется при входе в подчиненную форму. Это гарантирует,, что записи из таблицы на стороне «многие» будут иметь связанную запись в таблице на стороне «один». Это также автоматически сохраняет каждую запись, добавляемую в подчиненную форму. Главная форма может отображаться только как простая форма. Подчиненная форма может отображаться в виде таблицы, или в виде простой или ленточной формы.
Предусмотрено несколько вариантов создания подчиненной формы: одновременно с главной или создание сначала подчиненной формы, которую добавляют в существующую, можно создать форму с двумя подчиненными формами.
Для более удобного отображения информации, содержащейся в базе данных, используются формы. В повседневной жизни мы обычно заполняем формы, например, когда вносим плату за квартиру или телефон.
Применение различных элементов интерфейса позволяет более наглядно представить запись. Добавление к форме Windows Media Player позволяет воспроизводить файлы .avi (Audio-Video Interleaved) и .asf (ActiveX Streaming Format) с тем, чтобы пользователи могли расслабиться в процессе работы. В качестве фонового изображения можно использовать графические файлы с расширением .gif и jpg. . Формы обычно используют для следующих целей:
для ввода новых данных в таблицу, их редактирования и удаления;
для выбора данных, их предварительного просмотра и для печати отчета;
для открытия других форм или отчетов.
Эти элементы управления особенно удобны в тех случаях, когда, например, можно выбрать в списке сложные коды товаров. Рассмотрим использование поля со списком в форме, отображающей данные из таблицы или запроса.
Для создания в форме поля со списком удобно пользоваться мастером. Откройте форму в режиме конструктора и нажмите сначала на панели элементов кнопку Мастера (Control Wizard) для запуска мастера, затем кнопку Поле со списком (Combo Box). Переместите указатель мыши в форму. В активной зоне формы он будет иметь вид знака «+», рядом с которым виден значок поля со списком. Выделите место, где будет располагаться поле со списком. На экране отобразится диалоговое окно Создание полей со списком (Combo Box Wizard) (рис. 25.16). Поставьте переключатель в положение Объект «поле со списком» будет использовать значения из таблицы или запроса (I want the combo box to look up the value in a table or query) и нажмите кнопку Далее (Next).
В следующем диалоговом окне Выберите таблицу или запрос со значениями, которые будет содержать поле со списком (Which table or query should provide the value for your combo box?) (рис. 25.17). Выберите таблицу в списке и нажмите кнопку Далее (Next).
В новом окне выберите поля, которые должны быть включены в поле со списком, и нажмите кнопку со значком >, чтобы перенести их в список Выбранные поля (Selected Fields).
Рис. 25.16 Выбор способа получения значений, отображаемых в поле со списком
В следующем диалоговом окне отображены списки значений для поля со списком. С помощью мыши измените ширину столбцов, если вы считаете, что они должны быть шире или уже предлагаемой величины. Ширина столбца должна позволять полностью отобразить данные, хранящиеся в нем. По умолчанию установлен флажок Скрыть ключевой столбец (Hide Key Column) и этот столбец не отображается. Он используется как источник данных для выбранного вами поля.
Рис. 25.17 Выбор таблицы или запроса, значения которой будет содержать поле со списком
Данные, приведенные в форме, берутся из полей базовой таблицы. Связь между формой и источником данных могут обеспечивать элементы управления, например, поля. Форму можно просматривать в трех режимах:
Конструктор (Design View);
Режим таблицы (Datasheet View);
Режим формы (Form View).
Ознакомимся с образцом формы, поставляемым с учебной базой Борей. В окне базы данных на вертикально расположенной панели Объекты (Objects) выделим значок Формы (Forms) (рис. 25.1), в списке форм дважды щелкнем значок Клиенты и просмотрим данные по ним.
Рис. 25.1 Список форм.
Работу с формой облегчает ее красивое оформление. Для перемещения между полями формы используйте клавиши со стрелками или Tab.
Для добавления сведений о новом клиенте нажмите кнопку Новая запись (New Record)
и заполните поля пустой записи. После ввода данных в поле формы нажмите клавишу Enter. Воспользуйтесь командами меню Правка (Edit), если потребуется вносить изменения в запись. После перемещения курсора на следующую запись, изменения сделанные в предыдущей записи сохраняются автоматически. Для повышения скорости ввода данных и уменьшения ошибок в формах используются списки, содержащие используемые значения данных.Рис. 25.2 Форма с данными по клиенту
При создании формы удобно пользоваться диалоговым окном Новая форма (New Form) (рис. 25.4). Отобразить это окно на экране можно следующими способами:
выделить таблицу или запрос в базе данных и выбрать команду Форма (Form) в меню Вставка (Insert);
нажать кнопку Новый объект (New Object) на панели инструментов и в раскрывающемся списке выбрать Форма (Form);
в окне базы данных на вертикально расположенной панели Объекты (Objects) выделить значок Формы (Forms) и нажать на панели инструментов кнопку Создать (New).
Рис. 25.4 Выбор метода создания формы
Все таблицы и запросы, доступные в качестве источников данных формы приведены в раскрывающемся списке в нижней части окна.
Использование мастера — один из наиболее простых способов создания формы.
Другой способ отображения окна мастера — в диалоговом окне Новая форма (New Form) (рис. 25.4) выбрать в списке Мастер форм (Form Wizard).
В раскрывающемся списке Таблицы и запросы (Tables/Queries) выберите источник данных (рис. 25.6). Дважды щелкните мышью имена полей, которые вы хотите переместить из списка Доступные поля (Available Fields) в список Выбранные поля (Selected Fields). Если вы захотите изменить порядок полей в списке
Рис. 25.6 Выбор полей формы в окне мастера
Рис. 25.7 Выбор вида представления данных
Выбранные поля, то нажмите кнопку < и верните выделенное, поле в список Доступные поля.
При создании формы из нескольких таблиц в списке Таблицы и запросы выберите новый источник данных. Если не установлены связи между таблицами, по которым создается форма, то на экране появится .сообщение об ошибке. Отношение между таблицами, например, один 'ко многим, устанавливается в окне Схема связей (Relationships).
В следующем диалоговом окне мастер предлагает выбрать вид представления данных (рис. 25.7). По умолчанию, в правой области окна вверху показаны поля главной формы, взятые из одной таблицы, а ниже в углубленной области — поля подчиненной формы из другой таблицы. Например, мы можем просматривать сведения о товарах в главной форме, отображая в подчиненной форме их цену. Если вы хотите просматривать данные в связанных формах, то поставьте переключатель в положение Связанные формы (Linked forms).
Затем положением переключателя выберите внешний вид подчиненных форм: ленточный (Datasheet) или табличный (Tabular). Нажмите кнопку Далее (Next). На экране появится окно выбора стиля (рис. 25.9). Если вы не хотите особым образом выделять поля или применять специальные эффекты, то выберите Стандартный (Standard) стиль, который предлагается по умолчанию.
Рис. 25.8 Выбор внешнего вида подчиненной формы
Рис. 25.9 Выбор стиля оформления формы
Рис. 25.10 Задание имен главной и подчиненных форм
В последнем диалоговом окне мастера задаются имена главной и подчиненных форм (рис. 25.10). Многие разработчики используют в именах главной и подчиненной формы префиксы frm и sbf, чтобы сделать более очевидной связь между формами. Если хотите просмотреть справку о работе с формой установите флажок Вывести справку по работе с формдй (Display Help on working with form) ?
Режим конструктора предоставляет наибольшие возможности по созданию и редактированию формы.
Форма может быть разделена на 5 частей: Заголовок формы (Form Header), Верхний колонтитул (Page Header), Область данных (Detail), Нижний колонтитул (Form Footer) и Примечание формы (Form Header/Footer).
При выводе на печать многостраничной формы заголовок отображается только на первой странице, а примечание внизу последней страницы. Можно не использовать в форме заголовок, колонтитулы и примечание. Эти разделы могут не отображаться при создании формы. Чтобы включить их в форму выберите в меню Вид (View) команды Заголовок/примечание формы (Form Header/Footer) и Колонтитулы (Page Header/Footer).
Элементы управления формы расположены в области данных. Вы можете перемещать вертикальную линию, показывающую расположение правого поля формы, и горизонтальную линию, отмечающую положение нижнего поля формы.
В окне конструктора формы видны линии сетки, расположенные на расстоянии одного сантиметра друг от друга. По линиям сетки удобно выравнивать столбцы и строки элементов управления. Для расположения по линиям
Рис. 25.11 Создание формы в режиме конструктора
сетки элементов управления выберите в меню Формат (Format) команду Привязать к сетке (Snap to Grid) Команда По узлам сетки (То Grid) в меню Формат (Format) изменяет размеры элементов управления так, чтобы они соответствовали шагу сетки. Для включения и выключения отображения сетки выберите команду Сетка (Grid) в меню Вид (View).
В окне создания формы в режиме конструктора видна Панель элементов (Toolbox). Для ее отображения или скрытия можно использовать команду Панель элементов (Toolbox) в меню Вид (View). На ней размещены кнопки элементов управления. Процесс ввода в форму элементов управления упрощается, если нажата кнопка Мастер (Control Wizard).
Чтобы ввести кнопку в форму, щелкните ее кнопкой мыши, переместите мышь на место расположения в форме и, удерживая нажатой кнопку мыши, задайте размеры кнопки. Если необходимо ввести одну и ту же кнопку в несколько мест формы, то дважды щелкните кнопку на панели элементов. Для прекращения работы с кнопкой нажмите клавишу Esc.
Чтобы создать подчиненную форму, отображаемую в режиме таблицы, перетащите таблицу или запрос из окна базы данных в форму в режиме конструктора. При этом автоматически запускается мастер создания подчиненных форм.
В форму можно вставить поля различных типов. В качестве примера рассмотрим вставку вычисляемого поля, отображающего результаты вычислений.
Откройте форму в режиме конструктора. Нажмите кнопку Поле (Text Box) на панели элементов, расположенной на рисунке вдоль левой вертикальной границы окна. Указатель мыши в активной области формы примет вид символа поля в верхнем левом углу которого отобразится значок «+». Щелкните мышью место, где должно располагаться название нового поля. Измените в поле надпись «поле» на новое имя/например, Дата/время. Щелкните рядом поле, в котором будут отображаться, результаты расчетов, с надписью Свободный и введите расчетную формулу.
Для отображения текущей даты и времени компьютерных часов введите в вычисляемое поле выражение =Now.
Нажмите кнопку Вид (View) на панели инструментов для перевода формы в Режим таблицы (Datasheet View) и посмотрите, как отобразится значение Дата/время нового поля. Если вы хотите изменить формат поля Дата/время, то вернитесь в режим Конструктор (Design). Обратите внимание, Access добавил круглые скобки в вычисляемое поле и там отобразится выражение =Now().
Рис. 25.14
Создание в форме вычисляемого поля Дата/время
Щелкните правой кнопкой мыши элемент управления и выберите в контекстном меню команду Свойства (Properties). Откройте вкладку Макет (Format) и выберите в раскрывающемся списке строки Формат поля (Format) нужный вам формат (рис. 25.15).
Рис. 25.15 Выбор формата поля
В последние годы в Интернете для отображения табличных данных все шире используются файлы с расширением .asp. ASP переводится как активные страницы сервера. Технология ASP принадлежит Microsoft. Файлы с расширением .asp открываются в Internet Explorer. Они имеют атрибут, Только чтение (Read Only) и могут содержать сценарий, созданный в VBScript или Jscript. При получении веб-страницы в формате ASP в результате экспорта, имена всех папок и файлов следует указывать латинскими буквами, так как веб-сервер поддерживает только латинские имена генерируемых страниц.
Если к вашему компьютеру не имеют доступа посторонние, то вы можете не устанавливать пароль. В тех случаях, когда в базе данных содержится информация, с которой не желательно знакомить несанкционированных пользователей, можно использовать следующие типы паролей:
пароли баз данных;
пароли учетных записей пользователей;
пароли Visual Basic для приложений (VBA).
Ввод пароля первого типа требуется от каждого пользователя, открывающего базу данных. Однако после открытия базы данных других средств защиты при этом не предоставляется. При включенной системе защиты базы данных существует возможность запретить пользователям установку пароля базы данных.
Пароль учетной записи создается для того, чтобы запретить другим пользователям подключение с использованием имени данного пользователя. Он используется только после определения защиты на уровне пользователей для рабочей группы. При активизации защиты на уровне пользователей администратор базы данных или владелец объекта представляет определенные разрешения отдельным пользователям и группам пользователей на таблицы, запросы, формы, отчеты и макросы. Страницы доступа к данным и модули не защищаются на уровне пользователей.
По умолчанию Microsoft Access автоматически подключает пользователя при запуске с помощью встроенной учетной записи Admin и предоставляет ему полные разрешения на все объекты базы данных. Можно добавить пароли для создаваемых учетных записей пользователей или предписать пользователям добавить собственные пароли.
Пароль Visual Basic для приложений (VBA) используются только один раз за сеанс для защиты модулей с программами на языке VBA в формах и отчетах. Этот пароль предотвращает редактирование, вырезание, вставку, копирование, экспорт и удаление программы VBA несанкционированными пользователями
При переименовании таблиц, форм, запросов, отчетов или полей, а также элементов управления в формах и отчетах необходимо изменить все ссылки на переименованные объекты. Автозамена имен (Name Autocorrect) автоматически выполняет эту операцию. Выберите в меню Сервис (Tools) команду Параметры (Options) и откройте вкладку Общие (General) (рис. 26.24). Установите флажок отслеживать автозамену имен (Track ), чтобы Access после открытия базы данных проверял и сохранял информацию об ошибках в именах, но без немедленного исправления. Если затем установить флажок выполнять автозамену имен (Perform name Autocorrect) , Access будет использовать сохраненную информацию в каждом объекте для исправления ошибок.
Рис. 26.24 Настройка параметров работы базы данных Access на вкладке Общие
Вы можете изменить действие некоторых клавиш при работе с Access, Выберите в меню Сервис (Tools) команду Параметры (Options) и откройте вкладкуКлавиатура (Keyboard) (рис. 26.25).
Рис. 26.26 Диалоговое окно, используемое для настройки клавиатуры при работе с базой данных
В зависимости от положений переключателей, установленных на вкладке, можно изменить действие Access при нажатии клавиш Enter, клавиш со стрелками, при достижении первого/последнего поля записи. Например, после нажатия клавиши Enter по. умолчанию курсор перемещается в Следующее поле (Next Field) . Вы можете выбрать параметр Нет (Don't Move) , чтобы курсор оставался в текущем поле или Следующая запись (Next Record) , чтобы после нажатия этой клавиши курсор перемещался на следующую запись.
Положение переключателя в рамке Поведение при входе в поле изменяет установленное по умолчанию действие клавиш Enter, Tab и клавиш со стрелками, используемых в формах и таблицах для перемещения из одного поля в другое:
выделить поле целиком (Select entire field) — используется для выделения всего поля при входе в него;
перейти в начало поля (Go to start of field) — обеспечивает помещение курсора в начало поля при входе в него;
перейти в конец поля (Go to end of field) — обеспечивает помещение курсора в конец поля при входе в него.
Для отправки отчета в электронном виде его можно конвертировать в копию видеоизображения (snapshot). Откройте отчет и выберите в меню Файл (File) команду Экспорт (Export). В диалоговом окне Экспорт файла в раскрывающемся списке Тип файла (Save as Type) выберите строку Снимок (Snapshot Format), укажите имя файла и нажмите кнопку Экспорт.
Макрос (macro) служит для автоматизации выполнения часто повторяющейся операции. Он создается в результате выбора из списка возможных действий (макрокоманд), которые выполняются последовательно или в заданном порядке. Например, нажав кнопки, можно запустить макрос, который откроет, распечатает и закроет отчет.
Слово макрос (macro) означает большой и в данном контексте, очевидно, предполагается, что с его помощью можно выполнить большую работу, чем с помощью отдельных макрокоманд. Основное назначение макроса — создание удобного для пользователя интерфейса, отображающего, например, удобные меню и панели инструментов.
Макросы, написанные в Access, отличаются от макросов, которые создаются в приложениях Word, Excell и PowerPoint. Microsoft рекомендует использовать для автоматизации операций язык программирования Visual Basic for Application (VBA), а не макросы, которые используются для совместимости с более ранними версиями Access.
Модуль Access состоит из описаний, инструкций и подпрограмм (процедур) написанных на языке программирования VBA (Visual Basic for Application), сохраненных под общим именем. Visual Basic был разработан Microsoft как язык высокого уровня для создания приложений на базе операционной системы Windows.
В VBA процедуры являются замкнутыми программными единицами. Они обеспечивают более широкие возможности, чем макросы. Каждая форма или отчет в базе данных содержит встроенные процедуры обработки событий, например, процедура обработки события позволяет открыть другую форму при нажатии определенной кнопки в форме.
В Microsoft Access существуют модули двух типов; стандартный модуль и модуль класса. Стандартный модуль содержит процедуры Sub и Function, не связанные с конкретным объектом: формой или отчетом. Они доступны для всех процедур в базе данных.
Стандартные модули используются также для объявления доступных из всех модулей приложения глобальных переменных. Для просмотра списка стандартных модулей нажмите на панели инструментов кнопкуМодули (Modules) в окнеБаза данных (Database).
Модули классов кроме процедур содержат описание нового объекта и программы, которые являются локальными для этих объектов. В качестве примера модуля класса можно назвать модули форм и отчетов. Модуль формы создается и связывается с формой, чтобы создать процедуру обработки событий для этой формы.
Процедуры из стандартного модуля, если они не описаны явно как локальные для содержащего их модуля, распознаются и могут вызываться процедурами из других модулей в той же базе данных или из адресуемых баз данных. Для проверки этого положения, откройте в режиме конструктора любую форму приложения Борей (Northwind). На вкладке Другие (Others) в строкеНаличие модуля (Has Module) будет записано Heт (No) . Если нажать кнопкуПрограмма (Code), то откроется редактор кода VBA и в строке появится значение Да (Yes) .
На рис. 26.21 показано окно редактора после двойного щелчка модуля Служебные функции (Utility Functions) . Он содержит функцию IsLoaded, которая возвращает значение True , если заданная форма открыта в режиме формы или таблицы (Returns True if the specified form is open in Form view or Datasheet).
Рис. 26.21 Окно редактора VBA
Нажмите клавиши Ctrl+G, чтобы открыть окно отладчика (Immediate ). В окне Immediate можно проследить применение синтаксиса функций. По мере ввода функций в окно всплывающая подсказка отображает имя функции и список ее аргументов.
Настройка вида окна Access, отображения таблицы, формы, отчетов выполняется на вкладках диалогового окна Параметры (Options) (меню Сервис (Tools)) .
Рассмотрим назначение флажков в рамке Отображать (Show) :
строку состояния (Status bar) — обеспечивает отображение внизу окна базы данных строки состояния, показывающей текущее состояние;
область задач при запуске (Startup Task Pane) — отображение области задач в окне программы после ее запуска;
новые ярлыки объектов (new object shortcut) — позволяют отображать в окне базы данных ярлыки, используемые для создания новых объектов;
скрытые объекты (hidden objects) обеспечивает отображение любого объекта в окне базы данных, для которого установлено свойствоСкрытый (Hidden) . Скрытые объекты отображаются как недоступные значки;
системные объекты (System objects) — обеспечивает отображение таблиц, созданных Microsoft Access при создании новой базы данных, а также любых системных объектов. Эти объекты отображаются как недоступные значки в окне базы данных;
окна в панели задач (Windows in Taskbar) — обеспечивает отображение на панели задач Windows значка каждого открытого объекта базы данных или окна. Для использования этого режима необходимо установить рабочий стол Active Desktop Microsoft Internet Explorer.
Рис. 26.23 Задание параметров отображения окна Access
Отчетом называется организованная и отформатированная информация, взятая из базы данных и предназначенная для вывода на печать. Он может иметь вид таблицы или оформлен по разработанной пользователем свободной форме. Отчет позволяет выбрать критерии, согласно которым извлекается информация из базы данных. Его можно дополнить рисунками, диаграммами, комментариями.
В отчете можно группировать и сортировать данные, представить данные на диаграмме, вычислить итоговое значение, например, определить выручку, полученную от продажи товаров на определенную дату. Отчеты позволяют задать внешний вид отображения информации в отпечатанном виде. Их можно использовать для анализа данных и передачи их в другие организации. Отчет можно отправить по электронной почте, опубликовать в Интернете.
Отчет можно создать на базе одной или нескольких таблиц или запросов. Большая часть сведений в отчете поступает из базовой таблицы, запроса или инструкции SQL, являющейся источником данных для отчета. Остальные сведения отчета хранятся в его структуре. В проекте Microsoft Access можно создавать формы и отчеты для базы данных SQL Server при помощи тех же инструментов, что используются для их создания в базе данных Microsoft Access.
Диалоговое окно Печать (Print) в Access аналогично одноименную окну в Word, подробно рассмотренному нами в главе 12. Его особенность состоит в том, что каждый объект: таблицу, форму, отчет следует печатать отдельно. Нажмите кнопки Свойства (Properties) в диалоговом окне Печать и Дополнительно (Layout for Print) в окне свойств принтера. Выбор значения Да для параметра Оптимизация печати (Fast Laser Printing) позволяет заменить символы подчеркивания и вертикальных линий в тексте на реальные линии, что ускоряет печать на лазерных принтерах.
Нажмите правую кнопку мыши при просмотре отчета, выберите команду Несколько страниц (Multiple Pages) , а затем задайте число страниц для отображения.
В качестве примера рассмотрим отчеты, представленные в учебной базе данных Борей, поставляемой с Access. При попытке открыть некоторые отчеты, может появиться окно, предлагающее ввести условия отбора данных, например, даты, определяющие отчетный период (рис. 26.1).
Рис. 26.1 Окно, предлагающее ввести начальную и конечную даты отбора данных для отчета
Отчет открывается в режиме предварительного просмотра (рис. 26.2). В верхней части виден заголовок отчета: Суммы продаж по годам. Кнопки панели инструментов Предварительный просмотр позволяют распечатать отчет, отобразитодну страницу отчета (One Page), две (Two Pages) или несколько (Multiple Pages), публикацию в Word и анализ в Excel. Степень увеличения можно выбрать от 10 до 200% в раскрывающемся спискеМасштаб (Zoom).
Рис. 26.2 Отображение отчета на экране
Проверка условий на значение это процесс выяснения, удовлетворяют ли вводимые данные определенным условиям или ограничениям. Для проверки условий на значения с помощью макроса в окне макроса нажмите кнопку Условия (Condition) на панели инструментов Конструктор макросов (Macro Design) и введите условие в ячейку столбца Условие (Condition) в пустой строке макрокоманды. В ячейке столбца Макрокоманда выберите в списке макрокоманду, которая должна выполняться, если условие истинно. Для всех других макрокоманд, которые должны выполняться, если условие истинно, введите многоточие (...) в ячейку столбца Условие (Condition) и имя макрокоманды в ячейку столбца Макрокоманда. Например, обычно последней макрокомандой в наборе макрокоманд, выполняемых, если условие истинно, является макрокоманда «ОтменитьСобытие» (CancelEvent). Нажмите кнопкуСохранить (Save), чтобы сохранить макрос.
Откройте форму в режиме конструктора. Введите имя макроса в ячейку свойства события, которое должно запускать макрос. Например, для проверки условия при изменении данных в элементе управления следует указать имя макроса в качестве значения свойства До обновления (Before Update) элемента управления.
При редактировании макроса может потребоваться изменить положение макрокоманды, вставить или удалить строку. Для выполнения этих операций в окне базы данных на вертикально расположенной панели Объекты (Objects) выберите значок Макросы (Macro) , выделите макрос, который будете редактировать и нажмите кнопку Конструктор (Design).
Для изменения положения макрокоманды в макросе в окне макроса щелкните область выделения строки макрокоманды (прямоугольник с левого края строки или полоса на левом крае окна). Еще раз щелкните область выделения строки и перетащите строку в новое положение.
Для вставки строки поместите курсор в любое место строки, над которой будет помещена макрокоманда и выберите в меню Вставка (Insert) команду Строки (Rows) или нажмите на панели инструментов кнопку Добавить строки (Insert Rows).
Для удаления строки выделите ее и выберите в меню Правка (Edit) команду Удалить строки (Delete Rows) или нажмите кнопку Удалить строки (Delete Rows) на панели инструментов.
Чтобы создать отчет, выделите таблицу или запрос в окне базы данных и выберите в меню Вставка (Insert) командуАвтоотчет (AutoReport) или на панели инструментов в раскрывающемся списке кнопки Новый объект (New Object) выберите Автоотчет (AutoReport) . В результате будет создан отчет, содержащий все поля таблицы или запроса, расположенные в столбик (рис. 26.3).
Рис. 26.3 Отчет, созданный после выбора команды Автоотчет
Создать макрос можно несколькими способами:
в окне базы данных на вертикально расположенной панели Объекты (Objects) выбрать значок Макросы, (Macro) и нажать кнопку Создать (New) на панели инструментов;
в окне базы данных выбрать в меню Вставка (Insert) команду Макрос (Macro).
В верхней области окна конструктора макросов по умолчанию каждая строка разбита на два столбца:Макрокоманда (Action) и Примечание (Comment) (рис. 26.18). В столбце Макрокоманда щелкните первую ячейку, нажмите кнопку раскрытия списка, выберите из списка имя нужной макрокоманды, например,ПреобразоватьТекст (TransferText) , В столбце Примечание можно ввести комментарий, поясняющий назначение макрокоманды. Примечание облегчают понимание и сопровождение макросов.
Рис. 26.18 Окно макроса
После заполнения поля в столбце Макрокоманда в нижней области окна конструктора отображается панель аргументов, позволяющая ввести значения аргументов соответствующей макрокоманды. Аргументом называется константа, переменная или выражение, служащие источником данных для макрокоманды, процедуры или метода. Аргумент дает дополнительную информацию к выполнению макрокоманды. Для задания многих аргументов макрокоманд используется выражение, перед которым ставится знак равенства (=*). Выбрать в раскрывающемся списке одно из значений аргумента позволяет кнопка.
Чтобы быстро создать макрос, выполняющий действие над конкретным объектом базы данных, перетащите этот объект из окна базы данных в строку макрокоманды окна макроса. Например, можно создать макрос, открывающий форму Заказы в окне базы данных Борей. Для этого выполните следующие действия:
в окне базы данных Борей в спискеОбъекты (Objects) нажмите кнопку Формы и дважды щелкните значок Заказы клиента;
на панели инструментов Режим формы в раскрывающемся списке выберите Макрос (Macro).
Закончив написание макроса, его необходимо сохранить, выбрав в меню Файл (File) команду Сохранить (Save) . Затем введите Имя макроса в окноСохранение (Save As) (рис. 26.19).
Рис. 26.19 Диалоговое окно сохранения макроса
Так же как запросы и формы, отчеты могут отображать данные из нескольких связанных таблиц. Данные из базовой таблицы выводятся в главном отчете, из других таблиц — в подчиненном отчете. Подчиненный отчет содержит данные, относящиеся к данным в главном отчете.
Главный отчет основан на таблице с первичным ключом, а подчинённый отчет основан на таблице, содержащей поле с таким же именем, как и у этого первичного ключа, и с таким же или совместимым типом данных. Например, если первичный ключ базовой таблицы главной формы имеет тип данных «Счетчик», а его свойство Размер поля (FieldSize) имеет значение Длинное целое, то соответствующее поле в базовой таблице подчиненной формы должно иметь тип данных «Числовой» со свойством Размер поля (FieldSize) , имеющим значение Длинное целое.
Для более полного контроля над формой отчета можно использовать мастера отчетов. Чтобы запустить мастера, сначала отобразите на экране окно Новый отчет (New Report) (рис. 26.4), одним из следующих способов:
выделите таблицу или запрос в окне базы данных и выберите в меню-Вставка (Insert) команду Отчет (Report) ;
выделите таблицу или запрос в окне базы данных и выберите Отчет (Report) в раскрывающемся списке кнопки Новый объект (New Object) на панели инструментов;
в окне базы данных на вертикально расположенной панели Объекты (Objects ) выделите значок Отчеты (Reports) и нажмите кнопкуСоздать (New) на панели инструментов в верхней части окна.
Рис. 26.4 Диалоговое окно, позволяющее выбрать метод создания отчета
Назначение элементов списка окна Новый отчет:
Автоотчет в столбец (AutoReport: Columnar) — позволяет отобразить поля отчета в столбик;
Автоотчет ленточный (AutoReport: Tabular) — позволяет расположить имена полей в виде заголовков столбцов таблицы, а записи в ее строках;
Мастер диаграмм — предоставляет большие возможности при составлении отчета, в который можно вставить диаграммы;
Почтовые наклейки (Label Wizard) — запускает мастера создания наклеек.
В нижней части окна выберите в качестве источника данных в раскрывающемся списке таблицу или запрос. После выбора элемента спискаМастер отчетов (Report Wizard) и нажатия кнопки (Ж на экране отобразится окно Создание отчетов (Report Wizard) (рис. 26.5). Выделите нужное поле щелчком мыши в спискеДоступные поля (Available Fields) и нажмите кнопку с изображением правой стрелки «>» между списками. Выделенное поле переместится в правый списокВыбранные поля (Selected Fields). Выбранные поля будут отображены в отчете в виде строк.
В раскрывающемся списке Таблицы/Запросы (Tables/Queries) можно выбрать несколько таблиц или запросов, из которых будут выбраны поля для отчета.
В следующем окне мастера в зависимости от выбранных полей может предлагаться группировка записей (рис. 26.6).
Нажмите кнопку Группировка (Grouping Options).
На экране отобразится диалоговое окно Интервалы группировки (Grouping Intervals). Уровень группировки определяет уровень вложенности конкретной группы в отчете. Вложенные группы образуются при группировке наборов записей по нескольким полям, выражениям или источникам данных группы. Первому уровню группировки присваивается номер 0; всего допускается существование до 10 уровней группировки в отчете. Текстовые поля могут группироваться по первой букве, по первым трем буквам и т.д. Access выведет в отчете вместе поля, имеющие одинаковые значения, например, в поле Должность (ContactTitle) могут быть сгруппированы все записи, в которых представлены начальники отделов.
Режим конструктора предоставляет наибольшие возможности в создании отчета.
Если отчет уже открыт, то для перехода в режим конструктора нажмите кнопку Вид на панели инструментов. Часть формы, отчета или страницы доступа к данным, например, заголовок, примечание или область данных называется разделом. В режиме конструктора размещаемые в отчете разделы видны в виде полос.
Рис. 26.13 Отображение отчета в режиме конструктора
Разделы печатаются следующим образом:
Заголовок отчета (Report Header) — печатается в верхней части первой страницы отчета.
Верхний колонтитул (Page Header) — печатается в верхней части каждой страницы. '
Заголовок группы (Group Header) — используется для выделения каждой группы, если предполагается группировать отчет, например, по датам.
Область данных (Details) — содержит данные, которые печатаются для каждой из тех записей в таблице или запросе, на которых основан отчет.
Примечание группы (Group Footer) — помещается в конце группы или записей при распечатке таких расчетов как промежуточные или итоговые суммы.
Нижний колонтитул (Page Footer) — отображается в нижней части каждой страницы. Обычно содержит такую информацию как номер страницы, дата, информация об авторе.
Примечание отчета (Report Footer) — печатается под нижним колонтитулом на последней странице отчета.
Для создания связи между отчетом и его исходными данными применяются элементы управления. Ими могут быть поля, содержащие имена или числа, надписи для заголовков. Поля можно помещать в любой раздел отчета, но, как правило, их размещают в области данных. Чтобы добавить в поле рамку текста, перетащите ее из списка полей таблицы или запроса, на основании которого сделан отчет, в отчет.
Способ отображения сведений в каждом разделе определяется расположением элементов управления, такие как надписи и поля. Выделите элементы управления: поле, флажок, прямоугольник или кнопка, которые будут размещены в отчете. В, меню Формат (Format) выберите команду Группировать (Group) . Отметим, что для создания группы нужно выделить хотя бы два элемента управления.
Подчиненный отчет можно создать в существующем отчете, можно добавить существующий отчет в другой отчет в качестве подчиненного. Если подчиненный отчет должен быть связан с главным отчетом, то сначала убедитесь в правильности установленных связей между таблицами. Связь обеспечивает соответствие записей, выводящихся в подчиненном отчете, записям в главном отчете.
Для создания подчиненного отчета в существующем отчете выполните следующие действия:
перейдите в окно базы данных и на вертикально расположенной панели Объекты (Objects) выделите значок Отчеты (Reports) . Щелкните в списке объектов в правой части окна отчет, которая будет использоваться для главного отчета, и нажмите кнопку Конструктор (Design View) на панели инструментов;
убедитесь, Что кнопка Мастера на панели элементов нажата. Для того чтобы вывести или скрыть панель элементов, выберите в меню Вид (View) команду Панель элементов (Toolbox) или нажмите одноименную кнопку на панели инструментов;
нажмите кнопку Подчиненная форма/отчет (Subform/Subreport) на панели элементов;
выберите в отчете место, в которое нужно поместить подчиненный отчет;
следуйте инструкциям диалоговых окон мастера подчиненных отчетов (рис. 26.14);
нажмите кнопку Готово (Finish) для добавления в отчет элемента управления подчиненного отчета.
Рис. 26.14 Диалоговое окно мастера подчиненных отчетов
Способ создания страницы зависит от ее предназначения. Разработку страниц по данным, которые хранятся в связанных таблицах облегчает использование мастера. В окне базы данных на вертикально расположенной панели Объекты (Objects) выделите значок Страницы (Pages) и дважды щелкните значок Создание страницы доступа к данным с помощью мастера (Create access page by using wizard). Разработка страниц доступа к данным аналогична разработке форм и отчетов: используется панель элементов, элементы управления и т.д. В то же время, разработка страниц доступа к данным имеет ряд отличий, рассмотренных ниже.
В окне Мастер страниц (Page wizard) в раскрывающемся списке Таблицы/Запросы (Tables/Queries) выберите поочередно таблицы и запросы, поля которых будут использованы в страницах (рис. 26.16). Дважды щелкните требуемые поля в списке Доступные поля (Available Fields) для перемещения их в списокВыбранные поля (Selected Fields).
Рис. 26.16 Добавление полей в страницу доступа данных
В следующих окнах, если необходимо добавьте уровни группировки, задайте требуемый порядок сортировки, введите название страницы (рис. 26.17). Если у вас при установке Office предусмотрена возможность использования тем (Themes), то установите флажок Применить тему к странице (Do you want to apply theme to your page) и выберете тему в следующем диалоговом окне. Тема определяет наборы CSS с определенными изображениями на заднем плане и шрифтами.
Рис. 26.17 Ввод названия страницы доступа к данным
Нажмите кнопкуВид (View) для эмуляции отображения страницы доступа к данным в обозревателе. Сохраните страницу в файле. При сохранении страницы доступа к данным в режиме конструктора все вспомогательные файлы, например маркеры, фоновые текстуры и рисунки, по умолчанию сохраняются в отдельной папке.
Желательно использовать Microsoft Internet Explorer версии 5.5 и старше, так как более ранние версии не позволяют выбирать и работать с несколькими элементами управления или не отображают некоторые свойства и панели инструментов.
Страницы доступа к данным могут содержать не только отформатированную статическую информацию, но и иметь вид динамических страниц, что позволяет пользователям создавать запросы к базе данных, извлекать или изменять требуемые данные. Они создаются на базе таблиц, запросов, форм, отчетов и могут включать данные из других источников, например, Microsoft Excel.
Страница доступа к данным записывается как файлы Dynamic HTML (DHTML) в отдельный файл, который имеет расширением .htm, а не .mdb, как остальные объекты, и хранится за пределами Access. В окно базы данных автоматически добавляется ярлык к файлу.
Страницы доступа к данным впервые были введены в Access 2000. В последующих версиях Access они приобрели ряд новых функций. Сейчас форму или отчет можно сохранить в виде страницы доступа к данным и получить веб-страницу. Их можно опубликовать в Интернете, но для этого в конфигурацию системы должен входить сервис Remote Data Services.
Страницу доступа к данным можно открыть в режиме просмотра и режиме конструктора.
На рис. 26.15 показан внешний вид страницы доступа к данным Обзор заказов. Страницы доступа к данным этого типа часто используются для объединения и группировки сведений, хранящихся в базе данных, а также для публикации сводок данных. Благодаря наличию подключения к базе данных, страницы отображают текущие данные.
Рис. 26.15 Страница доступа к данным
В нижней части окна, в котором можно просматривать данные и работать с ними, могут эмулироваться кнопки перехода (Record Navigation): Первая (First), Предыдущая (Previous), Следующая (Next), Последняя (Last). Кнопки перехода представляют собой элемент управления ActiveX, который обеспечивает связь таблиц и запросов с DHTML-страницей. Страница доступна только для чтения, редактировать данные на ней невозможно и кнопка Добавить новую запись (Add New Record) не отображается.
Макрос вставляется в форму> если создается связанный с ним элемент управления. С помощью макросов могут задаваться условия на значение, которые, определяют условия или ограничения для значений, которые могут быть введены в одно или несколько полей формы. В большинстве случаев правильность ввода данных в элемент управления в форме можно проверить путем задания свойства элемента управления Условие на значение (ValidationRule ) или процедур обработки событий. Например, перед сохранением записи может проверяться заполнение двух или трех полей.
Чтобы вставить макрос в форму, откройте форму в режиме конструктора (см. главу 25, раздел «Создание формы») и выведите список свойств элемента управления, который будет связан с макросом. Для этого щелкните правой кнопкой мыши элемент управления, выберите команду Свойства (Properties) в меню Вид (View) и откройте вкладку События (Event) . На экране отобразится список событий, которые могут использоваться для активизации макроса (рис. 26.20).
Рис. 26.20 Список событий, которые могут использоваться для активизации макроса
Макрос можно запустить несколькими способами:
Выбрать команду Запуск (Run) в меню Запуск (Run) . Это меню отображается, когда файл запуска открыт для редактирования.
В окне базы данных на вертикально расположенной панели Объекты (Objects) выделите значок Макросы (Macro). Щелкните в списке объектов в правой части окна макрос, который должен быть запущен и нажмите кнопку Запуск (Run) на панели инструментов.
Выбрать в меню Сервис (Tools) команду Макрос (Macro), Выполнить Макрос (Run Macro).
До установки пароля рекомендуется сделать резервную копию базы данных, и сохраните ее в надежном месте. Затем закройте базу данных и в меню Файл (File) выберите команду Открыть (Open). В диалоговом окне открытия файла щелкните стрелку справа от кнопки Открыть, выберите вариант Монопольно (Exclusive) и откройте базу данных. В менюСервис (Tools) выберите команду Защита (Security) и подкоманду Задать пароль базы данных (Set Database Password). Введите пароль в полеПароль (Password). Пароль вводится с учетом регистра. Подтвердите пароль, введя его еще раз в поле Подтверждение (Verify) , а затем нажмите кнопку OK (рис. 26.22).
Рис. 26.22 Окно, используемое для задания пароля базы данных
После установки пароля при следующем открытии базы данных будет выводиться диалоговое окно, в которое следует ввести пароль. Если вы потеряете или забудете пароль, восстановить его будет невозможно, и вы не сможете открыть базу данных.
Установленный пароль можно снять, открыв базу данных в монопольном режиме и выбрав в менюСервис (Tools) команду Зашита (Security) и подкоманду Удалить пароль базы данных (Un Set Database Password). Затем следует ввести пароль и нажать кнопку ОК .