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

access

.pdf
Скачиваний:
11
Добавлен:
11.02.2016
Размер:
597.89 Кб
Скачать

Рис.13. Автоформа в столбец

Рис. 14. Ленточная автоформа

Рис. 15. Табличная автоформа

В нижней части формы отображается номер текущей записи. С помо- щью кнопок перехода можно перемещаться между записями (рис.16).

К предыдущей

записи табли-

К последней

записи табли-

К первой запи-

 

К последую-

 

 

К новой запи-

си таблицы

 

щей записи

 

 

 

си таблицы

Рис. 16. Кнопки перемещения между записями

 

11

PDF created with pdfFactory Pro trial version www.pdffactory.com

1.6.1.Создание автоформы

1.Открыть вкладку Формы в окне База данных (рис.2) и щёлкнуть по кнопке Создать. Открывается окно Новая форма (рис.17).

2.Выбрать вид автоформы и таблицу, для которой создаётся автоформа.

Рис. 17 . Диалоговое окно Новая форма

1.6.2.Создание формы с помощью Мастера

1.Открыть вкладку Формы в окне База данных (рис.2) и щёлкнуть по кнопке Создать. Открывается окно Новая форма (рис.17).

2.Выбрать в диалоговом окне Новая форма пункт Мастер форм.

3.Следуя указаниям Мастера форм, выбрать:

таблицы и поля для отображения в форме;

внешний вид формы (в один столбец, ленточный, табличный или выровненный);

фоновый рисунок формы;

имя формы.

1.7.Задание на выполнение

1.Запустить программу Microsoft Access.

2.Создать файл базы данных Кадры_Фамилия.mdb (в имени файла указать свою фамилию).

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

Имя поля

Тип поля

Размер поля

Примечания

КодСотрудника

Счётчик

Длинное целое

Назначить данное по-

 

 

 

ле ключевым

Фамилия

Текстовый

20

 

Имя

Текстовый

20

 

Отчество

Текстовый

20

 

Должность

Текстовый

30

 

Оклад

Денежный

 

 

ДатаНазначения

Дата/время

 

 

 

 

 

12

PDF created with pdfFactory Pro trial version www.pdffactory.com

4.Сохранить таблицу с именем СОТРУДНИКИ.

5.Заполнить таблицу информацией (10 - 12 записей). Предусмотреть ввод в

поле Должность значений Инженер, Бухгалтер, Менеджер. Предусмот-

реть ввод данных о сотруднике с фамилией Иванов и должностью бух-

галтер.

6.На основе таблицы СОТРУДНИКИ создать автоформу в столбец. Сохра-

нить автоформу с именем СОТРУДНИКИ

7.Просмотреть все записи таблицы в режиме формы.

8.Добавить в таблицу две новые записи в режиме формы.

9.Перейти в режим просмотра таблицы.

10.Удалить одну запись из таблицы.

11.Отсортировать записи в алфавитном порядке по полю Фамилия.

12.Выполнить в таблице поиск записей, имеющих в поле Должность значе-

ние Менеджер.

13.Установить фильтр, оставив в таблице только те записи, в которых поле

Должность содержит значение Инженер. 14.Предъявить результат работы преподавателю. 15.Удалить фильтр.

16.Закрыть базу данных, сохранив все изменения.

17.Завершить работу Microsoft Access.

2. ЛАБОРАТОРНАЯ РАБОТА №2

Тема: Связывание таблиц реляционной базы данных.

Цель работы: Научиться устанавливать связи между таблицами реля- ционной базы данных.

2.1. Краткие теоретические сведения

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

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

13

PDF created with pdfFactory Pro trial version www.pdffactory.com

Различают три типа связей (отношений) между таблицами базы данных:

1. Отношение «один-к-одному»

Каждая запись в таблице А может иметь не более одной связанной с ней записи в таблице В и наоборот.

Этот тип связи используют:

а) для разделения очень широких таблиц; б) для отделения части таблицы по соображениям защиты.

Например, сведения о сотрудниках некоторого предприятия можно хра- нить в двух таблицах:

СОТРУДНИКИ

 

ЛИЧНЫЕ ДАННЫЕ

КодСотрудника

 

КодСотрудника

Фамилия

 

Дата рождения

Имя

 

Адрес

Отчество

 

Телефон

Должность

 

 

Оклад

 

 

ДатаНазначения

 

 

Связь между таблицами устанавливается при помощи совпадающего по-

ля КодСотрудника.

2. Отношение «один-ко-многим»

Каждой записи в таблице А могут соответствовать несколько записей в таблице В, а запись в таблице В не может иметь более одной соответст- вующей ей записи в таблице А.

Ключевое поле главной таблицы (сторона отношения «один») называется первичным ключом, а соответствующее поле связанной таблицы (сторона отношения «многие») называется внешним ключом.

Примером такого отношения могут служить таблицы

СОТРУДНИКИ

 

 

КОМАНДИРОВКИ

КодСотрудника

 

 

КодКомандировки

Фамилия

 

 

КодСотрудника

 

 

Имя

 

 

Город

Отчество

 

 

ДатаОтъезда

Должность

 

 

ДатаПриезда

Оклад

 

 

РазмерСуточных

ДатаНазначения

 

 

 

Каждой записи в таблице СОТРУДНИКИ (таблица А) могут соответст- вовать несколько записей в таблице КОМАНДИРОВКИ (таблица В) с таким же значением в поле КодСотрудника, а каждая запись в таблице

КОМАНДИРОВКИ не может иметь более одной соответствующей ей записи в таблице СОТРУДНИКИ.

14

PDF created with pdfFactory Pro trial version www.pdffactory.com

3. Отношение «многие – ко - многим»

Одной записи в таблице А могут соответствовать несколько записей в таблице В. И наоборот, одной записи в таблице В могут соответствовать несколько записей в таблице А.

Такая связь реализуется только с помощью третьей (связующей) табли- цы. Примером может служить таблицы ЧИТАТЕЛИ и КНИГИ. Связь между ними организуется посредствам таблицы АБОНЕМЕНТ.

ЧИТАТЕЛИ

 

АБОНЕМЕНТ

 

 

КНИГИ

КодЧитателя

 

КодЧитателя

 

 

КодКниги

 

 

 

Фамилия

 

КодКниги

 

 

ШифрКниги

 

 

 

 

 

 

Имя

 

ДатаВыдачи

 

 

Автор

Отчество

 

ДатаВозврата

 

 

Название

Адрес

 

 

 

 

ГодИздания

Каждой записи в таблице ЧИТАТЕЛИ (таблица А) могут соответство- вать несколько записей в таблице КНИГИ (таблица В), и наоборот, каждая запись таблицы КНИГИ может иметь более одной соответствующей ей запи- си в таблице ЧИТАТЕЛИ. Соответствие устанавливается с помощью табли- цы АБОНЕМЕНТ.

2.2. Создание связей между таблицами

Для создания связей используется диалоговое окно Схема данных, ко-

торое открывается щелчком по одноименной кнопке или в меню Сер-

вис – Схема данных (рис. 18). Одновременно с окном Схема данных от-

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

Рис. 18. Диалоговое окно Схема данных

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

зи показываются с помощью линий в окне Схема данных (рис. 19).

15

PDF created with pdfFactory Pro trial version www.pdffactory.com

Рис. 19. Связанные таблицы в окне Схема данных

2.3. Подчиненные формы

Подчиненная форма - это форма, находящаяся внутри другой формы. Первичная форма называется главной формой, а форма внутри формы назы- вается подчиненной формой.

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

с подчиненной формой для вывода данных из таблицы СОТРУДНИКИ и из таблицы КОМАНДИРОВКИ (рис. 20). Данные в таблице СОТРУДНИКИ на- ходятся на стороне «один» отношения. Данные в таблице КОМАНДИРОВКИ находятся на стороне «многие» отношения (каждый сотрудник может иметь несколько командировок).

Глав-

ная

Подчи нен-

ная

Рис. 20. Пример подчиненной формы

Главная форма и подчиненная форма связаны таким образом, что в под-

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

Подчиненная форма может быть выведена в режиме таблицы (рис.20), или она может быть выведена как простая или ленточная форма. Главная форма может быть выведена только как простая форма.

16

PDF created with pdfFactory Pro trial version www.pdffactory.com

2.3.1. Создание формы, содержащей подчиненную форму

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

1.В окне База данных (рис. 2) на вкладке Формы нажать кнопку Создать.

2.В окне диалога Новая форма (рис. 17) выбрать Мастер форм.

3.В первом окне диалога мастера выбрать таблицу или запрос из списка. Например, для создания формы КОМАНДИРОВКИ_СОТРУДНИКОВ, имеющей подчиненную форму, в которой отображаются командировки каждого сотрудника, следует выбрать таблицу СОТРУДНИКИ

4.Выбрать поля таблицы или запроса, которые следует включить в форму.

5.В том же окне диалога мастера выбрать другую таблицу или запрос из списка. Используя тот же пример формы КОМАНДИРОВКИ_ СОТРУДНИКОВ, следует выбрать таблицу КОМАНДИРОВКИ.

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

7.Если до запуска мастера связи установлены правильно, то после нажатия кнопки Далее, предлагается выбрать таблицу или запрос, используемые для представления данных.

Используя тот же пример формы КОМАНДИРОВКИ_СОТРУДНИКОВ, следует выбрать - по СОТРУДНИКИ.

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

9.Выполнить необходимые действия в остальных окнах диалога мастера.

 

 

 

2.4. Задание на выполнение

 

 

1.

Запустить программу Microsoft Access.

 

 

2.

Открыть базу данных Кадры_Фамилия.mdb

 

 

3.

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

 

 

Имя поля

Тип поля

Размер поля

Примечания

 

 

 

КодСотрудника

Числовой

Длинное целое

Назначить

данное

 

 

 

 

 

поле ключевым

 

 

ДатаРождения

Дата/время

 

 

 

 

 

Адрес

Текстовый

50

 

 

 

 

Телефон

Текстовый

10

 

 

4.

Сохранить таблицу с именем ЛИЧНЫЕ_ ДАННЫЕ.

 

 

5.

Заполнить таблицу ЛИЧНЫЕ_ ДАННЫЕ информацией. В поле КодСот-

 

 

рудника вводить те же значения, что содержатся в одноимённом поле

 

 

таблицы СОТРУДНИКИ. Для удобства ввода следует открыть таблицу

 

 

СОТРУДНИКИ и таблицу ЛИЧНЫЕ_ ДАННЫЕ, и установить размеры и

 

 

положение на экране каждой из таблиц таким образом, чтобы видеть од-

 

 

новременно содержимое обеих таблиц.

 

 

17

PDF created with pdfFactory Pro trial version www.pdffactory.com

6.Установить связь между таблицами СОТРУДНИКИ и ЛИЧНЫЕ_ ДАННЫЕ (отношение «один к одному»).

Вокне Схема данных перетащить мышью поле КодСотрудника из таблицы СОТРУДНИКИ на одноименное поле таблицы ЛИЧНЫЕ_ ДАННЫЕ.

7.В режиме Мастер форм создать форму, базирующуюся на таблицах СОТРУДНИКИ и ЛИЧНЫЕ_ДАННЫЕ (включить все поля таблицы СОТРУДНИКИ, а также поля ДатаРождения, Адрес, Телефон таблицы ЛИЧНЫЕ_ДАННЫЕ).

8.Сохранить форму с именем ЛИЧНЫЕ_ДАННЫЕ_СОТРУДНИКОВ.

9.Ввести с помощью формы ЛИЧНЫЕ_ДАННЫЕ_СОТРУДНИКОВ ин-

формацию об одном новом сотруднике в таблицы СОТРУДНИКИ и ЛИЧНЫЕ_ДАННЫЕ.

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

Имя поля

Тип поля

Размер поля

Примечания

КодКомандировки

Счётчик

Длинное целое

Ключевое поле

КодСотрудника

Числовой

Длинное целое

 

Город

Текстовый

30

 

ДатаОтъезда

Дата/время

 

 

ДатаПриезда

Дата/время

 

 

РазмерСуточных

Денежный

 

 

11.Сохранить таблицу с именем КОМАНДИРОВКИ.

12.Установить связь между таблицами СОТРУДНИКИ и КОМАНДИРОВКИ. В окне Схема данных перетащить мышью поле КодСотрудника из таб- лицы СОТРУДНИКИ на одноименное поле таблицы КОМАНДИРОВКИ.

В результате между таблицами базы данных должны быть установлены сле- дующие связи:

ЛИЧНЫЕ_ДАННЫЕ

 

СОТРУДНИКИ

 

 

КОМАНДИРОВКИ

КодСотрудника

 

КодСотрудника

 

 

КодКомандировки

ДатаРождения

 

Фамилия

 

 

КодСотрудника

Адрес

 

Имя

 

 

Город

Телефон

 

Отчество

 

 

ДатаОтъезда

 

 

Должность

 

 

ДатаПриезда

 

 

Оклад

 

 

РазмерСуточных

 

 

ДатаНазначения

 

 

 

13.В режиме Мастер форм создать форму с подчинённой формой с именем КОМАНДИРОВКИ_СОТРУДНИКОВ, базирующуюся на таблицах СОТРУДНИКИ и КОМАНДИРОВКИ.

14.Заполнить таблицу КОМАНДИРОВКИ информацией, используя форму КОМАНДИРОВКИ_СОТРУДНИКОВ. При вводе данных учесть, что не- которые сотрудники могут не иметь командировок, а некоторые могут иметь несколько командировок.

18

PDF created with pdfFactory Pro trial version www.pdffactory.com

15. Предъявить результат работы преподавателю.

18.Закрыть базу данных, сохранив все изменения.

19.Завершить работу Microsoft Access.

3. ЛАБОРАТОРНАЯ РАБОТА №3

Тема: Выборка данных из таблиц реляционной базы данных с помощью запросов.

Цель работы: Научиться создавать простые запросы на выборку и за- просы с параметрами, научиться создавать вычисляемые поля в запросах.

3.1. Краткие теоретические сведения

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

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

3.1.1. Запросы на выборку

Для создания запроса на выборку используются бланк запроса по образцу. С его помощью запрос создается перетаскиванием элементов запроса между окнами. Бланк запроса по образцу имеет две панели (рис. 21). На верхней панели расположены списки полей таблиц, на которых основывается запрос. Строки нижней панели определяют структуру запроса.

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

Рис. 21. Бланк запроса по образцу

19

PDF created with pdfFactory Pro trial version www.pdffactory.com

В строке Сортировка можно выбрать способ сортировки. В строке Вы-

вод на экран можно запретить вывод значений данного столбца на экран (сбросить флажок). В строке Условие отбора и расположенных под ней строках можно задать критерии отбора записей таблиц для включения в за- прос.

Запуск запроса выполняется щелчком по кнопке Запуск на панели инструментов или командами в меню Запрос - Запуск. При запуске образу- ется результирующая таблица.

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

меню Вид - Конструктор.

Примеры записи условий отбора в запросах приведены в таблице 2.

 

 

 

Таблица 2

 

Записано

 

Следует читать

 

 

 

 

А*

 

 

Значение в поле начинается с символа "А",

 

 

 

остальные символы могут быть любыми

> = 60

 

 

Значение в поле > = 60

 

 

 

NOT “Ontario”

 

Значение в поле не равно “Ontario”

 

 

 

 

Between

1.12.96

AND

Значения в поле типа дата в диапазоне от

15.12.96

 

 

1.12.96 до 15.12.96

 

 

 

Between 10 AND 100

 

Значение в поле в диапазоне от 10 до 100

 

 

 

 

Условия отбора могут быть записаны в одной строке. Тогда при выпол- нении запроса будут отбираться те записи из таблиц, для которых выполнены все условия отбора. Если условия отбора находятся на разных строках блан- ка, то будут отбираться те записи, для которых выполняется хотя бы одно из условий.

Например, в случае записи условий отбора так, как показано на рисунке 22, будут отбираться те записи из таблицы СОТРУДНИКИ, для которых зна- чение в поле КодСотрудника больше 4 и при этом значение в поле Оклад меньше 3000.

20

PDF created with pdfFactory Pro trial version www.pdffactory.com