Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для высших учебных заведений (6-е изд.) - 2009

.pdf
Скачиваний:
4951
Добавлен:
14.05.2016
Размер:
14.64 Mб
Скачать

10. СУБД Access 2002

2 9 3

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

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

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

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

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

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

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

Перед созданием запроса нужно открыть базу данных, в которой он будет храниться. После этого следует выбрать вкладку З а п р о с ы ( Q u e r i e s ) и нажать кнопку С о з д а т ь ( N e w ) . Начать создание запроса можно также, выбрав в пункте Вставка (Insert) главного меню Access подпункт З а п р о с ( Q u e r y ) . В результате появляется окно (рис. 10.11), в котором предлагается выбор варианта.

Простой запрос Перекрестный запрос Повторяющиеся записи

Записи без подчиненных

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

ОК.

|

Отмена j

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

2 9 4 Часть 3. Современные СУБД и их применение

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

• вручную с помощью конструктора — К о н с т р у к т о р ( D e s i g n V i e w ) ;

• автоматическое создание простого запроса на выборку — Простой зап-

р о с ( S i m p l e Q u e r y W i z a r d ) ;

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

т н ы й з а п р о с ( C r o s s t a b Q u e r y W i z a r d ) ;

• автоматическое создание запроса на поиск записей с повторяющимися

значениями полей — П о в т о р я ю щ и е с я з а п и с и ( F i n d D u p l i c a t e s Q u e r y

W i z a r d ) ;

• автоматическое создание запроса на поиск записей в одной таблице, которые не имеют подчиненных записей в другой таблице — З а п и с и б е з

п о д ч и н е н н ы х ( F i n d U n m a t c h e d Q u e r y W i z a r d ) .

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

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

Вызов Конструктора запросов производится при создании запроса или открытии существующего запроса и переводе его в режим Конструктора. В первом случае перейти в режим Конструктора запросов можно в окне открытой БД из вкладки З а п р о с ы ( Q u e r i e s ) двумя способами: нажатием кнопки С о з д а т ь (New) и нажатием кнопки О К в появившемся окне (рис. 10.11), либо нажатием кнопки К о н с т р у к т о р ( D e s i g n ) . Для перевода запроса в режим Конструктора достаточно щелкнуть мышью по кнопке на панели инструментов. Заметим, что при вызове Конструктора в главном меню Access появляется дополнительный пункт З а п р о с ( Q u e r y ) , который имеет подпункты, позволяющие выполнять различные операции в процессе создания запроса: выполнение запроса, добавление таблицы в модель запроса, изменение вида запроса и т. д.

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

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

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

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

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

10. СУБД Access 2002

295

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

Для указания таблиц, используемых в запросе, нужно поместить в запросную форму схемы этих таблиц или запросов и указать связи между ними. Включение объектов в запрос производится в окне Д о б а в л е н и е т а б л и ц ы ( S h o w Table), которое вызывается автоматически (при создании запроса) или принудительно при работе с запросом путем нажатия кнопки панели инструментов.

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

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

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

й|Р ЗапросЗ : tanpoc на выборку

>1

поле11

поле! 2

поле13 поле 14

Поле:

поле11

поле12

поле23

поле15

I

""

Имя таблицы:

Таблица1

Таблица1

Таблица2

Таблица1

I

 

Сортировка:

по убыванию

м

И

п

 

Вывод на экран:

и

I

 

Условие отбора:

 

 

 

>1000

i

 

или:

dJ

 

 

 

!

^

 

 

 

 

 

-if

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

296

Часть 3. Современные СУБД и их применение

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

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

• выбором пункта меню Ф а й л

| С о х р а н и т ь

(File | Save);

• выбором пункта меню Ф а й л

| С о х р а н и т ь

к а к / Э к с п о р т (File | Save A s /

Export);

 

 

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

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

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

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

New Form

Create a new form without using a wizard.

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

Form Wizard

AutoForm: Columnar

AutoForm: Tabular

AutoForm: Datasheet

AutoForm: PivotTable

AutoForm: PivotChart

Chart Wizard

PivotTable Wizard

|

1

I

— *

OK I Cancel

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

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

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

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

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

10. СУБД Access 2002

2 97

4) автоматическое создание стандартной формы в виде таблицы — Авто-

фо р м а : т а б л и ч н а я ( A u t o f o r m : T a b u l a r ) ;

5)автоматическое создание стандартной формы, незначительно отличаю-

щейся по виду от табличной формы — А в т о ф о р м а : л е н т о ч н а я ( A u t o f o r m :

D a t a s h e e t ) ;

6) автоматическое создание формы в виде сводной таблицы с помощью

мастера — А в т о ф о р м а : с в о д н а я т а б л и ц а ;

7) автоматическое создание формы в виде сводной диаграммы с помощью

мастера — А в т о ф о р м а : с в о д н а я д и а г р а м м а ;

8) создание формы с диаграммой — Д и а г р а м м а ( C h a r t W i z a r d ) ;

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

л и ц а ( P i v o t T a b l e W i z a r d ) .

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

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

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

структора.

!

Вызов Конструктора

форм производится при создании формы или откры-

тии существующей формы и переводе ее в режим Конструктора. В первом случае перейти в режим Конструктора форм можно в окне открытой БД из вкладки Ф о р м ы ( F o r m s ) путем нажатия кнопки С о з д а т ь ( N e w ) и нажатия ОК в появившемся окне (рис. 10.13), либо нажатием кнопки К о н с т р у к т о р ( D e s i g n ) . Для перевода открытой формы в режим Конструктора достаточно щелкнуть мышью по кнопке на панели инструментов.

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

2 9 8

Часть3. Современные СУБД и их применение

| Щ ФормаЗ : Форма

И Е Л

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

Управлять отображением необязательных областей можно с помощью пункта меню В и д ( V i e w ) при открытой форме в режиме Конструктора. Основные возможности Конструктора определяются составом инструментов П а н е л и э л е - м е н т о в ( T o o l b o x ) , показанной на рис. 10.14. Панель элементов содержит следующие основные инструменты (перечислены слева направо и сверху вниз):

• В ы б о р о б ъ е к т о в ( S e l e c t O b j e c t s ) — используется для выделения, изменения размера, перемещения и редактирования элементов управления.

Мастера (Control Wizards) — кнопка включения/отключения автома-

тического вызова Мастеров создания элементов управления. Существуют Мастера по созданию группы, поля со списком, списка и командной кнопки.

• Н а д п и с ь ( L a b e l ) — предназначена для создания элемента управления,

 

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

 

тов управления содержит присоединенный текстовый элемент.

П о л е (Text B o x ) — используется для отображения, ввода или изменения

 

данных, содержащихся в источнике записей, вывода результатов вычис-

 

лений, а также приема данных, вводимых пользователем.

Г р у п п а п е р е к л ю ч а т е л е й ( O p t i o n G r o u p ) — служит для создания груп-

 

пы элементов (флажков, переключателей или выключателей), представ-

 

ляющих набор альтернативных значений, из которых выбирается одно

 

значение. Если группа присоединена к полю базового запроса, на кото-

 

ром основана форма, или таблицы, то при выборе одного из элементов

 

группы его значение присваивается полю.

10. СУБД Access 2002

2 99

• В ы к л ю ч а т е л ь ( T o g g l e B u t t o n ) , П е р е к л ю ч а т е л ь ( O p t i o n B u t t o n ) и Ф л а -

ж о к ( C h e c k B o x ) — различные по виду, но одинаковые но использованию элементы — предназначены для отображения логических значений. Выбор (включение) элемента приводит к вводу в соответствующее логическое поле значения «Да», «Истина» или «Вкл» (определяется значением свойства поля «Формат поля»). Повторный выбор элемента изменяет значение на противоположное: «Нет», «Ложь» или «Выкл». Эти элементы можно помещать в группу. Вид отображаемого в базовой таблице значения зависит от свойства Тип элемента управления (вкладка Подстановка свойств поля).

• П о л е с о с п и с к о м ( C o m b o B o x ) представляет составной элемент управления, объединяющий поле и раскрывающийся список. Для ввода значения в поле базовой таблицы, можно ввести значение в поле или выбрать значение из списка.

• С п и с о к (List B o x ) — предназначен для создания перечня (списка) воз-

 

можных значений. Список можно создать, явно вводя данные, либо ука-

 

зав источник данных — таблицу или запрос. Список может содержать

 

несколько столбцов, причем установка ширины при отображении любо-

 

го из них делает этот столбец скрытым. Полю, с которым связан список,

 

присваивается значение из множества значений одного любого столбца,

 

в том числе скрытого.

К н о п к а ( C o m m a n d B u t t o n ) — обычно используется для запуска закреп-

 

ленного за ней макроса или программы на языке Visual Basic.

Р и с у н о к ( I m a g e ) — предназначен для размещения в форме неизменяе-

 

мого рисунка.

С в о б о д н а я р а м к а о б ъ е к т а ( U n b o u n d O b j e c t F r a m e ) — используется для

 

размещения объекта из приложения, поддерживающего технологию OLE.

 

Включаемый объект становится частью формы, но не хранится в табли-

 

це БД. В качестве объекта может быть электронная таблица, рисунок,

 

диаграмма, звуковой файл и т. д.

П р и с о е д и н е н н а я р а м к а о б ъ е к т а ( B o u n d O b j e c t F r a m e ) — использует-

 

ся для включения в форму OLE-объектов. Некоторые объекты могут ото-

 

бражаться в форме (например, рисунки, диаграммы или электронные

 

таблицы), другие — выводят в форме в виде значка приложения, в кото-

 

ром этот объект был создан.

Р а з р ы в с т р а н и ц ы ( P a g e B r e a k ) — позволяет вставлять разрыв страни-

 

цы в многостраничной форме.

Н а б о р в к л а д о к ( T a b C o n t r o l ) — позволяет создать в форме несколько

 

вкладок, каждая из которых может содержать другие элементы управле-

 

ния.

П о д ч и н е н н а я ф о р м а / о т ч е т ( S u b f o r m / S u b r e p o r t ) — предназначен для

 

внедрения в форму некоторой другой (подчиненной) формы.

300

Часть 3. Современные СУБД и их применение

• Л и н и я (Line) и П р я м о у г о л ь н и к ( R e c t a n g l e ) — предназначены для создания соответствующих геометрических фигур.

• Д р у г и е э л е м е н т ы ( M o r e C o n t r o l s ) — кнопка, открывающая список всех установленных в системе элементов управления ActiveX.

Замечание.

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

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

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

New Report

Create a new report without using a wizard.

B E !

Report Wizard

AutoReport: Columnar

AutoReport: Tabular

Chart Wizard

Label Wizard

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

U

OK I Cancel

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

10. СУБД Access 2002

301

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

1) с помощью Конструктора — К о н с т р у к т о р ( D e s i g n V i e w ) ; 2 ) с п о м о щ ь ю М а с т е р а — М а с т е р о т ч е т о в ( R e p o r t W i z a r d ) ;

3) автоматическое создание отчета стандартного вида, в котором каждая запись базового запроса или таблицы представлена в виде названия и

значения поля — А в т о о т ч е т : в с т о л б е ц ( A u t o r e p o r t : C o l u m n a r ) ;

4) автоматическое создание стандартного отчета, в котором данные записи базового запроса или таблицы выводятся в одной строке — А в т о о т -

че т : л е н т о ч н ы й ( A u t o r e p o r t : T a b u l a r ) ;

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

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

( L a b e l W i z a r d ) .

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

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

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

Заголовок отчета и примечание выводятся один раз: в начале и конце отчета соответственно. Верхний/нижний колонтитулы помещаются в начало/ конец каждой страницы отчета. Содержимое области данных выводится один раз для каждой записи исходной таблицы или запроса. Если пользователь задал группировку записей отчета, то по каждому полю, по которому проводится группировка данных, Access формирует заголовок и примечание группы. Для создания в отчете области группировки нужно при открытом в режиме Конструктора отчете выбрать пункт меню В и д / С о р т и р о в к а и г р у п п и р о в к а ( V i e w / S o r t i n g A n d G r o u p i n g ) или нажать кнопку | | на панели инструментов.

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

302

Часть 3. Современные СУБД и их применение

Отчеты могут находиться в двух режимах: Конструктора или Просмотра. Просмотреть готовый отчет можно после выделения нужного отчета при на-

жатии кнопки П р о с м о т р (Preview)

в окне БД, выборе пункта меню

Ф а й л /

П р е д в а р и т е л ь н ы й п р о с м о т р (File/Preview) и л и н а ж а т и и к н о п к и Q j

на п а -

нели инструментов.

 

 

Создание

макросов

 

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

 

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

 

Я З Е 3

 

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

I

Примечание

Ы

_ t

ОткрытьФорму

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

 

 

 

 

 

 

zl

 

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

 

Имя Формы

Форма1

Открытие

Режим

Форма

Формы в

Имя Фильтра

 

режиме

Условие отбора

 

Формы

Режим данных

Изменение

конструктора,

таблицы или

Режим окна

Обычное

просмотра.

 

 

 

 

Для справки

 

 

нажмите

 

 

К nARUIIIU F1

 

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

 

Окно создания макроса в общем случае содержит следующие колонки: Имя

м а к р о с а ( M a c r o N a m e s ) , У с л о в и е ( C o n d i t i o n s ) , М а к р о к о м а н д а (Action) и П р и м е ч а н и е ( C o m m e n t ) . Первые две колонки не являются обязательными при создании макросов, поэтому их можно убрать с помощью пункта Вид

(View) меню Access или соответствующих кнопок: * (J и панели инстру-

ментов.

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