Работа с СУБД MS ACCESS:
Выбери формат для чтения
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
РАБОТА С СУБД MS ACCESS:
ЛАБОРАТОРНЫЙ ПРАКТИКУМ
Богатикова Е.О.
ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ ....................................................................................................................................... 3
РАЗРАБОТКА СТРУКТУРЫ БД .................................................................................................... 4
СОЗДАНИЕ НОВОЙ БАЗЫ ДАННЫХ ......................................................................................... 7
СОЗДАНИЕ ТАБЛИЦ ...................................................................................................................... 8
СОЗДАНИЕ СВЯЗЕЙ МЕЖДУ ТАБЛИЦАМИ .......................................................................... 17
СОЗДАНИЕ ЗАПРОСОВ ............................................................................................................... 20
ЗАПРОСЫ НА ВЫБОРКУ ................................................................................................................ 20
ЗАПРОСЫ С ВЫЧИСЛЯЕМЫМИ ПОЛЯМИ ..................................................................................... 24
ВЫЧИСЛЕНИЯ С ТЕКСТОВЫМИ ПОЛЯМИ ................................................................................ 24
ВЫЧИСЛЕНИЯ С ЧИСЛОВЫМИ ПОЛЯМИ ................................................................................. 27
ВЫЧИСЛЕНИЯ С ПОЛЯМИ ТИПА ДАТА/ВРЕМЯ ........................................................................ 29
ЗАПРОСЫ С ПАРАМЕТРАМИ .......................................................................................................... 30
ИТОГОВЫЕ ЗАПРОСЫ ................................................................................................................... 34
ПЕРЕКРЕСТНЫЕ ЗАПРОСЫ ........................................................................................................... 36
ОТЧЕТЫ.......................................................................................................................................... 51
ФОРМЫ ........................................................................................................................................... 63
УСТАНОВКА ПАРАМЕТРОВ ЗАПУСКА ДЛЯ БАЗЫ ДАННЫХ ........................................... 87
ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ ................................................................... 89
ЗАДАНИЕ 1. СТРУКТУРА БАЗЫ ДАННЫХ ...................................................................................... 89
ЗАДАНИЕ 2. СОЗДАНИЕ ТАБЛИЦ И ЗАДАНИЕ СВЯЗЕЙ МЕЖДУ НИМИ. ........................................ 93
ЗАДАНИЕ 3. ЗАПРОСЫ НА ВЫБОРКУ ............................................................................................ 94
ЗАДАНИЕ 4. ЗАПРОСЫ С ВЫЧИСЛЯЕМЫМИ ПОЛЯМИ ................................................................. 95
ЗАДАНИЕ 5. ЗАПРОСЫ С ПАРАМЕТРАМИ ..................................................................................... 98
ЗАДАНИЕ 6. ИТОГОВЫЕ ЗАПРОСЫ ............................................................................................... 99
ЗАДАНИЕ 7. ПЕРЕКРЕСТНЫЕ ЗАПРОСЫ....................................................................................... 100
ЗАДАНИЕ 8. ОТЧЕТЫ .................................................................................................................. 102
ЗАДАНИЕ 9. ФОРМЫ. ПАРАМЕТРЫ ЗАПУСКА. ........................................................................... 104
2
ВВЕДЕНИЕ
Данное учебно-методическое пособие поможет разобраться с системой управления
базами данных Microsoft Access 2010 на примере создания базы данных «Поликлиника».
Пособие состоит из отдельных глав, посвященных объектам Access. В конце пособия
приведены задания для самостоятельной работы.
3
РАЗРАБОТКА СТРУКТУРЫ БД
Правильная структура базы данных подразумевает:
распределение данных по тематическим таблицам в целях сокращения объема повторяющихся данных;
добавление полей, необходимых для объединения сведений, которые содержатся в таблицах;
возможность поддержания и отслеживания точности и целостности данных;
соответствие требованиям к обработке данных и созданию отчетов.
MS Access относится к реляционным СУБД. Реляционная модель данных — это множество взаимосвязанных отношений. Таблица
данных, в которой строка описывает экземпляр из заданной предметной области и в каждом столбце которой размещаются значения одного
свойства экземпляров, наглядно представляет объектное отношение. Предметная область – элементы материальной системы, информация о
которых хранится и обрабатывается в БД. Простейший вариант реляционной модели — одно отношение. В базе данных — одна таблица. В
таблице каждая строка называется записью, а каждый столбец — полем. Записи представляют собой четкий и надежный способ
объединения данных о чем-либо. Поля представляют собой отдельные элементы данных — типы элементов, имеющиеся в каждой записи.
Первичный ключ таблицы состоит из одного или нескольких полей, однозначно определяющих каждую запись в этой таблице. На практике
чаще всего встречается многотабличная организация хранения данных.
Разберемся в причинах, которые приводят к необходимости многотабличной организации хранения данных.
Рассмотрим предметную область - поликлиника. База данных по данной предметной области должна содержать сведения о
посещении пациентами врачей, личные данные пациентов и информацию о врачах поликлиники. Разработать правильную структуру БД.
Отношение, включающее в себя перечисленные данные, будет следующим:
Фамилия
пациента
Имя
пациента
Отчество
пациента
Макаров
Львова
Носов
Носов
Носов
Орлова
Макаров
Медведева
Зиновьев
Васильева
Макаров
Львова
…
Сергей
Анна
Петр
Петр
Петр
Зоя
Сергей
Татьяна
Александр
Евгения
Сергей
Анна
Сергеевич
Петровна
Петрович
Петрович
Петрович
Семеновна
Сергеевич
Николаевна
Александрович
Сергеевна
Сергеевич
Петровна
Дата
рождения
пациента
13.09.1980
11.09.1950
14.02.1990
14.02.1990
14.02.1990
24.09.1985
13.09.1980
03.06.1973
11.04.1992
14.10.1984
13.09.1980
11.09.1950
Пол
Адрес пациента
Страховой
полис
Специальность
врача
Фамилия врача
Имя
врача
Отчество
врача
Дата приема
муж
жен
муж
муж
муж
жен
муж
жен
муж
жен
муж
жен
1 мкр - 23
Ленина 54-1
5 мкр - 22
5 мкр - 22
5 мкр - 22
Шилова 23-12
1 мкр - 23
Столярова 2 -14
Амурская 21-56
Бутина 23-41
1 мкр - 23
Ленина 54-1
СВ№4567892
СВ№2345221
СВ№1218118
СВ№1218118
СВ№1218118
СВ№2322256
СВ№4567892
СВ№0494432
ГК№4757575
ВН№1293404
СВ№4567892
СВ№2345221
хирург
окулист
хирург
лор
окулист
хирург
лор
терапевт
терапевт
терапевт
терапевт
окулист
Зуев
Фролова
Зуев
Инина
Фролова
Зуев
Инина
Николаева
Николаева
Николаева
Николаева
Фролова
Иван
Инна
Иван
Ольга
Инна
Иван
Ольга
Анна
Анна
Анна
Анна
Инна
Петрович
Павловна
Петрович
Алексеевна
Павловна
Петрович
Алексеевна
Борисовна
Борисовна
Борисовна
Борисовна
Павловна
13.12.2010
13.12.2010
13.12.2010
13.12.2010
13.12.2010
13.12.2010
14.12.2010
14.12.2010
14.12.2010
14.12.2010
15.12.2010
16.12.2010
Недостаток хранения данных в таком виде – избыточность. Значение полей ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, ПОЛ, ДАТА
РОЖДЕНИЯ, АДРЕС, СТРАХОВОЙ ПОЛИС каждого пациента будут повторяться столько раз, сколько раз пациент пришел в поликлинику
на прием. Значение полей СПЕЦИАЛЬНОСТЬ, ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО каждого врача будут повторяться столько раз, сколько
пациентов придет к нему на прием. Кроме того, существует вероятность того, что при вводе значений повторяющихся полей в каких-то
строках могут быть допущены ошибки. Например, по-разному записан адрес пациента в нескольких местах или специальность врача.
Решением этих проблем является разбиение данного отношения на три:
ПАЦИЕНТЫ (СТРАХОВОЙ ПОЛИС*, ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, ПОЛ, ДАТА РОЖДЕНИЯ, АДРЕС)
ВРАЧИ (КОД ВРАЧА*, СПЕЦИАЛЬНОСТЬ, ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО)
ПРИЕМ (СТРАХОВОЙ ПОЛИС, КОД ВРАЧА, ДАТА ПРИЕМА)
ПАЦИЕНТЫ
Страховой
полис
Фамилия
пациента
Имя
пациента
Отчество
пациента
СВ№4567892
СВ№2345221
СВ№1218118
СВ№2322256
СВ№0494432
ГК№4757575
ВН№1293404
Макаров
Львова
Носов
Орлова
Медведева
Зиновьев
Васильева
…
Сергей
Анна
Петр
Зоя
Татьяна
Александр
Евгения
Сергеевич
Петровна
Петрович
Семеновна
Николаевна
Александрович
Сергеевна
Дата
рождения
пациента
13.09.1980
11.09.1950
14.02.1990
24.09.1985
03.06.1973
11.04.1992
14.10.1984
Пол
Адрес пациента
муж
жен
муж
жен
жен
муж
жен
1 мкр - 23
Ленина 54-1
5 мкр - 22
Шилова 23-12
Столярова 2 -14
Амурская 21-56
Бутина 23-41
Значения поля СТРАХОВОЙ ПОЛИС уникальны, поэтому данное поле будет являться ключевым в таблице ПАЦИЕНТЫ.
ВРАЧИ
Код врача
1
2
3
4
…
Специальность
врача
хирург
окулист
лор
терапевт
Фамилия
врача
Зуев
Фролова
Инина
Николаева
Имя
врача
Иван
Инна
Ольга
Анна
Отчество
врача
Петрович
Павловна
Алексеевна
Борисовна
Каждому врачу присвоен свой номер (КОД ВРАЧА), который будет ключевым в таблице ВРАЧИ.
ПРИЕМ
Страховой
полис
СВ№4567892
СВ№2345221
СВ№1218118
СВ№1218118
СВ№1218118
СВ№2322256
СВ№4567892
СВ№0494432
ГК№4757575
ВН№1293404
СВ№4567892
СВ№2345221
Код врача
1
2
1
3
2
1
3
4
4
4
4
2
Дата
приема
13.12.2010
13.12.2010
13.12.2010
13.12.2010
13.12.2010
13.12.2010
14.12.2010
14.12.2010
14.12.2010
14.12.2010
15.12.2010
16.12.2010
В таблице ПРИЕМ поля СТРАХОВОЙ ПОЛИС и КОД ВРАЧА не являются ключевыми (один пациент может прийти на прием к
нескольким специалистам, один врач может принять несколько пациентов). Связь между таблицами будет выглядеть следующим образом:
ПАЦИЕНТЫ
Страховой полис
Фамилия
Имя
Отчество
Дата рождения
Пол
Адрес
1
∞
ПРИЕМ
Страховой полис
Код врача
Дата приема
1
∞
ВРАЧИ
Код врача
Специальность
Фамилия
Имя
Отчество
СОЗДАНИЕ НОВОЙ БАЗЫ ДАННЫХ
Пуск – Программы – Microsoft Office – Microsoft Access 2010
Для создания новой базы данных достаточно щелкнуть по кнопке Новая база данных,
ввести имя создаваемой базы данных «Поликлиника» – и нажать кнопку «Создать».
7
СОЗДАНИЕ ТАБЛИЦ
Создаем таблицы
Конструктор таблиц).
в
режиме
Конструктора
таблиц
(Вкладка
Создание
–
Создаем таблицу Пациенты
Необходимо задать ключевое поле. Выделяем поле Страховой полис и в контекстном
меню выбираем Ключевое поле.
Нужно сохранить таблицу под именем Пациенты.
В таблице Пациенты для полей фамилия, имя, отчество, дата рождения, пол, адрес
устанавливаем значение свойства Обязательное поле – ДА.
Для того чтобы значения поля пол выбирались из списка (муж, жен) нужно открыть Мастер
подстановок… .
8
9
Можно изменить значения свойств на вкладке Подстановка:
Для заполнения таблицы нужно перейти в режим таблицы (кнопка Режим на вкладке
Главная или контекстное меню – режим таблицы)). Заполнить 5-6 записями.
10
Аналогичным образом создаем и заполняем таблицу Врачи.
Создаем таблицу Прием
Перед тем как заполнить таблицу данными необходимо преобразовать поля
Страховой полис и Код врача в поля со списком (для того, чтобы значения выбирались из
уже существующих таблиц Пациенты и Врачи).
11
1 способ.
12
13
14
2 способ.
15
Для поля Дата приема можно задать маску ввода
Кнопка для создания
маски ввода
Перед заполнением таблицы Прием необходимо установить связи между таблицами
БД.
16
СОЗДАНИЕ СВЯЗЕЙ МЕЖДУ ТАБЛИЦАМИ
Связь создается в окне схема данных, которое открывается при выборе Работа с
базами данныхСхема данных. Нужно добавить все таблицы БД «Поликлиника» для
создания связей.
В БД «Поликлиника» все связи имеют тип «один ко многим».
Таблицы на
стороне «один»
Таблицы на
стороне
«много»
Поле для связи
Врачи
Прием
код врача
Пациенты
Прием
страховой полис
Пояснение
К одному врачу на прием могут прийти несколько
пациентов
Один пациент может прийти на прием к нескольким
специалистам
Чтобы создать связь необходимо с помощью мыши выделить поле связи и при
нажатой левой кнопки мыши перетащить поле на аналогичное поле в другой таблице.
Появится окно «Изменение связей», в котором предлагается создать связь.
17
Целостность данных – правила, обеспечивающие поддержание установленных
межтабличных связей при вводе или удалении записей.
Каскадное обновление связанных полей и каскадное удаление связанных записей - это
средства, определяющие режим работы программы Access с данными при изменении или
удалении записей в главной таблице, имеющей связи с записями подчиненных таблиц.
При включенном режиме каскадного обновления связанных полей все записи в
подчиненных таблицах будут обновлены при изменении данных в главной таблице.
Например, если изменится код врача в таблице Врачи, все подчиненные таблицы, которые
содержат коды врачей, обновят свои записи, использовав новые коды.
Если включен режим каскадного удаления записей, то при удалении записей в
главной таблице все связанные записи в подчиненных таблицах удаляются. Это значит, что
если удалить запись о враче из таблицы Врачи, то Access удалит все записи, относящиеся к
данному специалисту в подчиненных таблицах.
Каскадное обновление связанных полей и каскадное удаление связанных записей
могут быть полезны, потому что они повышают скорость ввода данных и создают
уверенность в том, что все связанные записи обновляются одновременно. С другой стороны,
в таком режиме может произойти неосознанное вами изменение или удаление данных.
18
После создания связи нужно заполнить таблицу Прием экспериментальными
данными (6 – 8 записей).
В результате в БД «Поликлиника» создано и заполнено 3 таблицы
19
СОЗДАНИЕ ЗАПРОСОВ
Запрос представляет собой обращение к данным для получения необходимой
информации и (или) выполнения действий с данными.
Запрос можно использовать для получения ответа на простой вопрос, выполнения
расчетов, объединения данных из разных таблиц или даже для добавления, изменения или
удаления данных в таблице.
Запросы, используемые для извлечения данных из таблицы или выполнения расчетов,
называются запросами на выборку.
Запросы, используемые для добавления, изменения или удаления данных, называются
запросами на изменение.
ЗАПРОСЫ НА ВЫБОРКУ
1.
С помощью Мастера запросов, сформировать запрос на выборку, позволяющий
отобразить всю информацию из базовых таблиц (коды включать в запрос не нужно).
Выбираем все поля из всех таблиц (поочередно) за исключением поля код врача:
20
21
Результат:
2.
В режиме Конструктора запросов создать запрос, который выдает на экран список
специалистов, стоимость приема у которых не превышает 450 рублей.
22
Результат:
23
ЗАПРОСЫ С ВЫЧИСЛЯЕМЫМИ ПОЛЯМИ
В запросах можно производить вычисления. Для расчетов с использованием формул,
определяемых пользователем, требуется создать новое вычисляемое поле прямо в бланке
запроса. Вычисляемое поле создается путем ввода требуемого выражения в пустую колонку
в строку «поле» в бланке запроса.
Выражение может вводиться вручную, а можно для этих целей воспользоваться
построителем выражений.
ВЫЧИСЛЕНИЯ С ТЕКСТОВЫМИ ПОЛЯМИ
3.
Создать запрос, результатом выполнения которого является список пациентов
(Фамилия И.О.) с указанием даты рождения (фамилии отсортировать по алфавиту).
Создаем с помощью Мастера запросов запрос Список пациентов (из таблицы
Пациенты переносим в запрос поля Фамилия, Имя, Отчество) и открываем его в режиме
конструктора.
Помещаем курсор в
пустое поле и открываем
Построитель
24
В окне построителя вводим выражение для вычисляемого поля:
Фамилия ИО: [Фамилия] & « » & left([Имя];1) & «. » & left ([Отчество];1) & «.»
Оператор & используется для соединения текстовых значений. Например, «Рос» & «сия» =
«Россия»
Оператор Left (строка; N) выводит на экран N знаков от левого края строки. Например,
Left(«философия»;7)= «философ»
Фамилия ИО: Фамилия & « » & left(Имя;1) & «. » & left (Отчество;1) & «.»
Например, Фамилия Имя Отчество - Иванов Николай Петрович
25
В выражении Фамилия ИО – имя вычисляемого поля, после имени ставится двоеточие и
пишется выражение.
Часть выражения
Пояснение
Фамилия & « »
к фамилии добавляется пробел
Иванов_
& left(Имя;1)
далее добавляется первая буква имени
Иванов_Н
& «. »
затем добавляется точка с пробелом
Иванов Н._
& left (Отчество;1)
добавляется первая буква отчества
Иванов Н._П
& «.»
добавляется точка
Иванов Н. П.
Результат:
В режиме Конструктора внесем изменения в структуру запроса. Поля Фамилия, Имя,
Отчество не будем выводить на экран (уберем «галочку» в строке «вывод на экран» для
этих полей). Поле Фамилия ИО отсортируем по алфавиту.
Результат:
26
ВЫЧИСЛЕНИЯ С ЧИСЛОВЫМИ ПОЛЯМИ
4.
Создать запрос, результатом выполнения которого является список специалистов с
указанием новой стоимости приема (стоимость приема увеличилась на 10%).
Создаем запрос на основе таблицы Врачи, переносим необходимые поля:
специальность врача, фамилия, имя, отчество, стоимость приема.
27
28
Результат:
ВЫЧИСЛЕНИЯ С ПОЛЯМИ ТИПА ДАТА/ВРЕМЯ
Date() – возвращает текущую системную дату.
Day(дата) – возвращает число от 1 до 31, соответствующее номеру дня введенной
даты.
Например, Day(15.02.2011)=15.
Month(дата) – возвращает число от 1 до 12, соответствующее номеру месяца
введенной даты.
Например, Month(15.02.2011)=2.
Year(дата) – возвращает число от 100 до 9999, соответствующее номеру года
введенной даты.
Например,Year(15.02.2011)=2011.
MonthName(n) – имя месяца, соответствующее номеру месяца (n от 1 до 12).
С датами можно производить следующие вычисления:
От одной даты вычесть другую, результат: число дней между датами.
К дате прибавить целое число, результат: новая дата, отстоящая от первой на заданное
число дней.
5.
В запросе определить возраст пациентов
29
Возраст: Fix((Date()-[дата рождения])/365,25)
Выражение
Действие
от текущей даты вычитаем
Date()-[дата рождения]
дату рождения
общее число прожитых
дней
делим
на
(Date()-[дата рождения])/365,25
365,25(среднее число дней
в году)
выводит
целую
часть
Fix (число)
числа
Результат:
Результат
общее
число
прожитых дней
общее
число
прожитых лет
возраст (целое число
лет)
ЗАПРОСЫ С ПАРАМЕТРАМИ
Если приходится часто выполнять однотипный запрос на выборку, изменяя при этом
значение какого-либо атрибута в условии отбора или в вычисляемом поле, то можно
использовать запрос с параметрами. Запрос с параметрами не требует каждый раз вносить
изменения в бланк запроса; вместо этого выводится приглашение пользователю ввести
30
необходимый атрибут. В режиме конструктора запросов задается параметр (текст
приглашения заключается в квадратные скобки и должен отличаться от имени поля).
Запрос с параметрами особенно удобно использовать, когда конечные пользователи,
для которых создается система, не очень квалифицированные, и желательно, чтобы они сами
никакие элементы системы не изменяли. Запросы с параметрами также удобно использовать
в качестве основы для форм и отчетов. Например, на основе запроса с параметрами можно
создавать ежемесячные отчеты. При выводе такого отчета, на экране появится приглашение
ввести месяц, за который должен быть получен отчет.
6.
В режиме конструктора на основе базовых таблиц создать запрос с параметрами (в
соответствии с вариантом), позволяющий вывести список пациентов, пришедших на прием к
специалисту и стоимость приема в EUR (специалиста и курс ЕВРО задавать, используя
параметр).
Стоимость в ЕВРО: [Стоимость приема]/[Введите курс EUR]
Стоимость в ЕВРО: [Стоимость приема]/[Введите курс EUR]
Для поля стоимость в евро установим в свойствах: формат поля – Евро.
31
Параметр – [Введите специалиста]
32
Результат:
7. Вывести информацию о пациентах с фамилией на определенную букву или на
заданное буквосочетание. Испльзуется функция Like. В строке условие отбора для поля
Фамилия указывается следующее выражение: Like [Введите часть фамилии] & "*"
(* - символ шаблона, заменяет любое количество любых символов)
Результат:
33
ИТОГОВЫЕ ЗАПРОСЫ
Отличие итогового запроса от обычного запроса на выборку – строка «Групповая
операция», содержащая итоговую функцию. Данная строка появляется при нажатии на
кнопку Итоги вкладки Конструктор.
Некоторые итоговые функции:
SUM – суммирует записи в группе;
AVG – вычисляет среднее значение в группе;
COUNT – количество записей в группе;
MIN – минимальное значение в группе;
MAX – максимальное значение в группе;
Группировка – группирует одинаковые записи.
8.
Для каждого врача определить выручку от приема пациентов.
Создаем запрос в режиме конструктора, выбираем необходимые таблицы и поля. В данном
случае необходимы таблицы Врачи и Прием. Переносим следующие поля: Фамилия Имя
Отчество врача и стоимость приема. Добавляем строку «Групповая операция». Для поля
ФИО врача выбираем итоговую функцию – Группировка (одинаковые ФИО будут
заключены в одну группу), а для поля стоимость приема функцию Sum.
Результат:
34
Нужно
переименовать
поле
Результат:
9.
Определить общую выручку и количество пациентов поликлиники.
35
Результат:
ПЕРЕКРЕСТНЫЕ ЗАПРОСЫ
Перекрестные запросы помогают при анализе данных, когда нужно вычислить
итоговые значения (суммы, количество значений и т.д.) и сгруппировать их по заголовкам
столбцов и строк. Анализ информации при этом значительно упрощается.
Перед созданием перекрестного запроса необходимо создать простой запрос на
выборку, содержащий необходимые поля. Перекрестный запрос создавать на основе данного
запроса.
10.
Создать перекрестный запрос, отражающий для каждого специалиста количество
пациентов по месяцам.
36
Специалист: [специальность] & " " & [Фамилия] & " " & Left([Имя];1) & ". " & Left([Отчество];1) & "."
Специалист:
[специальность] & " " & [Фамилия] & " " & Left([Имя];1) & ". " & Left([Отчество];1) &
"."
Результат выполнения запроса:
Используя Мастер запросов на основе вспомогательного запроса создадим
перекрестный:
37
38
39
40
Результат:
Запрос в режиме Конструктора:
Специалисты
группируются и
используются в
качестве
заголовков строк
Функция Format([дата записи];”mmm”) выводит
названия месяцев, соответствующих датам приема .
Месяцы – используются в качестве заголовков
столбцов
Страховой
полис
используется в качестве значения,
функция Count подсчитывает
число записей в каждой группе
41
11.
Создать перекрестный запрос, отражающий оплату специалистов в поликлинике по
месяцам.
Создаем вспомогательный запрос:
Результат:
Создаем перекрестный запрос:
42
43
44
45
Результат:
Данный запрос в режиме Конструктора:
Столбец Итоговое значение можно
удалить, можно изменить итоговую
функцию.
12.
Создать перекрестный запрос, отражающий кто, когда и к какому специалисту
приходил на прием.
46
Вспомогательный запрос:
Результат:
Создаем перекрестный запрос на основе вспомогательного:
47
48
49
Результат:
50
ОТЧЕТЫ
Отчет – это форматированное представление данных, которое выводится на экран, в
печать или файл. Отчеты позволяют извлечь из базы нужные сведения и представить их в
виде, удобном для восприятия, а также предоставляют широкие возможности для обобщения
и анализа данных.
При печати таблиц и запросов информация выдается практически в том виде, в
котором хранится. Часто возникает необходимость представить данные в виде отчетов,
которые имеют традиционный вид и легко читаются. Подробный отчет включает всю
информацию из таблицы или запроса, но содержит заголовки и разбит на страницы с
указанием верхних и нижних колонтитулов.
Обычно отчеты создаются с помощью Мастера отчетов, а затем изменяются в
режиме Конструктора отчетов.
Если отчет использует поля из нескольких таблиц/запросов, рекомендуется вначале
создать запрос на выборку, а затем на его основе создать отчет.
1.
Создадим отчет Список пациентов.
В качестве источника данных будет запрос Список пациентов
51
.
52
В режиме Конструктора внесем изменения.
Отформатируем заголовок отчета и изменим фон заголовка.
53
Добавим порядковый номер в отчет. В область данных добавляем элемент управления
поле.
Надпись Поле6 удаляем, в поле Свободный вносим =1
54
Изменим свойства для данного поля
55
Добавим надпись
2.
Создать отчет, содержащий следующие поля Фамилия врача, Имя врача, Отчество
врача, оплата, внизу отчета итоговая сумма (по всем врачам). Отчет создаем на основе
запроса Выручка врачей
56
57
58
В режиме Конструктора внесем изменения (изменим фон, изменим заголовок отчета,
выровняем поля и надписи).
59
Добавим элемент управления – линию (для разграничения строк).
60
В примечание отчета добавляем поле для вычисления итогов:
В поле вносим формулу: =SUM([общая выручка]), в окне свойств устанавливаем
формат поля – денежный.
61
Отчет готов.
62
ФОРМЫ
Формы – это основное средство организации интерфейса пользователя в приложении
MS Access. Формы могут создаваться в следующих целях:
1. Вывод и редактирование данных.
2. Управление ходом выполнения приложения.
3. Ввод данных.
4. Вывод сообщений.
5. Печать информации.
В режиме конструктора формы для пользователя доступны несколько областей:
Заголовки
Область данных
Область примечаний
По типу представления данных формы могут быть:
Ленточные – при этом отформатированные заданным способом записи выводятся на
экран одна за другой. Для перемещения по списку записей используют вертикальную полосу
прокрутки.
Многостраничные – при этом на экран выводится только одна запись данных. Для
перехода к следующей записи в левом нижнем углу экрана имеются соответствующие
кнопки.
Если необходимо отразить информацию из связанных таблиц, между которыми
установлено отношение связи "один ко многим", то применяется составная форма. Она
состоит из главной и подчиненной формы. Такую форму используют в следующих случаях:
для того чтобы показывать данные из нескольких связанных таблиц в одной форме
(например, в главной форме пометить информацию о пациенте, а в подчиненной – о
специалистах, к которым на прием ходил пациент);
для того чтобы обновлять записи данных различных таблиц с помощью одной общей
формы.
1.
Создать форму для заполнения таблицы «Пациенты». Форму создадим с помощью
Мастера форм, а затем изменим ее в режиме Конструктора.
Укажем таблицу, которая будет служить источником данных (в нашем случае –
Пациенты) и выберем поля, которые будут выводиться в форме (т.к. форма будет
использоваться для ввода данных, перенесем все поля таблицы Пациенты).
63
Выберем внешний вид формы и зададим ее имя.
64
Необходимо внести изменения в форме (выровнять поля, добавить надписи и т.д.).
Открываем форму в режиме Конструктора и изменяем внешний вид (аналогично действиям
при создании отчетов).
65
Форма готова. При вводе записей в форму заполняется таблица «Пациенты». При
удалении или изменении записей в форму – удаляются или изменяются записи в таблице
«Пациенты».
66
Указывает номер текущей записи из
общего количества записей
В данном поле можно вводить
текст для поиска
2.
Создать форму для заполнения таблиц Врачи и Прием. Для создания формы на
основе нескольких таблиц (многотабличной формы) необходимо наличие связей между
данными таблицами. Форма создается с помощью Мастера форм. Вначале выбираются поля
таблицы, находящейся на стороне отношения «один», затем поля таблицы, находящейся на
стороне отношения «много».
67
68
69
После внесения изменений в макет форма готова.
Усовершенствуем данную форму. Добавим кнопки «Добавить нового специалиста»,
«Найти информацию о специалисте».
70
71
72
При выборе врача в верхней части формы, в нижней части отобразятся записи из
таблицы Прием, соответствующие выбранному специалисту. При записи пациентов на
прием к этому врачу нужно в подчиненной форме указать пациента и ввести дату приема.
73
3.
Создадим кнопочную форму для удобства работы с БД. Кнопочная форма
представляет собой форму с кнопками, при нажатии на которые открываются объекты БД
(запросы, отчеты, формы).
Кнопочная форма создается с помощью Конструктора форм.
На экране появляется окно формы.
Используя панель элементов, добавим кнопки (для того, чтобы добавить действия при
нажатии кнопки нужно включить мастера), надписи, рисунки и т.д.
74
Добавим на форму надпись «БД ПОЛИКЛИНИКА»
Добавим на форму вкладки
75
Переименуем вкладки (запросы, формы) используя контекстное меню.
76
Добавим вкладку Отчеты.
77
На вкладку Запросы поместим кнопку, которая будет открывать запрос «Выручка
врачей».
78
79
Нужно проверить кнопку.
80
В режиме формы при нажатии на кнопку откроется запрос «Выручка врачей».
Кнопка готова. Аналогичным образом создаем остальные кнопки.
Внимание! Если объект, который должен открыться при нажатии кнопки имеет длинное
имя, то выйдет сообщение об ошибке. Например, кнопка открывает запрос «Информация из
базовых таблиц».
Создаем ее аналогичным способом.
81
82
При проверке кнопки появляется сообщение об ошибке
83
Открываем форму в режиме Конструктора
Информация из всех таблиц вносим изменения.
и в окне свойств для кнопки
Открываем макрос при
нажатии на эту кнопку
Удаляем данные из поля
84
Выбираем имя запроса
Сохраняем форму под именем Кнопочная форма.
85
86
УСТАНОВКА ПАРАМЕТРОВ ЗАПУСКА ДЛЯ БАЗЫ ДАННЫХ
После создания кнопочной формы нужно изменить параметры запуска базы данных
(для того, чтобы при открытии базы данных на экран выводилась кнопочная форма).
87
Теперь при открытии БД на экран будет выводиться кнопочная форма.
88
ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ
ЗАДАНИЕ 1. СТРУКТУРА БАЗЫ ДАННЫХ
Разработать структуру базы данных для хранения необходимой информации согласно
варианту.
Вариант 1. База данных "Гостиница" должна хранить следующую информацию:
1. Фамилия, Имя, Отчество клиента.
2. Серия и номер паспорта клиента.
3. Домашний адрес клиента.
4. Телефон клиента.
5. Номер, в который заселен клиент.
6. Этаж, количество мест номера.
7. Класс номера, телефон номера.
8. Стоимость номера за сутки.
9. Дата и время заезда.
10. Дата и время выезда.
База данных должна содержать информацию о 10 клиентах, 15 номерах.
Предусмотреть, чтобы 5 клиентов останавливались в гостинице не менее 2 раз.
Вариант 2. База данных "Подписные издания" должна хранить следующую
информацию:
1. Фамилия, Имя, Отчество подписчика.
2. Серия и номер паспорта подписчика.
3. Домашний адрес подписчика.
4. Телефон подписчика.
5. Вид (газета, журнал) и название периодического издания, на которое подписался
подписчик.
6. Срок подписки на данное издание (3 месяца, 6 месяцев, 12 месяцев).
7. Стоимость подписки.
8. Дата подписки.
База данных должна содержать информацию о 10 подписчиках, 10 периодических
изданий.
Предусмотреть, чтобы 5 подписчиков оформили подписку на 2 и более издания.
1.
2.
3.
4.
5.
6.
7.
8.
Вариант 3. База данных "Телефонные переговоры" должна хранить следующую
информацию:
Фамилия, Имя, Отчество абонента.
Номер телефона абонента.
Домашний адрес абонента.
Паспортные данные абонента (серия, номер паспорта).
Телефонный код и название города, куда звонил абонент.
Тариф за 1 минуту разговора с указанным городом.
Дата разговора, время разговора.
Продолжительность разговора.
База данных должна содержать информацию о 10 абонентах, 5 городах.
89
Предусмотреть, чтобы 5 абонентов сделали не менее 2 телефонных звонков в
различные города.
Вариант 4. База данных «Путешествие» должна хранить следующую информацию:
1. Фамилия, Имя, Отчество клиента.
2. Адрес и номер телефона клиента.
3. Дата рождения клиента.
4. Паспортные данные клиента (серия, номер паспорта).
5. Наименование страны, в которую поедет клиент.
6. Класс отеля, в котором остановится клиент.
7. Длительность туристической поездки.
8. Стоимость путевки.
9. Дата поездки.
База данных должна содержать информацию о 10 клиентах, 5 маршрутах.
Предусмотреть, чтобы 5 клиентов заказали не менее 2 путевок по различным
маршрутам.
Вариант 5. База данных «Студент» должна хранить следующую информацию:
1. Фамилия, Имя, Отчество студента.
2. Номер студенческого билета.
3. Пол и дата рождения студента.
4. Адрес и номер телефона студента.
5. Специальность, на которой обучается студент.
6. Название дисциплины, по которой студент сдавал экзамен.
7. Количество аудиторных часов и количество часов самостоятельной работы по указанной
дисциплине.
8. Дата экзамена по указанной дисциплине.
9. Оценка, полученная на экзамене.
База данных должна содержать информацию о 10 студентах, 5 дисциплинах.
Предусмотреть, чтобы 5 студентов сдавали не менее 3 экзаменов.
1.
2.
3.
4.
5.
6.
7.
Вариант 6. База данных «Оптовая торговля» должна хранить следующую информацию:
Название, единицы измерения товара.
Цена товара и дата выпуска товара.
Название фирмы, которая купила указанный товар.
Фамилия, Имя, Отчество директора фирмы.
Адрес и номер телефона фирмы.
Количество купленного товара.
Дата, когда был куплен товар.
База данных должна содержать информацию о 10 фирмах-клиентах, 5 товарах.
Предусмотреть, чтобы 5 фирм купили не менее 2 различных товаров.
Вариант 7. База данных «Ремонтные услуги» должна хранить следующую
информацию:
1. Фамилия, Имя, Отчество заказчика услуги.
2. Адрес, номер телефона, паспортные данные (серия и номер паспорта) заказчика.
90
3.
4.
5.
6.
Название и стоимость услуги, которую заказал заказчик.
Фамилия, Имя, Отчество мастера, выполнившего услугу.
Количество дней, требуемое на выполнение данной услуги.
Дата начала выполнения услуги.
База данных должна содержать информацию о 10 заказчиках, 5 услугах.
Предусмотреть, чтобы 5 заказчиков сделали не менее 2 заказов различных услуг.
Вариант 8. База данных «Автобаза» должна хранить следующую информацию:
1. Фамилия, Имя, Отчество водителя, отправляющегося в рейс.
2. Адрес, номер телефона и паспортные данные (серия и номер паспорта) водителя.
3. Марка и гос.номер транспортного средства водителя.
4. Норму расхода горючего на 1 километр (в литрах).
5. Цену горючего за 1 литр
6. Название пункта назначения, куда отправляется водитель.
7. Количество километров до пункта назначения.
8. Дата выезда и дата приезда водителя из рейса.
База данных должна содержать информацию о 10 водителях, 5 пунктах назначения.
Предусмотреть, чтобы 5 водителей съездили в рейс не менее 2 раз в разные пункты
назначения.
Вариант 9. База данных «Лекарственные средства» должна хранить следующую
информацию:
1. Название лекарственного средства.
2. Название фирмы-производителя.
3. Форма выпуска лекарственного средства.
4. Адрес и номер телефона аптеки, в которой есть указанное лекарственное средство.
5. Фамилия, Имя, Отчество директора указанной аптеки.
6. Количество и цена лекарственного средства в указанной аптеке.
База данных должна содержать информацию о 10 наименованиях лекарственных
средств, 5 аптеках.
Предусмотреть, чтобы в каждой аптеке было не менее 5 видов лекарств.
Вариант 10.База данных "Прокат товаров" должна хранить следующую информацию:
1. Фамилия, Имя, Отчество клиента.
2. Серия и номер паспорта клиента.
3. Домашний адрес клиента.
4. Телефон клиента.
5. Наименование товара.
6. Описание товара.
7. Стоимость товара.
8. Дата выдачи.
9. Дата возврата плановая и фактическая.
10. Стоимость проката за сутки.
База данных должна содержать информацию о 10 клиентах, 5 товарах.
Предусмотреть, чтобы 5 клиентов взяли на прокат не менее 2 различных товаров.
91
Вариант 11.База данных "Коммунальные услуги" должна хранить следующую
информацию:
1. Фамилия, Имя, Отчество квартиросъемщика.
2. Домашний адрес квартиросъемщика.
3. Номер лицевого счета.
4. Количество жильцов.
5. Площадь квартиры, кв.м.
6. Вид услуги (название платежа).
7. Стоимость услуги на квадратный метр площади.
8. Стоимость услуги на 1 жильца.
9. Дата оплаты.
База данных должна содержать информацию о 10 квартиросъемщиках, о 5 видах
услуг. Стоимость одних услуг должна определяться площадью квартиры, других —
количеством жильцов.
Предусмотреть, чтобы каждый квартиросъемщик оплачивал не менее 3-х
коммунальных услуг.
Вариант 12.База данных "Салон видеопроката" должна хранить следующую
информацию:
1. Фамилия, Имя, Отчество клиента.
2. Серия и номер паспорта клиента.
3. Домашний адрес клиента.
4. Телефон клиента.
5. Наименование видеодиска.
6. Жанр и описание видеодиска.
7. Залоговая стоимость видеодиска.
8. Стоимость проката за сутки.
9. Дата выдачи.
10. Дата возврата плановая и фактическая.
База данных должна содержать информацию о 10 клиентах, 10 видеодисках.
Предусмотреть, чтобы 5 клиентов пользовались услугами проката не менее 2 раз.
Вариант 13.База данных "Библиотека" должна хранить следующую информацию:
1. Фамилия, Имя, Отчество читателя.
2. Домашний адрес читателя.
3. Телефон читателя.
4. Дата рождения читателя.
5. Номер читательского билета.
6. Автор книги, которую взял читатель.
7. Название книги, жанр, год издания и издательство.
8. Цена книги.
9. Дата выдачи книги.
10. Дата возврата книги плановая и фактическая.
База данных должна содержать информацию о 5 читателях, 10 книгах.
Предусмотреть, чтобы каждый читатель брал не менее 2 книг.
92
Вариант 14.База данных "Преподаватели вуза" должна хранить следующую
информацию:
1. Фамилия, Имя, Отчество преподавателя.
2. Телефон преподавателя.
3. Место работы преподавателя.
4. Домашний адрес преподавателя.
5. Название должности преподавателя.
6. Должностная почасовая ставка преподавателя.
7. Предмет, который ведет преподаватель.
8. Общее число часов занятий по предмету.
9. Рабочая программа предмета.
10. Дата проведения занятий.
11. Количество проведенных часов.
База данных должна содержать информацию о 10 преподавателях, 3 должностях, 4
предметах.
Предусмотреть, чтобы 5 преподавателей проводили занятия по 2 предметам
одновременно.
1.
2.
3.
4.
5.
6.
7.
8.
Вариант 15.База данных "Услуги интернет-провайдера" должна хранить следующую
информацию:
Фамилия, Имя, Отчество клиента.
Серия и номер паспорта клиента.
Домашний адрес и номер телефона клиента.
Название тарифа.
Скорость доступа к ресурсам сети.
Объемы внутреннего и внешнего входящих трафиков.
Абонентская плата в месяц.
Дата подключения.
База данных должна содержать информацию о 10 клиентах, 8 тарифах.
ЗАДАНИЕ 2. СОЗДАНИЕ ТАБЛИЦ И ЗАДАНИЕ СВЯЗЕЙ МЕЖДУ НИМИ.
Создайте таблицы в MS Access. Определите связи между таблицами своей базы
данных и задайте их в окне «Схема данных».
93
ЗАДАНИЕ 3. ЗАПРОСЫ НА ВЫБОРКУ
A. В режиме Мастера простого запроса, сформировать запрос на выборку, позволяющий
отобразить всю информацию из базовых таблиц (коды включать в запрос не нужно).
B. В режиме Конструктора запросов создать запрос, который выдает на экран:
Вариант 1. Список номеров в гостинице, стоимость которых за сутки не превышает
определенного значения. Значением стоимости номера задаться самостоятельно.
Вариант 2. Список периодических названий, стоимость подписки на которые не менее
определенного значения. Значением стоимости подписки задаться самостоятельно.
Вариант 3. Список городов, тариф за минуту разговора с которым не более определенного
значения. Значением тарифа за 1 минуту разговора задаться самостоятельно.
Вариант 4. Список маршрутов, цена путевки на которые не превышает определенного
значения. Величиной цены путевки задаться самостоятельно.
Вариант 5. Список дисциплин, по которым количество аудиторных часов не менее
определенного значения. Значением количества аудиторных часов задаться самостоятельно.
Вариант 6. Список товаров, цена которых не превышает определенного значения.
Значением цены товара задаться самостоятельно.
Вариант 7. Список услуг, стоимость которых не менее определенного значения.
Величиной стоимости услуги задаться самостоятельно.
Вариант 8. Список пунктов назначения, расстояние до которых не превышает
определенного значения. Величину расстояния задать самостоятельно.
Вариант 9. Список лекарственных средств, цена которых не превышает определенного
значения. Значением цены лекарственного средства задаться самостоятельно.
Вариант 10. Список товаров, залоговая стоимость которых не превышает определенного
значения. Значением стоимости товара задаться самостоятельно.
Вариант 11. Список коммунальных услуг, стоимость которых не менее определенного
значения. Величиной стоимости услуги задаться самостоятельно.
Вариант 12. Список видеодисков, залоговая стоимость которых не превышает
определенного значения. Значением стоимости видеодиска задаться самостоятельно.
Вариант 13. Список книг, цена на которые не менее определенного значения. Значением
цены книги задаться самостоятельно.
Вариант 14. Список преподавателей, должностная почасовая ставка которых не превышает
определенного значения. Величиной ставки задаться самостоятельно.
Вариант 15. Список тарифов, у которых абонентская плата в месяц не превышает
определенного значения. Значением величины абонентской платы задаться самостоятельно.
94
ЗАДАНИЕ 4. ЗАПРОСЫ С ВЫЧИСЛЯЕМЫМИ ПОЛЯМИ
A.
Вариант 1. Список клиентов (Фамилия И.О.) с указанием паспортных данных (фамилии
отсортировать по алфавиту).
Вариант 2. Список подписчиков (Фамилия И.О.) с указанием домашнего адреса (фамилии
отсортировать по алфавиту).
Вариант 3. Список абонентов (Фамилия И.О.) с указанием номеров телефона (фамилии
отсортировать по алфавиту).
Вариант 4. Список клиентов (Фамилия И.О.) с указанием паспортных данных (фамилии
отсортировать по алфавиту).
Вариант 5. Список студентов (Фамилия И.О.) с указанием номера студенческого билета
(фамилии отсортировать по алфавиту).
Вариант 6. Список фирм с указанием Фамилии И.О. директоров и номеров телефонов
(название отсортировать по алфавиту).
Вариант 7. Список заказчиков (Фамилии И.О.) с указанием адреса и номера телефона
(фамилии отсортировать по алфавиту)
Вариант 8. Список водителей (Фамилии И.О.) с указанием марки и гос.номера
транспортного средства (фамилии отсортировать по алфавиту).
Вариант 9. Список аптек с указанием Фамилии И.О. директора, адреса и номера телефона.
Вариант 10. Список клиентов (Фамилии И.О.) с указанием паспортных данных (фамилии
отсортировать по алфавиту).
Вариант 11. Список квартиросъемщиков (Фамилия И.О.) с указанием адреса и лицевого
счета (фамилии отсортировать по алфавиту)
Вариант 12. Список клиентов (Фамилия И.О.) с указанием паспортных данных (фамилии
отсортировать по алфавиту).
Вариант 13. Список читателей (Фамилия И.О.) с указанием номера читательского билета,
домашнего адреса и номера телефона (фамилии отсортировать по алфавиту).
Вариант 14. Список предметов, с указанием общего числа часов и Фамилии И.О.
преподавателя.
Вариант 15. Список клиентов (Фамилия И.О.) с указанием паспортных данных и
домашнего адреса (фамилии отсортировать по алфавиту).
B.
Вариант
Включаемые в запрос поля
1
Вычисляемое поле
Из базовых таблиц
Фамилия
Имя
Отчество
клиента,
класс
номера,
количество
мест
номера, дата заезда,
дата выезда, стоимость
Имя
Формат
Сумма к оплате
(за проживание в номере)
Денежный
95
Сортировать
по указанному
полю
Фамилия
Вариант
Включаемые в запрос поля
2
3
4
5
6
7
8
9
10
11
Вычисляемое поле
Из базовых таблиц
Имя
Формат
номера за сутки
Вид периодического 1. Полное название издания
издания,
название
(вид + название, н-р, журнал
периодического
«Мурзилка», газета «Жизнь»)
издания,
срок 2. Новая стоимость подписки на
подписки, стоимость
издание
(увеличение
подписки
стоимости на 25%)
Фамилия,
Имя,
Отчество
абонента,
телефонный код и
название города, дата
Сумма к оплате
разговора,
время
разговора,
продолжительность
разговора
Фамилия,
Имя,
Отчество
клиента,
Дата приезда
наименование страны,
дата поездки
Фамилия,
Имя,
Отчество
студента,
Возраст
пол, дата рождения
Название
фирмы,
название,
цена
и
Общая стоимость (на которую
количество
товара,
был куплен товар)
дата покупки
Фамилия,
Имя,
Отчество
заказчика
Дата окончания выполнения
услуги,
название
услуги
услуги, дата начала
выполнения услуги.
Фамилия,
Имя,
Отчество
водителя,
название
пункта
Затраты на горючее
назначения,
дата
выезда, дата приезда
Адрес
и
номер
телефона
аптеки,
название
лекарственного
Новая цена (скидка 10%)
средства, количество и
цена лекарственного
средства
Фамилия,
Имя,
Отчество
клиента,
Стоимость проката
наименование товара,
дата выдачи
Фамилия,
Имя,
Отчество
Стоимость услуг
квартиросъемщика,
номер лицевого счета,
96
Сортировать
по указанному
полю
Текстовый
Денежный
Полное
название
Денежный
Фамилия
Дата/время
Фамилия
Числовой
Возраст
Денежный
Название
фирмы
Дата/время
Фамилия
Денежный
Дата выезда
Денежный
Название
лекарственного
средства
Денежный
Фамилия
Денежный
Фамилия
Вариант
Включаемые в запрос поля
12
13
14
15
Вычисляемое поле
Из базовых таблиц
количество жильцов,
площадь квартиры
Фамилия,
Имя,
Отчество
клиента,
наименование
видеодиска,
дата
выдачи
Фамилия,
Имя,
Отчество
читателя,
автор книги, название
книги, дата выдачи,
дата возврата плановая
и фактическая.
Фамилия,
Имя,
Отчество
преподавателя,
предмет,
дата
проведения занятий,
количество
проведенных часов
Название
тарифа,
скорость доступа к
ресурсам
сети,
абонентская плата
Сортировать
по указанному
полю
Имя
Формат
Стоимость проката
Денежный
Дата выдачи
Штраф (1% от цены книги за
каждый день просрочки,
предполагается, что дата
возврата плановая меньше или
равна дате возврата фактической)
Денежный
Фамилия
Сумма к выплате
Денежный
Дата
проведения
занятий
Новая аб. плата (увеличение на
35%)
Денежный
Название
97
ЗАДАНИЕ 5. ЗАПРОСЫ С ПАРАМЕТРАМИ
В режиме конструктора на основе базовых таблиц создать запрос с параметрами (в
соответствии с вариантом), позволяющий вывести:
Вариант 1. Список клиентов, проживающих в указанном номере, и стоимость номера в
EUR
Вариант 2. Список подписчиков, подписавшихся на указанное издание, и стоимость
издания в EUR.
Вариант 3. Список абонентов, звонивших в указанный город, и тариф за 1минуту
разговора в EUR.
Вариант 4. Список клиентов, отдыхающих в указанной стране, и стоимость путевки в
EUR.
Вариант 5. Список студентов, не сдавших экзамен по указанной дисциплине, и дату
пересдачи экзамена (через n дней).
Вариант 6. Список фирм, которые купили указанный товар, и новую цену товара с учетом
скидки (размер скидки указывается в %).
Вариант 7. Список заказчиков указанной услуги и стоимость данной услуги с учетом
скидки (размер скидки указывается в %).
Вариант 8. Список водителей, имеющих транспортное средство указанной марки, и цену
горючего с учетом повышения цен (надбавка в %).
Вариант 9. Список аптек, в которых есть указанное лекарственное средство, и стоимость
данного средства в EUR.
Вариант 10. Список клиентов, бравших напрокат указанный товар, и стоимость товара с
учетом скидки (размер скидки указывается в %).
Вариант 11. Список квартиросъемщиков, пользующихся указанной коммунальной услугой,
и стоимость этой услуги в EUR.
Вариант 12. Список клиентов, бравших для просмотра указанный видеодиск, и стоимость
видеодиска с учетом надбавки (размер надбавки указывается в %).
Вариант 13. Список читателей, бравших в библиотеке указанную книгу, и цену книги в
EUR.
Вариант 14. Список преподавателей, проводивших занятия по указанному предмету, и
сумму к оплате в EUR.
Вариант 15. Список клиентов Интернет-провайдера с указанным тарифным планом и
абонентскую плату по данному тарифу в EUR.
98
ЗАДАНИЕ 6. ИТОГОВЫЕ ЗАПРОСЫ
В режиме конструктора на основе базовых таблиц создать итоговые запросы (в
соответствии с вариантом).
Вариант 1. Для каждого номера определить количество постояльцев. Определить общую
выручку и количество постояльцев гостиницы.
Вариант 2. Определить среднюю стоимость подписки на каждый вид периодического
издания. Определить общее число подписчиков и общую выручку от подписки.
Вариант 3. Определить общую продолжительность разговоров и общую сумму к оплате
для каждого абонента. Определить итоговую сумму по всем переговорам и количество
сеансов связи.
Вариант 4. Определить минимальную, максимальную и среднюю стоимости путевки.
Определить общее количество туристов для каждой страны. Определить сумму к оплате для
каждого клиента.
Вариант 5. Определить средний балл каждого студента. Для каждой дисциплины
определить количество студентов, сдававших по ней экзамен и средний балл.
Вариант 6. Для каждой фирмы определить количество видов закупленного товара и
сумму, затраченную на покупку. Определить общую выручку от продажи товара.
Вариант 7. Определить среднюю стоимость выполнения услуги. Для каждого мастера
определить количество заказов услуг, сумму от выполнения заказов.
Вариант 8. Для каждого водителя определить количество рейсов и общее количество
километров. Определить среднюю, минимальную и максимальную цену горючего за 1 литр.
Вариант 9. Для каждого лекарственного средства определить среднюю, минимальную и
максимальную цену. Для каждой аптеки определить количество видов и общую стоимость
лекарственных средств.
Вариант 10. Для каждого клиента определить, сколько товаров он брал напрокат и общую
стоимость проката. Определить общую выручку от проката товаров.
Вариант 11. Для каждого квартиросъемщика определить количество оплаченных услуг и
общую сумму. Для каждой услуги определить общую сумму.
Вариант 12. Для каждого клиента определить, сколько видеодисков он брал напрокат и
общую стоимость проката. Определить среднюю, максимальную и минимальную стоимость
проката видеодисков.
Вариант 13. Для каждого читателя определить количество книг, которые он брал в
библиотеке. Определить сколько читателей посетило библиотеку и сколько книг взяли
почитать.
Вариант 14. Определить заработную плату преподавателя. Определить общее количество
проведенных часов по каждому предмету.
Вариант 15. Для каждого тарифа определить количество абонентов. Определить
максимальную, минимальную и среднюю абонентскую плату.
99
ЗАДАНИЕ 7. ПЕРЕКРЕСТНЫЕ ЗАПРОСЫ
Создать перекрестные запросы в соответствии с вариантом.
№
Заголовки
Заголовки строк
Результирующее значение
варианта
столбцов
1
ФИО клиента
Номер
Общая стоимость за номер
Название
2
ФИО подписчика
периодического
Общая стоимость подписки
издания
Общая продолжительность
3
ФИО абонента
Название города
переговоров
Суммарная стоимость
4
ФИО клиента
Название страны
путевки
Название
5
ФИО студента
Средняя оценка
дисциплины
Общая стоимость, на
6
Название товара
Название фирмы
которую был куплен товар
Наименование
7
ФИО заказчика
Общая стоимость услуги
услуги
Название пункта
Суммарные затраты на
8
ФИО водителя
назначения
горючее
Название
Общее количество
9
лекарственного
Адрес аптеки
лекарственного средства
средства
Наименование
Суммарная стоимость
10
ФИО клиента
товара
проката
ФИО
Суммарная стоимость
11
Вид услуги
квартиросъемщика
оплаченных услуг
Наименование
Суммарная стоимость
12
ФИО клиента
видеодиска
проката
Сколько дней книга была
13
ФИО читателя
Название книги
на руках
Суммарное количество
14
ФИО преподавателя
Название предмета
проведенных часов
15
ФИО клиента
Название тарифа
Дата подключения
№
варианта
1
2
3
4
5
Номер
Название издания
Название города
Название страны
Дисциплина
Заголовки
столбцов
Месяц
Месяц
Месяц
Месяц
Месяц
6
Название фирмы
Месяц
7
8
Название услуги
Пункт назначения
9
Адрес аптеки
Месяц
Месяц
Название
лекарственного
средства
10
Наименование товара
Заголовки строк
Результирующее
значение
Число клиентов
Число подписчиков
Стоимость переговоров
Число туристов
Средняя оценка
Количество видов
купленного товара
Число заказчиков
Количество рейсов
Цена
Число клиентов, взявших
товар
Месяц
100
№
Заголовки строк
варианта
11
Вид услуги
Заголовки
столбцов
Месяц
12
Название видеодиска
Месяц
13
ФИО читателя
Месяц
14
ФИО преподавателя
Месяц
15
Название тарифа
Месяц
101
Результирующее
значение
Общая стоимость
Число клиентов, взявших
видеодиск
Количество посещений
библиотеки
Суммарное количество
проведенных часов
Число абонентов
ЗАДАНИЕ 8. ОТЧЕТЫ
A. Создать следующие отчеты (на основе запросов с вычисляемыми полями).
Вариант 1. Список клиентов (Фамилия И.О.) с указанием паспортных данных (фамилии
отсортировать по алфавиту), добавить № п/п.
Вариант 2. Список подписчиков (Фамилия И.О.) с указанием домашнего адреса (фамилии
отсортировать по алфавиту), добавить № п/п.
Вариант 3. Список абонентов (Фамилия И.О.) с указанием номеров телефона (фамилии
отсортировать по алфавиту), добавить № п/п.
Вариант 4. Список клиентов (Фамилия И.О.) с указанием паспортных данных (фамилии
отсортировать по алфавиту), добавить № п/п.
Вариант 5. Список студентов (Фамилия И.О.) с указанием номера студенческого билета
(фамилии отсортировать по алфавиту), добавить № п/п.
Вариант 6. Список фирм с указанием Фамилии И.О. директоров и номеров телефонов
(название отсортировать по алфавиту), добавить № п/п.
Вариант 7. Список заказчиков (Фамилии И.О.) с указанием адреса и номера телефона
(фамилии отсортировать по алфавиту), добавить № п/п.
Вариант 8. Список водителей (Фамилии И.О.) с указанием марки и гос.номера
транспортного средства (фамилии отсортировать по алфавиту), добавить № п/п
Вариант 9. Список аптек с указанием Фамилии И.О. директора, адреса и номера телефона,
добавить № п/п.
Вариант 10. Список клиентов (Фамилии И.О.) с указанием паспортных данных (фамилии
отсортировать по алфавиту), добавить № п/п.
Вариант 11. Список квартиросъемщиков (Фамилия И.О.) с указанием адреса и лицевого
счета (фамилии отсортировать по алфавиту), добавить № п/п
Вариант 12. Список клиентов (Фамилия И.О.) с указанием паспортных данных (фамилии
отсортировать по алфавиту), добавить № п/п.
Вариант 13. Список читателей (Фамилия И.О.) с указанием номера читательского билета,
домашнего адреса и номера телефона (фамилии отсортировать по алфавиту), добавить № п/п.
Вариант 14. Список предметов, с указанием общего числа часов и Фамилии И.О.
преподавателя, добавить № п/п.
Вариант 15. Список клиентов (Фамилия И.О.) с указанием паспортных данных и
домашнего адреса (фамилии отсортировать по алфавиту), добавить № п/п.
B. Создать отчеты с добавлением уровней группировки и вычислением итогов.
Вариант 1. № п/п, Фамилия Имя Отчество клиента, номер, дата заезда, дата выезда,
стоимость номера за сутки, сумма к оплате (за проживание в номере). Добавить группировку
в отчете по ФИО клиента, внизу отчета рассчитать итоговую сумму к оплате.
Вариант 2. № п/п, Фамилия Имя Отчество подписчика, название периодического издания,
срок подписки, стоимость подписки, дата подписки. Добавить группировку в отчете по ФИО
подписчика, внизу отчета рассчитать итоговую стоимость подписки.
Вариант 3. № п/п, Фамилия, Имя, Отчество абонента, номер телефона, название города,
дата разговора, время разговора, продолжительность разговора, сумма к оплате. Добавить
группировку в отчете по ФИО абонента, внизу отчета рассчитать итоговую сумму.
102
Вариант 4. № п/п, Фамилия, Имя, Отчество клиента, наименование страны, стоимость
путевки, дата поездки. Добавить группировку в отчете по наименованию страны, внизу
отчета рассчитать итоговую выручку турфирмы.
Вариант 5. № п/п, Фамилия, Имя, Отчество студента, специальность, пол, возраст.
Добавить группировку в отчете по названию специальности. Внизу отчета рассчитать
минимальный, средний и максимальный возраст студентов.
Вариант 6. № п/п, название фирмы, название, цена и количество товара, дата покупки,
сумма покупки. Добавить группировку в отчете по названию фирмы, внизу отчета
рассчитать итоговую сумму покупки.
Вариант 7. № п/п, Фамилия, Имя, Отчество заказчика услуги, название услуги, дата начала
выполнения услуги, стоимость услуги. Добавить группировку в отчете по названию услуги,
внизу отчета рассчитать итоговую стоимость услуг.
Вариант 8. № п/п, Фамилия, Имя, Отчество водителя, название пункта назначения, дата
выезда, дата приезда, затраты на горючее. Добавить группировку в отчете по названию
пункта назначения, внизу отчета рассчитать суммарные затраты на горючее.
Вариант 9. № п/п, адрес аптеки, название лекарственного средства, количество и цена
лекарственного средства, общая стоимость лекарственного средства. Добавить группировку
в отчете по адресу аптеки, внизу отчета рассчитать итоговую стоимость лекарственных
средств.
Вариант 10. № п/п, Фамилия, Имя, Отчество клиента, наименование товара, дата выдачи,
дата возврата, стоимость проката. Добавить группировку в отчете по ФИО клиента, внизу
отчета рассчитать итоговую стоимость проката.
Вариант 11. № п/п, Фамилия, Имя, Отчество квартиросъемщика, номер лицевого счета,
количество жильцов, площадь квартиры, стоимость услуг. Добавить группировку в отчете по
количеству жильцов. Внизу отчета рассчитать итоговую стоимость услуг.
Вариант 12. № п/п, Фамилия, Имя, Отчество клиента, наименование видеодиска, дата
выдачи, дата возврата, стоимость проката. Добавить группировку в отчете по наименованию
видеодиска, внизу отчета рассчитать итоговую стоимость проката.
Вариант 13. № п/п, Фамилия, Имя, Отчество читателя, автор книги, название книги, дата
выдачи, дата возврата фактическая, штраф (1% от цены книги за каждый день просрочки,
предполагается, что дата возврата плановая меньше или равна дате возврата фактической).
Добавить группировку в отчете по ФИО читателя, внизу отчета рассчитать итоговую сумму
штрафов.
Вариант 14. № п/п, Фамилия, Имя, Отчество преподавателя, предмет, дата проведения
занятий, количество проведенных часов, сумма к оплате. Добавить группировку в отчете по
предмету, внизу отчета рассчитать итоговую сумму к оплате.
Вариант 15. № п/п, фамилию, имя, отчество клиента, название тарифа, абонентская плата,
дата подключения. Добавить группировку в отчете по ФИО клиента, внизу отчета рассчитать
доход Интернет-провайдера.
103
ЗАДАНИЕ 9. ФОРМЫ. ПАРАМЕТРЫ ЗАПУСКА.
Создать одиночную форму, многотабличную форму и кнопочную форму.
С кнопочной формы должны открываться все запросы, формы и отчеты.
Установить параметры запуска для базы данных.
.
104