Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
база данных.docx
Скачиваний:
167
Добавлен:
24.03.2015
Размер:
5.83 Mб
Скачать

10.4. Создание основных элементов бд

К основным элементам базы данных можно отнести таблицы, запросы, формы, отчеты, макросы и модули.

Создание базы данных

At cesc предоставляет два способа создания базы данных: (оздание пу< той БД (в последующем можно добавить нужные объекты) и создание непустой БД с помощью Мастера. Первый способ отличается большей гибкос тью и трудоемкого ю, так как требует отдельного определения каждого элемента базы данных. Второй способ ускоряет процесс создания БД и ппзв! >ляет по­лучить базу данных с образцами информации в таблицах. Он применим в случаях, когда пользователю подходит одна из предлагаемых типовых баз ,

данных Независимо от способа создания базы данных можно в любое время легко ее изменить и расширить.

HUory

My Docuir ts

При создании БД возможны несколько вариантов диалога. К примеру, сразу после запуска Access можно воспользоваться расположенной в правой части окна панелью задач, из которой создание новой БД инициируется щелчком мыши на ссылке «Новая база данных». В появившемся диалоговом окне Файл новой базы данных (File New Database) (рис. 10.4) нужно выбрать папку размещения базы, ввести имя и нажать кнопку Создать (Create).

[ File New Database

И13

bav In: | jjj Мои документы

Л * ti > H. Tools-

r°i clips

чй My Data Sources Мои рисунки 1оя музыка

IQdbl mdb

0db2.mdb H^Replica of dbl irlb 2 epn a-Replica) of dbl .i.idb

besktop Fuvorfre."

File цате: |ГЯЭЯВ1?

£ jte

3

Cancel

Sav ! as type: [Microsoft Access Databases (*"indb)

Рис. 10.4. Диачоювое окно Файл новой базы данных

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

Если из начального окна (рис. ЮЛ) пойти по ссылке «Создание с помо­щью шаблона» из раздела «Создание с помощью шаблона», го появится окно шаблонов с вк тадками «Общие» и «Базы данных». Щелчком но соответству­ющей пиктограмме из вкладки «Общие» производится переход к созданию новой базе данных, для чего нужно будет задать папку и имя базы данных в окне Файл новой базы данных.

На вкладке Базы данных (Databases) можно выбрать как основу одну из многих готовых баз данных (здесь представлены различные темы, например, «Контакты», «Мероприя гия», «Склад» и т. д.). Дал! нейшее определение ос­новных параметров базы данных выполняется с помощью Мастера баз дан-

ЕЖЗ

gp db3 : Database (Access 2000 file Format)

IffjOoer. ^ Design jNew >ч

Cr eate table in Design \ iew

" Create t=ible by1 'sing wizard Create table by entering data

IH MS/sAccessObjects

В MSysACEs

UBI MSysubjects

II M^ysQueriej

Objects

HI Tables

|jfp queries EM Forms Я Repurts

ii Hages S Macros Modules

Ш MS sRelationships

Groups

Favorites

Рис. 10.5. Окно базы данных

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

Созданная ЬД может быть автоматически открыта и снабжена справоч­ным окном Access с изложением понят ий по объектам базы данных. Откры тые и созданные Мастером базы данных имеют главные кнопочные формы, позволяющие перейти к работе с данными (окно базы данных при этом свер­нуто).

К созданию БД можно также перейти путем нажатия кнопки Создать (Create) на панели инструментов или по команде меню Файл | Создать базу данных (File | New Database).

Создание таблиц

Перед созданием таблицы нужно открыть базу данных, в которой таблица будет находиться. Это можно сделать с помощью начального окна (рис. 10.1), а также нажатием кнопки Открыть базу данных (Open An Existing Database) панели инстоументов или по команде меню Файл | Открыть (File | Open).

В открытой БД следует выбрать вкладку Таблицы (Tables) и нажать кноп­ку Создать (New). Начать создание таблицы можно также путем выбора в

; ш\

Создание новой таблицы в режиме таблицы

пункте Вставка (Insert) главного меню Access подпункта Таблица (Tables). Ь результате появляется окно, показанное на рис. 10.6.

Новая таблица

Конструитор Мастер таблиц Импорт таблиц Связь с таблицами

Отмена

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

■J

Таблица! : таблица

юно

Имя поля | Тип данных 1

Описание

р

±

Свойств» п<у&

Имя поля мо» i

с стоять из 84

сммослое с учетог

rpouf 1с.

Для с раеки по именам пол< й нажмип клавишч F1.

Оешив Псдстаноь J |

Рис. 10.7. Окно описания чолей таб лицы

Имена полей вводятся в перЬой колонке, типы полей — во второй колон ке, а неооязательные комментарии — в третьей. Среди всего многообразия типов полей особый инт ерес представляет сравнительно недавно появивший ся в современных СУБД новый тип полей - гиперссылки. Более подробно этот тип поля рассмотрен в подразделе 10.5. При желании воспользоваться готовыми структ урами таблиц можно прибегнуть к помощи Построит еля таб­лиц, вызываемого при нажатии на кнопку панели инструментов. При этом появляется окно (рис. 10.8), позволяющее выбрать готовые описания полей.

I 8J Построитель полей

п

выборь., треб^ й образец таблицы, «,зат.,л, q^ 1 Овоазиы таблиц; Обоааиы полей Отмена J

LnM'.ot ijacilbJ'VM

KB®» dFeiiSbuia» ^H^Ei^ii 1

Контакты ,лиенты1 Сотрудник'|1

Де/neot примэнен: С Лк^чосп.-«л!нг- te

Префик! Имя

Отчеств"

Фамилия

Суффикс

Прозвище

Титул

ИмяОрганизации zJ

Рис. 10.8. Окно Построителя полей

При описании структуры таблицы следует обратить внимание на свойс гьо полей, называемое Индет урованнич пиле (Indexed). Оно может принимать с. [едующие значения: Нет (No) — не индексированное, Да (Допускаются со­впадения) (Yes (Duplicates OK)) и Да (Совпадения не допускаются) (Yes (No Duplicates)). Индексация поля в системе Access еще не означает, что поле яв­ляется ключевым. Чтобы сделать поле ключевым, нужно сначала задать свой­ства пиля (полноценно ключевым оно станет только при индексации этого поля, не допускающей совпадения), затем выделить строку описания почя и нажать кнопку на панели инструментов.

Считается нормой, когда таблица имее г хотя бы одно ключевое поле. По­этому при завершении создания таблицы (напоимер, выбором пункта меню Файл | Сохранить (File | Save), нажатием кнопки Сохранить (Save) на па­нели инструментов или закрытием окна создания таблицы) при отсутствии в ней ключа Access предупреждает об этом и предлагает создагь ключ типа Счет­чик (AuloNvmber). При необходимости ключи могут быть созданы и позже.

После создания совок} пности таблиц требуется выполнить связывание таблиц. Как известно, установление табличных связей позволяет контроли­ровать целостность и достоверность информации в базе данных. Кроме того, чем раньше образованы связи между таблицами, тем удобнее создавать мно­готабличные запросы, формы и отчеты. При наличии связей между таблица­ми разрабо гка перечисленных объектов БД ведется с учетом установленных связей.

Связывание таблиц

Для связывания таблиц БД нужно вызвать окно схемы данных. Пример­ный вид окна приведен на рис. 10.9.

После открытия основного окна БД окно схемы базы данных можно выз­вать по команде Сервис | Схема данных (Tools | Relationships) основного меню или с помощью одноименной команды контекстного меню окна БД.

Построение схемы данных состоит в добавлении в нее таблиц и установ­лении связей между таблицами. Добавление таблиц в схему данных обычно пр< >изводится с помощью соответс гьующей-кнопки на панели инструментов.

В случае совпадения имен и типов полей у нескольких таб. шц схемы данных и добавления в схему всех нужных таблиц, Access образует связи автоматически. Если образованны» t с вязи не v< траивают по 1Ьзоват< ля, то их можно изменить.

Если система Access построила не все нужные связи (в общем случае, име­на связываемых полей могут не совпадать) или не строила их вовсе, то обра­зовать новую связь легко. Для этого достаточно в окне схем! i данных по каж­дому связ1 гваемому полю таблицы выполнить следующее: выделить поле, при нажатой левой кнопк< мыши протащить указатель к полю связи другой таб­лицы и отпустить кнопку. 1 [ри этом Access предлагает определить вид и пара­метры связи в соответствующем диалоговом окне (рис. 10.10).

Й' -

* DO

ош 1

я

■Кш — a

КодКлиентг

одСотрудник. |ДатаРаь, ,щиь, |датаНазна«"Нк .атаИспох ;ни 1 Доставка Z

КодЗаказа КодТовара

Цена

Кол№- ю Скидка

Клиенты

' 1 " hr " / \

/ 1 /

/ \

/ 1 / 1

КодЮиента ■*•!

На~>ань 1 Обращаться*' Должност1- Адрес

Типы

КодТта

Категория

Описание

Изображение

- J Схема данных

№ЕЗ

Марка

КодПоставщика Ког.Типа

Единицам :mi ре» Цена НаСклеяе

Ожидается jJ


КодСопрулка Si

Фамилия Имя

Должность -V

К дДостаоки

Назрани Т з. сфон

Рис. 109. Окно схемы базы данных

Edit Relationships

lable/C.uery:

Related Table/Quer-.

Create 1

|таЫе2

jJlabH

li

Cancel

коя2

A

—я

Jou Type.

w

Cre< t(

i~£rforce_ entjaj it

Cd id-To-Many

Г" Са: cade Update Related Fields Г" Ca>cade Deirte P Hated P.ecen ds

Re'aticnsK.) Type:

Рис. 10.10. Окно определения вида и параметров связи

Кнопка Объединение (Join Туре) в правой части окна позволяет устано­вить свойства объединения записей двух таблиц — как участвуют в связи ос­тальные записи таблиц. В появившемся после нажатия этой кнопки окне для выбора предлагаются следующие варианты:

  • объединение записей, в которых связанные поля таб шц совпадав it;

  • объединение всех записей из дополнительной таблицы и тех записей ос­новной таблицы, в которых связанные поля совпадают;

  • объединение всех записей из основной таблицы и тех записей дополни­тельной т аблицы, в которых связанные поля совпадают.

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

Для изменения или удаления имеющихся связей достаточно в схеме дан­ных подвести у казатель мыши к нужной связи, выделить ее шелчком и на­жать правую кнопку. Появится контекстное меню, состоящее из двух пунк­тов, предлагающих соответственно изменить или удалить связь. При выборе первого пункт а появляется окно, показанное на рис. 10.11. Уда тить связь мож­но также, выделив ее мышью, а затем нажав клавишу <Del>.

Система Access при управлении связыванием таблиц отличается нагляд­ностью отображения информации о связях (рис. 10.9). Надписи, стрелки и утолщения на стрелках связей характеризуют вид связи (1:1 или 1:М), вид объединения записей (стрелка указывает* я при объединении записей, в ко­торых связанные поля совпадают), а также признак контроля целостности (утолщение окончаний связывающих линий).

Создание запросов

Перед созданием : tanpoca нужно открыть базу данных, в которой он будет храниться. После этого следует выбрать вк тадку Запросы (Queries) и нажат ь кнопку Создать (New). Начать создание запроса можно также, выбряв в пунк­те Вставка (Insert) главного меню Access подпункт Запрос (Query). В резуль­тате появляется окно (рис. 10.11), в котором пред пгается выбор варианта.

a

1ро< гой запрос Перекре* тный sjnpoc I эвтор ициеся запися: Записи без пцдчин иных

Создание запроса без помощи мастера

0К | Отмена |

Рис. 10.11. Окно г.оздания запроса

Возможны следующие варианты создания запроса:

  • вручную с помощью конструктора — Конструктор (Design View);

  • автоматическое создание простого запроса на выборку — Простой зап­рос (Simple Query Wizard);

  • автоматическое создание перекрестного запроса для компактного пред­ставления данных в гиде сводной (перекрестной) таблицы - Перекрес­тный запрос (Crosstab Query Wizard);

  • автоматическое создание запроса на поиск записей с повторяющимися значениями полей — Повторяющиеся записи (Find Duplicates Queiy Wizard);

  • автоматическое создание запроса на поиск записей ь одной таблице, ко­торые не имеют подчиненных записей в другой таблице — Записи без подчиненных (Find Unmatched Query Wizard).

Создаваемые запросы основаны на полях таблиц и/или запросов из базы данных. Все способы, кроме первого, реализуются с помощью Мастеров, уп­рощающих разработку tanpoca. Если созданный запрос не удовлетворяет тре бованиям, то можно воспользоваться Конструктором, либо созда гь заготов­ку запроса с помощью Мастера, которую затем подправить в режиме Конструктора.

Рассмотрим режим Конструктора как наиболее мощный и незаменимый при создании запросов, выходящих за рамки предлагаемых простейших ва риантов.

Вызов Конст руктора запросов пр< изводит :я при < оздании запроса или от­крытии существующего запроса и переводе его в режим Коне груктора. В пер вом случае перейти в режим Конструктора запросов можно в окне открытой БД из вкладки Запросы (Queries) двумя способами: нажатием кнопки Создать (New) и нажатием кнопки ОК в появившемся окне (рис. 10.11), либо нажат нем кнопки Конструктор (Design). Для переведа запроса в режим Конструктора достаточно щелкнуть мышью по кнопке на панели инструментов. Заметим, что при вызове Конструктора в гпавном меню Access появляется дополнительный пункт Запрос (Query), который имеет подпункты, позволяющие выпо. 1нять различные операции в процессе создания запроса: выполнение запроса, добав­ление таблицы в модель запроса, изменение вида запроса и т. д.

Составление запроса в режиме Конст руктора в общем случае включает в себя определение следующего:

  • таблиц и полей таблиц;

  • вида запроса (выборка, добавление, удаление, перекрестный запрос, SQL- запрос);

  • условий отбора записей;

  • параметров отображения результатов выполнения запроса (показ полей, сортировка значений).

Все эти действия выполняются в запросной форме, которую можно отнес­ти к форме запроса на языке QBE (подразд< л 3.8). Запросная форма включа­ет три основных элемента: заголовок (имя и тип запроса); область таблиц, их полей и связей между таблицами; бланк запроса по образцу.

Для указания таблиц, используемых в запросе, нужно помест ить в запрос­ную форму схемы этих таблиц или запросов и указа гь связи между ними. Включение обы ктов в ^апрос производится в окне Добавление таблицы (ShowTable), которое вызывается автоматически (при создании запроса) или принудительно при работе с запросом путем нажатия кнопки чанели инстру­ментов ,

При создании запроса Access по умолчанию предоставляет заготовку зап­роса на выборку. Изменить вид запроса можно с помощью пункта Запрос (Query) основного меню системы, где возможные виды запросов (выборка, обновление, добавление, удаление, создание таблицы, перекрестный) пере­числены как подпункт ы меню.

Для (оздания заппоса в виде инст рукции языка SQL можно при наличии на экране запросной формы воспользоваться пунктом меню Запрос | Зап­рос SQL (Query | SQL), в котором выбрать нужный вид SQL-запроса (наобъ( - динение, к серверу или управляющий). Подробнее пб использовании языка SQL в Microsoft Access речь идет в подразделе 10.6.

Пример запроса на выборку из двух таблиц, связанных связью 1:1 по по­лям «поле 12» и «пиле21» таблиц 1 и 2 соответственно, с отображением по­пей «поле11», «поле12» и «поле23» в результирующей таблице приведен на рис. 10.12.

Рис. 10.12. Запрос на выборку


Условием отбора записей для вывода является выражение «>] ООО», озна чающее, что значения в поле «поле 15» до. (жны быть больше 1000 (само поле не выводится). Выводимые записи сортируются по убыванию значений в поле «поле11».

Завершить создание заппоса можно следующим образом:

  • выбором пункта меню Файл | Сохранить (File | Save);

  • выбором пункта меню Файл | Сохранить как/Экспорт (F.le | Save As/ Export);

  • нажатием кнопки Сохранить (Save) на панели инструментов;

  • путем закрытия окна создания запроса.

Создание форм

Create a new form without using a wizard

13

OK

Перед началом создания формы следует открыть базу данных, в которой она будет находиться. Собственно создание формы производится в окне от­крытой БД путем выбора вкладки Формы (Forms) и нажатия кнопки Со­здать (New). Начать создание формы можно также, выбрав в пункте Вставка (Insert) главного меню Access подпункт Форма (Form). При этом появляется окно Новая форма (рис. 10.13).

New Form

Form Wizard AutoForm: Columnai AutoForm: Tabular AutoForm: Datasheet AutoForm: nvotT ible AutoForm: PuotChart Chart Wizard Pivot Table Wizard

Choose the table or query whe> e the ubject's data comes from:

Cancel

Рис. 10.13. Окно создания сЬормы

Возможны 9 вариантов создания формы:

  1. с помощью Конструктора — Конструктор (Design View);

  2. с помощью Мастера — Мастер форм (Form Wizard);

  3. t

    автоматическое создание формы стандарт ного вида, в котсгоой поля оаз- мещены в столбец — Автоформа: в столбец (Autofonn: Columnar);

  4. автоматическое создани» > (тандартиой формы в вице таблицы — Авто­форма: табличная (Autoform: Tabular);

  5. авт омат ическое создание стандартной формы, незначительно отличаю­щейся по виду от табличной формы Автоформа: ленточная (Autoform: Datasheet);

  6. автоматическое создание формы в виде сводной таблицы с помощью мастера - Автоформа: сводная таблица;

  7. автоматическое создание формы ь виде сводной диаграммы с помощью мастера - Автоформа: сводная диаграммг;

  8. создание формы с диаграммой — Диаграмма (Chart Wizard);

  9. создание формы со с водной таб тицей Microsoft Excel — Сводная таб­лица (PivotTable Wizard).

Наиболее просто созда гь форму по вариантам J-5. В этих случаях получа­ются нес тожные формы, вк. [ючающие все поля источника данных (таблипы или запроса). После создания форма доступна для просмотра/редактирова­ния данных.

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

Режим Конструктора является наиболее мощным, ни и более трудоемким средством разработки форм. Чтобы сократить общее время разрабо-' .си, целе ■ сообразно перед вызовом Конструктора воспользоваться одним из других способов создания формы, а Конструктор использовать для окончательного приведения формы к нужному виду. Рас смотрим основные возможности Кон­структора.

Вызов Конструктора форм производив я при создании формы или откры­тии существующей формы и переводе ее в режим Конструктора. В первом случае перейти в режим Конструктора форм можно в окне открытой БД из вкладки Формы (Forms) путем нажатия кнопки Создать (New) и нажа гия ОК в появившемся окне (рис. 10.13), либо нажатием кнопки Конструктор (Design). Для перевода открытой формы ь режим Конструктора достаточно щелкнутт мышью по кнопке на панели инструментов.

Окно разработки формы выглядит, как показано на рис. 10.14. Форма в режиме Конст руктора в общем случае сод< ржит следующие области: заголо­вок и приме чание формы, верхний и нижний колонтитулы и облгсть данных (в которой отображаются данньн источников). Обязательной является об­ласть данных, < (стальные — необязательные. В области данных обычно разме­щаются поля таблиц.

il ФормаЗ Форма

ИНЕЗ

i • i • 1 • 1 • 2 ■ 1 • 3 • i • * • 1 • 5 ■ 1 • е • i ■ 7 • i • 8 • i • 9 • i • in •*;

| ■€ Заголовок формы

J

I |

ЪгЖ 1

т г

♦ Верхний колонтитул

III

Г-

Пгй

щ

ш

_

♦ Обг

есть я

[иных

А

аЫ

п

. 1 Г"

р1

17

-г-

-

Ш

j

Eg

-J

у

П±Э

ш

4F Нижний колонгигу

л ■ •: -> . J

Ж]

\|

в

-

1

I ,1 1 1 :

-

1 II 1 1

Г

' ■ t Примечание (гармы

1

т

11

Рис. 10.14. Окни формы в режиме Конструктора

Управлять отображением необязательных областей можно с помощь» i пун кта меню Вид (View) при открытой форме в режиме Кои< труктора. Основные возможности Конст руктора определяются составом инструма ггоь Панели эле ментов (Toolbox), показанной на рис. 10.14. Панель элементов содержит сле­дующие основные инструменты (перечислены слева направо и сверху вниз):

  • Выбор объектов (Select Objects) — используется для выделения, изме нения размера, перемещения и редактирования элементов управления.

  • Мастера (Control Wizards) - кнопка включения/отключения автома­тического вызова Мастеров создания элементов упоавления. Существу ют Мастера по созданию группы, поля со списком, списка и коман хной кнопки.

•Надпись (Label) - предназначена для создания элемента управления содержащего неизменяемый текст. По умолчанию большинство элемен­тов управления содержит присоединенный текстовый элемент.

  • Поле (Text Box) — используется для отображения, ввода или изменения д 1нных, содержащихс я в источнике записей, вывода результатов вычис­лений, а также приема данных, вводимых пользователем.

  • Группа переключателей (Option Group) — служит для создания груп­пы элементов (флажков, переключателей или выключателей), представ ляющих набор альтернативных значений, из которых выбирается одно значение. Если группа присоединена к полю базового запроса, на кото­ром основана форма, или таблицы, то при выборе одного из элементов группы его значение присваивается полю.

  • Выключатель (Toggle Button), Переключатель (Option Button) и Фла­жок (Check Box) — различные по виду, но одинаковые по использова­нию элементы — предназначены для отображения логических значений. Ныбор (включение) элемента приводит к вводу в соответствующее ло­гическое поде значения «Да», «Истина» или «Вкл» (определяется значе­нием свойства поля «Формат поля*). Повторный выбор элемента изме­няет значение на противоположное: «Нет», «Ложь» или «Выкл». Эти элементы можно помещать в группу. Вид отображаемого в базовой таб­лице значения зависит от свойства Тип элемента управления (вкладка Подстановка свойств поля).

  • Поле со списком (Combo Box) представляет составной элемент управ­ления, объединяющий поле и раскрывающийся список. Для ввода зна­чения в пиле базовой таблицы, можно ввести значение в поле или выб­рать значение из списка.

  • Список (List Box) -- предназначен для создания перечня (списка) воз­можных значений. Список можно создать, явно ьводя данные, либо ука­зав источник данных — таблицу или запрос. Список может (.одержать несколько столбцов, причем установка ширины при отображелии любо­го из них делает этот столбец скрытым. Полю, с которым связан список, присваивается значение из множео ва значений одного любого столбца, в том числе скрытого.

  • Кнопка (Command Button) — обычно используется для запуска закреп­ленного за ней макроса или программы на языке Visual Basic.

  • Рисунок (Image) — предназначен для размещения в форме неизменяе­мого рисунка.

  • Свободная рамка объекта (Unbound Object Frame) — используется для размещения объекта из приложения, поддерживающего технологию OLE. Включаемый < >бъект (тановится частью формы, но не хранится в табли­це БД. В качестве объекта может быть электронная таблица, рисунок, диаграмма, звуковой файл и т. д.

  • Присоединеннгя рамка объекта (Bound Object Frame) — использует­ся для включения в фирму OLE-объектов. Некоторые обьекты могут ото­бражаться в форме (например, рисунки, диаг] >аммы или электронные таблицы), другие — выводят в форме в виде значка приложения, в кото­ром этот объект был создан

  • Разрыв страницы (Page Break) — позволяет вставлять разрыв страни­цы в многостраничной форме.

  • Набор вкладок (Tab Control) — позволяет < оздать в форме несколько вкладок, каждая из которых может содержать другие элементы управле­ния.

  • Подчиненная форма/отчет (Subform/Subreport) — предназначен для внедрения в форму некоторой другой (подчиненной) формы.

• Линия (Line) и Прямоугольник (Rectangle) — предназначены для созда­ния соответствующих геометрических фигу]'.

•Другие элементы (More Controls) — кнопка, открывающая список ьсех установленных в системе элеменгов уппавления ActiveX.

Замечание.

При разработке отчетов в режиме Конструктора предоставляется анало­гичная панель элементов. Отсюда - унифицир (ванное название отде. [ьных инструментов (например, Подчиненная форма/отчет), а также текст справ­ки, описывающий работу с формами и с отчетами. Более того, Access позво ляет форму преобразова гь в отчет (см. < правочнук [ систему в разделе «Фор­мы» на странице «Сохранение формы в ииде отчета).

Создание отчетов

Create a new report without using a wizard.

BB

~3

OK

Перед созданием отчета нужно открыть базу данных, ь которой он будет находиться. Собственно создание отчета производится путем нажатия кноп ки Создать (New) в окне открытой БД на вкладке Отчеты (Reports). Начать создание отчета можно также, задав в пункте Вставка (Insert) главного меню Access команду Отчет (Report). В результате появляется окно, показанное на рис. 10.15.

New Report

Report Wizard AutoReport: Columnar AutoReport: Tabula Chart Wizard Label Wizard

Choose the table or query where the object's data comes from:

Cancel

Рис. 10.15. Окно создания отчета

Возможны следующие варианты создания отчета:

  1. с помощью Конструктора - Конструктор (Design View);

  2. с помощью Мастера — Мастер отчетов (Report Wizard);

  3. автоматическое создание отчета стандартного вида, в котором каждая запись базового запроса или таб тицы представлена в виде названия и значения поля — Автоотчет: в столбец (Autoreport:Columnar);

  4. автоматическое создание стандартного отчета, в котором данные запи­си базового запроса или таблицы выводятся в одной строке - Автоот­чет: ленточный (Autoreport:Tabular);

о) создание отчета с диаграммой - Диаграмма (Chart Wizard);

в) создание отчета для печати почтовых наклеек — Почтовые наклейки (Label Wizard).

Проще всего создать отчет по вариантам 3 и 4, требующим наименьшее число параметров. В этих случаях получаются простейшие отчеты, включаю­щие все тюля источника данных (таблицы или запроса). После создания от­чет доступен для просмотра или печати. В режиме Конструктора предостав­ляются более мощные средства, требующие больше знаний и времени для разработки отчета.

Техника работы с Конструктором отчетов мало чем отличается от работы с Конструктором форм. В частности, при этом используется такая же панель элементов (рис. 10.14). Остановимся на важнейших особенностях разработ­ки отчетов в сравнении с (Ьормами.

При работе над отчетом используются те же области, что и при создании форм: области заголовка и примечания, об гасти верхнего и нижнего колон­титулов, а также область данных. Кроме того, в отчеты можно включать обла­сти группировки записей.

Заголовок отчета и примечание выводятся один раз: в начале и конце от­чета соответственно. Верхний/нижний колонтитулы помещаются в начало/ конец каждой страницы отчета. Содержимое области данных выводится один раз для каждой записи исходной таблицы или запроса. Если пользователь задал группировку записей отчета, то по каждому полю, по которому прово­дится группировка данных, Access формирует заголовок и примечание груп­пы. Для создания в отчете области группировки нужно при открытом в режи­ме Коне груктора отчете выбра ть пунгт меню Вид/Сортировка и группировка (View/Sorting And Grouping) или нажать кнопку |[{sj на панели инструмен­тов.

Существенное различие между отчетом и формой заключается в том, что отчеты предназначены исключительно для вывода данных на печать. Поэто­му в них можно отказаться от использования (доступных для включения в отчет) управляющих элементов для ввода данных: списков, полей со спис­ком, переключателей и т. п.

Отчеты могут находиться в двух режимах: Конструктора или Просмотра Просмотреть готовый отчет можно после выделения нужного отчета при на жатии кнопки Просмотр (Preview) в окне БД, выборе пункта менк 1>айл/ Предварительный просмотр (File/Preview) или нажатии кнопки ГД| на па нели инструментов.

Создание макросов

нив

Перед созданием макроса нужно откры ть базу данных, в которой он будет находиться. Собственно создание макроса производится в окне от кры той БД путем выбора вкладки Макросы (Macros) и нажатия кнопки Создать (New). Начать создание макроса можно также, выбрав в пункте Вставка (Insert) глав ного меню Access подпункт Макрос (Macros). В результате открывается окно создания макроса (рис. 10.16).

т Макрос! : макрос

Имя макроса! Условие I Макрокоманда

I гкрьггь Форму

-I— t

t

i

i

-t

показать заставку

Аргументы макрокоманды

Фс,->ма1 Форма

Имя Формь Режим Имя Фильтра Условие сггоора Режим данных Режим окн >

Открытие Формы в режиме Формы, конструктора, таблицы или гросмотре Для справки

нажмите КЛПМИли F1

Изменены Обычно^

Рис. 10.16. Окно создания макроса

Окно создания макроса в общем случае содержит следующие колонки: Имя макроса (Macro Names), Условие (Conditions), Макрокоманда (Action) и Примечание (Comment). Первые две колонки не являются обязательными при создании макросов, поэт( iMy их можно убрать с помощью пункта Вид

(View) меню Access или соответствующих кнопок: 11 и £51 панели инстру­ментов.

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

жение или многоточие «...». F-ели логическое выражение в строке макроко­манды истинно, то выпо. шяется эта макрокоманда и все последующие, в поле Условие (Conditions) которых стоит многоточие. В случае ложности логи­ческого выражения пропускается текущая макрокоманда и все непосредствен­но следующие за ней макрокоманды, содержащие многоточие в поле Усло­вие (Conditions).

Для удобства храпения связанные по с мыслу макросы можно объединять в группы. Полное имя макроса из группы включает в себя имя группы и отде­ленное от него точкой имя макроса. Макрокоманды в макросах представляют собой операции с параметрами из фиксированного в СУБД списка.

Все множество макрокоманд Access по функциональному принципу мож­но условно разделить на следующие группы:

  • открытие и закрытие таблиц, форм и отчетов;

  • вывод данных;

  • выполнение запроса;

  • проверка истинности условий и управление выполнением макрокоманд;

  • установка значений;

  • поиск данных;

  • построение специального меню и выполнение команд меню;

  • управление ьыводом на экран и фокусом;

  • сообщение пользовате. но о выполняемых действиях;

  • переименование, копирование, удаление, импорт и экспорт объектов;

  • запуск других приложений.

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

Замечание.

Существует прием быстрого создания макроса, выполняющего действия над конкретным объектом. Он состоит в выборе объекта (таблицы, формы, макроса и пр.) в окне базы данных и перемещении его с помощью мыши в ячейку макрокоманды в окне макроса. При переносе макроса в ячейку макро­команды вводится накрою >манда, запускающая этот макрос, а при переносе других объектов — в макрос добав. шется макрокоман зд открытия объекта.

Завершая создание макроса, требуется задать его имя. Макрос с именем AutoExec запускается автоматически при открытии базы данных. Временно отменить автоматический запуск этого макроса можно с помощью удержа­ния клавиши <Shift> в момент открыт ия БД. Используя возможности авто­запуска макроса, удобно выпо таять различные подготоьительные оги рации над БД после ее открытия. К таким операциям относятся вывод заставки (на­пример, формы с картинкой) и открытие главной управляющей кнопочной формы.

Созданные и хранимые в БД макросы могут запускаться пользователем либо вызываться из других макросов или программ на Visual Basic, а также при возникновении определенных событий в БД. Событш — это любое рас­познаваемое объектом действие, на которое можно задать реакцию. События возникают в результате действий пользователя, выполнения инструкций Visual Basic или генерируются системой Access. Типичными событиями в Microsoft Access являются, например, нажатие кнопки мыши, изменение дан­ных, а также открытие/закрытие формы или отчета.

Автоматический вызов макросов производят в случае наступления собы­тий в таких объектах БД, как формы и отчеты. Всего существует около 40 собьп ий. По функционгльному назначению события можно разделить на сле­дующие I руппы:

•события данных (Data Events) возникают при вводе, уд гь гении или из­менении данных r форме или элементе управления, а также при переме­щении фокуса с одной записи на другую;

  • события клавиатуры (Keyboard Events) возникают при вводе с к гавиа- туры, а также при передаче нажатий клавиш с помощью макрокоманды «КомандыКтавиа гуры» (SendKeys) или инструкции SendKeys;

  • (обытия ошибки и таймера (Error and Timing Events) используются при обработке ошибок и синхронизации данных в формах;

  • события мыши (Mouse Events) возникают при действиях с мышью, на­пример при нажатии кнопки мыши или при удержании кнопки в нажа­том положении;

•еобытия фильтра (niter Events) возникают при создании или примене­нии фильтра в форме;

  • события печати (Print Events) возникают при печати отчета или при его форматировании для печати;

  • события фокуса (Focus Events) возникают, когда форма или элемент уп­равления теряют/получают фокус, а также в момент, когда они стано­вятся активными/неакт ивными;

  • события окна (Window Events) возникают при отк] >ы тии, изменении раз - м( ров или закрытии формы или отчета.

Для обработки событий в ЬД Access можно исгтользпвать макросы или процедуры обработки событий (на языке Visual Basic для приложений). Что­бы организ< >вать обработку события, нужно в ячейке свойства этого события объекта (фо] гмы, отчета или элемента управления) ввести имя макроса или выбрать элемент [Процедура обработки событий] и нажать кнопку Построителя (рис. 10.17). В последнем случае в соответствующем окне мож но написать нужную V ВА-программу.

йм Форма

Макет } Данные События Другие | Все J Тикущая запись

До вставке

После вставки

До обновления

После обновления Удаление

До подтвер-щенг i Del

После подтверждения Del Открытие ....

Затру; а

i

Процед а оссабоп и событии

zi

Изменение размера Вы) рузка ?эк| ыгие.

Рис. 10. J7. Создание процедуры обработки события

Раз тичные объект ы БД имеют свой перечень событий, которые могут воз­никать в процессе работы с ними в различных режимах. Каждое действие мо­жет явиться причиной ряда других событий, возникающих в определенной последовательности. Понимание того, когда и в какой последовательности воз никают события, существенно, поскольку порядок событий определяет усло­вия и очередность выполнения макросов и процедур обработ ки событий.

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

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

  1. В режиме Конструктора формы/отчета открыть окно свойств объекта или его элемента и выбрать вк тадку События (Events).

  2. Выбрать свойство события, в ответ на которое должна выполняться про­цедура, и нажать кнопку Построителя рядом с ячейкой свойства. Откро­ется окно диалога Построитель (Builder).

  3. Выбрать двойным щелчком кнопки мыши элемент Программы (Programs). В окне модуля пткпоется процедура (если пользователь не создавал ее ранее — заготовка процедуры, содержащая инструкции Sub и End Sub).

  4. Ввести текст программы, которая должна выполняться в ответ на собы тие.

Создание модулей

Для автоматизации выполнения некоторых действий в простейших при­ложениях используют макросы. В некоторых случаях обойтись макпосами не удается и приходится прибегать к написанию VBA-npoi рамм. К примеру, использование npoi раммирования может помочь в решение следующих за­дач:

  • обработка ошибок в приложении;

  • создание собст венной функции обработки, например, округления значе­ния;

  • получение прямого доступа к функциям Windows APT;

  • создание приложения с высокой производительностью (программы ком­пилируются и выполняются быстрее, чем макросы);

  • создание новых объектов БД во время работы приложения.

VBА-программы хранятся в модулях БД, которые бывают двух видов:

  • стандартные — создаются пользователем и видны во вкладке БД Моду­ли (Modules);

  • модули форм/отчетов — создаются автоматически и являются частью этих объектов (форм/отчетов).

Программы на языке VBA составляются в виде процедур двух типов: функций (описатель Function) и подпрогоамм (описатель Sub). Процеду­ра может иметь параметры, через которые ей передаются значения. Основ­ное отличие функции от подпрограммы состоит в том, что перьая может в точку вызова вернуть единственное значение, вторая — значений не воз­вращает. Кроме того, функцию можно вызывать из различных мест, в том числе из макросов и выражений, используемых в запросах, таблицах (в условиях на значение (Validation Rule)) или формах. Подпрограмму мож­но вызвать из функции или как процедуру обработки события в форме или отчете.

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

Для создания стандартного модуля требуется в окне открытой базы дан­ных (рис. 10.5) выбрать вкладку Модули (Modules) и нажа гь кнопку Создать (New). Начать < оздание модуля можно также, задав в пункте Вставка (Insert) главного меню Access команду Модуль (Module).

Для редактирования модуля формы/отчета в окне открытой БД нужно выделить мышью соответствующий объект или перевести его в режим Кон­структора. Затем в меню Вид (View) выбрать пункт Программа (Code) или нажат ь кнопку raj панели инструментов. Ввод и редакт ирование текс гов про­грамм стандарт hi п о модуля или модуля формы/отчета производится в окне моду ля (рис. 10.18).