Вы находитесь на странице: 1из 110

СОДЕРЖАНИЕ

Введение.............................................................................................4
1. Экономическая информация.........................................................5
2. Основные понятия баз данных.....................................................8
3. Базы данных в MS Excel..............................................................11
Задания к лабораторным занятиям 1–4......................................18
4. Microsoft Access...........................................................................26
Задания к лабораторным занятиям 5–6......................................41
4.1. Понятие запроса к базе данных...........................................52
Задания к лабораторным занятиям 7–13.............................65
4.2. Формы....................................................................................82
4.3. Общие сведения об отчетах.................................................85
4.4. Экспорт данных и объектов базы данных...........................87
Задания к лабораторным занятиям 14–15...........................90
5. Задания для самостоятельной работы........................................93
Список рекомендуемой литературы...............................................99

3
ВВЕДЕНИЕ

Лабораторный практикум составлен в соответствии с учебной


программой курса «Технологии организации, хранения и
обработки данных», ориентирован на студентов экономических
специальностей и поэтому материал излагается с акцентом на
экономическую интерпретацию решения задач.
Лабораторный практикум предназначен для получения
навыков работы с табличным процессором MS Excel в области
управления списками и системой управления базами данных MS
Access в направлении создания пользовательских приложений.
В лабораторном практикуме кратко изложен необходимый
теоретический материал по вопросам экономической
информации и теории баз данных. Приведены упражнения и
задания для самостоятельной работы студентов по следующим
темам:
 работа со списками MS Excel:
 отбор данных (автофильтр, расширенный фильтр);
 функции баз данных;
 создание приложений средствами MS Access:
 создание таблиц и схемы данных;
 создание запросов;
 создание форм и отчетов.
При подготовке настоящего лабораторного практикума
использовалась учебная литература, представленная в списке
рекомендуемой литературы, а также материал, накопленный в
результате педагогической работы авторов на факультете
экономики и управления Гродненского государственного
университета имени Янки Купалы.

4
1. ЭКОНОМИЧЕСКАЯ ИНФОРМАЦИЯ

Информация – совокупность данных, которые являются


объектом сбора, передачи, обработки и хранения.
Экономическая информация – информация, характеризую-
щая производственные отношения в обществе.
Экономическая информация используется при реализации
функций управления на всех уровнях (предприятием и экономи-
кой государства в целом или их отдельными звеньями).
Особенности экономической информации, влияющие на
организацию автоматизированной обработки, следующие.
1. Экономическая информация специфична по форме
представления и отражается в виде первичных и сводных
документов.
2. Экономическая информация объемна. Оптимальное
управление экономическими процессами невозможно без
достаточной информации о них. Совершенствование управления
сопровождается увеличением информационных потоков (требует
возрастающей производительности средств обработки и каналов
связи).
3. Экономическая информация циклична. Для большинства
производственных и хозяйственных процессов характерна
повторяемость составляющих их стадий и информации,
отражающей эти процессы (созданные программы обработки
информации используются многократно).
4. Экономическая информация отражает результаты
производственно-хозяйственной деятельности с помощью
системы натуральных и стоимостных показателей. При этом
используются количественные величины, цифровые значения
(эти данные удобно обрабатывать).
5. Экономическая информация специфична по способам
обработки. В процессе обработки преобладают арифметические
и логические операции (например, сортировка или отбор), а
результаты представляются в виде текстовых документов,
таблиц, диаграмм и графиков (позволяет ограничиться кругом
программных средств).
Основные требования, предъявляемые к экономической
информации: корректность; ценность; оперативность; точность;
достоверность; устойчивость; достаточность.

5
Корректность информации обеспечивает ее однозначное
восприятие всеми потребителями.
Ценность (или полезность) информации проявляется в том
случае, если она способствует достижению стоящей перед
потребителем цели. Ценность информации – свойство
относительное: одна и та же информация имеет разную ценность
для различных потребителей. С течением времени ценность
информации, как правило, уменьшается – она устаревает.
Оперативность отражает актуальность информации для
проведения расчетов и принятия решений в изменившихся
условиях.
Точность определяет допустимый уровень искажения как
исходной, так и результатной информации, при котором
сохраняется эффективность функционирования системы.
Достоверность определяется свойством информации
отражать реально существующие объекты с необходимой
точностью. Достоверность измеряется вероятностью того, что
отображаемое информацией значение параметра не отличается от
истинного значения этого параметра в пределах необходимой
точности.
Устойчивость информации отражает ее способность
реагировать на изменения исходных данных без нарушения
необходимой точности. Устойчивость информации определяется
выбранной методикой ее отбора и формирования.
Достаточность (полнота) информации означает, что она
содержит минимально необходимый объем сведений для
принятия правильного решения. Неполная информация снижает
эффективность принимаемых пользователем решений.
Избыточность обычно снижает оперативность и затрудняет
принятие решения, но зато делает информацию более
устойчивой.

Структурные элементы экономической информации


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

6
структуру. Например, «Данные о поставщике» включают
«Ф.И.О.», «Адрес», «Номенклатуру товаров», «Условия
поставки». «Адрес» предполагает «Почтовый индекс», «Город».
Степень детализации информационной совокупности
конечна. Неделимая далее на смысловые единицы
информационная совокупность получила название «реквизит».
При описании информационных систем используют синонимы
термина «реквизит»: «слово», «элемент данных», «атрибут»,
«поле».
Реквизиты (документов) – совокупность формальных
элементов в составе сделки или документа, отсутствие которых
лишает сделку или документ юридической силы; обязательные
данные, предусмотренные действующими правилами или
законами для документов, без которых документы не могут
служить основанием для современных операций.
Хотя реквизит является основным элементом экономической
информации (дата, сумма, наименование и т.д.), он, взятый
отдельно, не имеет экономического смысла.
Различают два вида реквизитов: реквизит-признак и реквизит-
основание. Если реквизит описывает качественное свойство
информации (например, время или место действия, Ф.И.О.
исполнителя), то его называют реквизит-признак. Если же
реквизит представляет количественную характеристику
(например, объем продукции в штуках, цена в рублях), то его
называют реквизит-основание.
При обработке информации основания подвергаются
арифметическим операциям, а при помощи признаков
осуществляют поиск информации, ее сортировку, выборку и т.д.
Сочетание одного реквизита-основания с соответствующими
ему реквизитами-признаками образует показатель.
Показатель – качественно определенная величина, дающая
количественную характеристику отображаемому объекту
(предмету, процессу, явлению), имеющая экономический смысл.
Это информационная совокупность наименьшего состава,
достаточная для образования самостоятельного сообщения или
документа.
Например, совокупность «десять пачек чая "Липтон"»
состоит из реквизита-основания «десять» и трех реквизитов-
призна-ков: «пачка», «чай» и «Липтон». Эта совокупность имеет
экономический смысл и поэтому является показателем.
Совокупность логически связанных реквизитов, имеющая

7
юридическую силу, называется документом.

8
2. ОСНОВНЫЕ ПОНЯТИЯ БАЗ ДАННЫХ

База данных (БД) – совокупность данных, относящихся к


определенной теме или задаче. Предположим, например, что
телефоны поставщиков сохраняются в разных местах: в каталоге
телефонов поставщиков, в картотеке сведений о товарах и в
электронной таблице, содержащей сведения о заказах. Если
телефон поставщика изменился, придется обновить эти данные в
трех местах. В базе данных достаточно обновить информацию
только в одном месте – телефон поставщика будет автоматически
обновлен при его дальнейшем использовании в базе данных.
Табличная структура состоит из строк, которые
соответствуют записям базы данных и столбцов – полей записей.
Каждая таблица должна содержать поле (первичный ключ),
однозначно определяющее каждую запись в таблице. Каждое
поле должно иметь уникальное имя. Одна запись файла
соответствует конкретному экземпляру понятия предметной
области, например, информация о конкретном поставщике.
Предметная область – часть реального мира, которая
отражается в базе данных.
Система управления базами данных (СУБД) – программно-
аппаратные средства, необходимые для создания баз данных на
машинных носителях, поддержания их в актуальном состоянии и
организации доступа к ним различных пользователей в условиях
принятой технологии обработки данных.
Концептуальная структура (схема) – абстрагированная об-
щая структура данных без учета физических особенностей
используемого компьютера. Версия концептуальной модели,
которая может быть обеспечена конкретной системой управления
базой данных, называется логической моделью. Она отражает
логические связи между элементами данных независимо от их
содержания и места хранения.
В одной СУБД могут применяться различные структуры и
модели данных. Логическая модель отражается в физической
памяти (диск и др.). Компьютер превращает концептуальную
(общую) структуру в форму, удобную для запоминания или
поиска. Такая внутренняя структура данных называется
физической структурой. Она определяет размещение данных,
методы доступа и технику индексирования. Физическую модель
часто называют внутренней моделью системы.

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

Предметная Логическая Физическая


область структура структура Компьютер

Рис. 2.1. Последовательность представления данных под управлением СУБД

Требования к базе данных


1. Адекватность отражения предметной области:
а) полнота данных;
б) динамичность информационной модели;
в) актуальность информации в данный момент времени.
2. Возможность взаимодействия с пользователями
различных категорий и в разных режимах.
3. Обеспечение секретности данных, надежности,
целостнос-ти, защита от случайного или целенаправленного
разрушения БД.
4. Обеспечение взаимной независимости программ и
данных.
5. Технологичность обработки данных.
6. Совместимость компонентов базы данных.
7. Простота изменения логической и физической структуры
БД в целях повышения эффективности обработки информации.
8. Способность к расширению и модификации.
БД строится в соответствии с некоторой моделью данных, в
рамках которой представляется информация о реальном мире.
Различают следующие основные модели данных.
1. Иерархическая. В иерархической структуре (рис. 2.2)
подчиненный элемент данных всегда связан только с одним
исходным (дерево).
В БД, реализующей данную модель хранения данных, есть
необходимость хранить не только введенную информацию, но
также информацию об уровне, к которому она принадлежит.

10
2. Сетевая модель. По этой модели данные располагаются в
виде произвольного графа (рис. 2.3).
В БД, построенной на основе этой модели, хранятся также
сведения о связи данных друг с другом.

Рис. 2.2. Иерархическая модель данных Рис. 2.3. Сетевая модель данных

3. Реляционная модель. На сегодняшний день наиболее


популярная модель данных. При ее использовании предметную
область представляют в виде большого числа таблиц, каким-то
образом связанных друг с другом. В дальнейшем нами будут
рассматриваться именно реляционные базы данных.
В этой модели объекты и взаимосвязи между ними
представлены при помощи таблиц. Одна таблица представляет
один объект и состоит из столбцов и строк. Каждая строка
таблицы представляет собой одну запись, а каждый столбец –
одно поле записей. Таблица обладает следующими свойствами:
• каждый элемент таблицы (находится на пересечении строки
и столбца) есть один элемент данных;
• столбцам присваиваются уникальные имена;
• элементы столбца имеют одинаковую природу (т.е.
обладают свойством однородности);
• в таблице нет двух одинаковых строк;
• при выполнении операций с таблицей ее строки и столбцы
можно обрабатывать в любом порядке, независимо от их
информационного содержания.
Информация в реляционных базах данных сохраняется в
таблицах, связь между которыми осуществляется путем
совпадения значений одного или нескольких полей. Каждая
строка таблицы в реляционных базах данных уникальна.
Уникальность строк обеспечивают ключи (одно или несколько

11
полей таблицы), которые сохраняются в упорядоченном виде.
Это обеспечивает прямой доступ к записям в процессе поиска.

12
3. БАЗЫ ДАННЫХ В MS EXCEL

База данных в Microsoft Excel представляет собой список


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

Рис. 3.1. Список MS Excel

13
Работа со списком в MS Excel может осуществляться по
следующим направлениям:
 сортировка – выстраивание данных в нужном порядке;
 отбор данных – извлечение записей данных из списка в
соответствии с некоторыми требованиями (критериями);
 анализ данных – обработка различными средствами MS Еx-
cel информации, которая находится в списке или в
отфильтрованных данных.
Сортировка данных
Команда Данные→Сортировка открывает окно, в котором за-
даются ключи сортировки и порядок сортировки.
Отбор данных
Для поиска и фильтрации данных в MS Excel существуют
следующие средства:
 форма данных (команда Данные→Форма, затем кнопка
Критерии. В открывшемся окне вводятся критерии поиска в
необходимых полях; для перехода к записи, удовлетворяющей
критерию, следует нажать кнопку Далее или Назад);
 автофильтр (команда Данные→Фильтр→Автофильтр.
Возле каждого поля строки заголовка появляются
раскрывающиеся списки в виде кнопки с треугольником. Для
отбора данных следует перейти к заголовку нужного поля,
выбрать необходимый критерий поиска или воспользоваться
пользовательским автофильтром Условие);
 расширенный фильтр (позволяет одновременно или по
отдельности применять операции И, ИЛИ и составлять
вычисляемые критерии).

Существуют следующие критерии поиска.


1. По точному соответствию (математические вычисления и
логические операции не используются).
Например, Марка машины Ауди.
2. На основе сравнения – используют различные операции
сравнения (=, >, >=, <, <=, <>). Данные операции можно
применять к разным форматам данных (числа, текст, дата и др.).
Например, Пробег >=100000.
3. По близкому соответствию с использованием образца –
задается образец поиска, используя символы шаблона – ? или (и)
* (символ вопроса «?» обозначает любой единичный знак, знак
звездочка «*» обозначает последовательность любых знаков).

14
Например, Владелец Ива*.
4. С использованием операций И и ИЛИ – поиск данных по
нескольким условиям.
Например, Год выпуска >=1995 И Цвет машины бел*.
5. По вычисляемому критерию (только при использовании
расширенного фильтра).

Остановимся на поиске с помощью Расширенного фильтра.


Поиск с помощью расширенного фильтра производится в
соответствии со следующими рекомендациями.
1. Подготовить на Рабочем листе диапазон критериев для
расширенного фильтра:
а) верхняя строка содержит заголовки полей, по которым
будет производиться отбор;
б) условия критериев поиска записываются в пустые
строки под подготовленной строкой заголовка, причем следует
учитывать, что:
 выполнение условия И требует располагать критерии
поиска рядом в одной строке;
 выполнение условия ИЛИ требует располагать
критерии в соседних строках;
 поиск по вычисляемому критерию включает формулы, в
которых аргументами являются поля списка (формулы
представляют собой выражения, по которым
выполняются вычисления. Формула начинается со знака
равенства "="). Вычисляемый критерий располагается
под заголовком, который не должен совпадать ни с
одним именем поля списка! Для ссылок на список
используются относительные ссылки, которые
указывают на соответствующие данные в первой записи
в диапазоне данных списка. Ссылки на ячейки вне
списка берутся абсолютными. Вычисляемый критерий
может включать несколько функций и зависеть от
нескольких полей. Результатом вычисления критерия
должно быть логическое значение ИСТИНА или
ЛОЖЬ (расширенный фильтр отбирает записи, у
которых при подстановке соответствующих значений
получается ИСТИНА).
2. Воспользоваться командой
Данные → Фильтр → Расширенный фильтр.

15
3. Значения переключателей и полей окна Расширенный
фильтр следующие:
фильтровать список на месте – переключатель,
скрывающий строки, которые не удовлетворяют указанному
критерию;
скопировать результат в другое место – копирует
отфильтрованные данные на другой рабочий лист или на другое
место на этом же рабочем листе;
исходный диапазон – поле, определяющее диапазон, который
содержит список, подлежащий фильтрации;
диапазон условий – поле, определяющее диапазон ячеек на
рабочем листе, который содержит необходимые условия;
поместить результат в диапазон – поле, определяющее диа-
пазон ячеек, в который копируются строки, удовлетворяющие оп-
ределенным условиям; поле активно только в том случае, если
выбран переключатель скопировать результат в другое место.
Замечание. Можно сформировать заголовок области
результата, скопировав в отдельную строку заголовки нужных
полей, и указать его в качестве диапазона ячеек для результата.
Только уникальные записи – переключатель, который выводит
только строки, удовлетворяющие критерию и не содержащие
повторяющихся элементов.

Рис. 3.2. Окно Расширенный фильтр

16
Замечание. После использования команды Расширенный
фильтр таблица переходит в режим фильтрации. В этом режиме
многие команды MS Excel влияют только на видимые ячейки.
Чтобы снова вывести все записи, следует в меню Данные выбрать
пункт Фильтр, затем пункт Отобразить все.
Пример 1. Определить, имеются ли в списке белые машины,
выпущенные позже 1995 г., и цена которых находится в
диапазоне от значения, записанного в ячейке L1 до значения,
записанного в ячейке L2, или черные Ауди, пробег которых
больше значения, записанного в ячейке L3.
Решение состоит из следующих этапов.
1. Сформированный диапазон критериев для расширенного
фильтра представлен на рисунке 3.3.

М N O P Q R

1 Цвет Год Условие Условие Марка Условие по


машины выпуска по цене 1 по цене 2 машины пробегу
2 белый >1995 =I2>=$L$1 =I2<=$L$2
3 черный Ауди =H2>=$L$3

Рис. 3.3. Пример диапазона критериев

2. В ячейках L1, L2, L3 могут быть записаны, например,


следующие значения (рис. 3.4): 3000, 15000, 25000.

L
1 3000
2 15000
3 25000
Рис. 3.4. Пример значений, ограничивающих цену и пробег

3. Запускаем расширенный фильтр (см. рис. 3.2).

Функции базы данных


Для анализа данных из списков или баз данных используются
функции базы данных (ДМИН, ДМАКС, ДСРЗНАЧ, БДСУММ,
БДПРОИЗВЕД, ...). Команда Вставка→Функция... →Категория:
Работа с базой данных позволяет выбрать одну из этих функций.

17
Формат функций базы данных:
БДФУНКЦИЯ(база_данных; поле; критерий).
База_данных – диапазон ячеек, который формирует список
или базу данных.
Поле – определяет столбец, используемый функцией.
Аргумент «поле» может быть задан как текст с названием
столбца в двойных кавычках (например, "Пробег" или "Цена" из
списка на рис. 3.1), или как число, задающее положение столбца
в списке: 1 – для первого поля, 2 – для второго поля и так далее.
Критерий – интервал ячеек, который содержит задаваемые
условия (как в расширенном фильтре).
Например, для определения средней цены белых
автомобилей, выпущенных после 1995 года фирмами «Ауди» или
«Фолькc-ваген», на Рабочем листе составим критерий (рис. 3.5)

М N O
1 Цвет машины Год выпуска Марка машины
2 белый >1995 Ауди
3 белый >1995 Фольксваген

Рис. 3.5. Критерий отбора

и в ячейку M5 запишем формулу (рис. 3.6).

М
5 =ДСРЗНАЧ(A1:J31,I1,M1:O3)

Рис. 3.6. Формула для расчета средней цены

Замечание. В ячейке I1 находится заголовок поля «Цена».


Пример 2 (использование функций базы данных при расши-
ренной фильтрации). Определите все автомобили, у которых
или пробег больше, чем средний пробег для автомобилей не
белого цвета, с момента выпуска которых до приобретения
прошло от 3 до 7 лет, или черного цвета дороже цены,
записанной в ячейке L1.
Решение состоит из следующих этапов.
Шаг 1. Определим средний пробег автомобилей не белого
цвета, с момента выпуска которых до приобретения прошло от 3

18
до 7 лет. Критерий для функции ДСРЗНАЧ показан на рис. 3.7.

М N O
1 Цвет машины Не меньше 3 Не больше 7
2 <> белый =F2-E2>=3 =F2-E2<=7
Рис. 3.7. Критерий для определения среднего пробега

а формула для расчета среднего пробега приведена на рис. 3.8.


М
5 =ДСРЗНАЧ(A1:J31,H1,M1:O2)

Рис. 3.8. Формула для расчета среднего пробега


Шаг 2. Диапазон условий для расширенного фильтра изоб-
ражен на рис. 3.9.
М N O
7 Условие по пробегу Цвет машины Условие по цене
8 =H2>$M$5
9 черный =I2>$L$1

Рис. 3.9. Диапазон условий для расширенного фильтра

Шаг 3. Запускаем расширенный фильтр (рис. 3.10).

Рис. 3.10. Окно Расширенный фильтр для примера 2

Анализ данных
MS Excel предоставляет широкие возможности для
проведения анализа данных, которые находятся в списке MS Ex-

19
cel. К средствам анализа относятся, например, автоматическое
подведение итогов, консолидация данных, сводные таблицы и
т.п.
Задания к лабораторным занятиям 1 – 4.

Данные для выполнения заданий


Комплект 1
Марка Цифры Буквы Год Год Цвет Пробег Цена Владелец
машины номера номера выпуска приобре- машины
тения

Комплект 2
Продавец Товар Страна- Количество Цена Дата Покупатель
(фирма) импортер (фирма)

Комплект 3
Фами- Имя Отче- Курс Груп- Научный Кафед- Дата Дата Оцен-
лия ство па руково- ра выдачи защиты ка
дитель задания

Комплект 4
Название Автор/ы Тема Год Место Изда- Количест- Тираж Цена
книги книги издания издания тельство во страниц

Комплект 5
Код Клиент Сотрудник Дата Доставка Стоимость Город Страна Стоимость
заказа доставки товаров

Работа с расширенным фильтром


Для комплекта 1
1. Выделите все автомобили «Ауди» или «Форд», фамилия
владельцев которых начинается с буквы «П» и стоимость
которых больше величины, записанной в ячейке L1.
2. Выделите все автомобили красного или белого цвета,
приобретенные после 1995 года, пробег которых превосходит
значение, записанное в ячейке L1, более чем в 2 раза.
3. Определите, имеются ли в списке или красные машины,

20
выпущенные после 1996 года, цена которых находится в
диапазоне от значения, содержащегося в ячейке L1, до значения
содержащегося в ячейке L2, или марки «Форд», имеющие в
номере букву «С».
4. Определите, имеются ли в списке или белые машины,
пробег которых отличается от значения в ячейке L3 более чем на
15 %, или марки «Ауди», имя или отчество владельца у которых
начинается с буквы «В».
Для комплекта 2
1. Выделите все покупки второго квартала фирмой-покупа-
телем «Торговый дом «Неман»» или «ГрГУ» или покупки с
количеством большим, чем величина, записанная в ячейке L1.
2. Выделите все покупки первой декады, в которых страна-
импортер –– Япония или Украина, или покупки, в которых цена
больше величины, записанной в ячейке L1.
3. Определите покупки японских принтеров или сканеров,
цена которых отличается от значения, записанного в ячейке I1 не
более чем на 25 %.
4. Определите зимние продажи фирмы «Бакалея», стоимость
которых –– от 500 до 5000.
Для комплекта 3
1. Найдите всех студентов, защитивших курсовую работу на
кафедре МИОЭС до 24 числа, или студентов 3 группы, фамилия
которых начинается на букву «М».
2. Найдите всех студентов, получивших задание на курсовую
работу на кафедре МЭО до 21 числа, или студентов 2 группы,
фамилия которых начинается на букву «В» или «С», а отчество
— на букву «Н».
3. Определите курсовые работы, написанные студентами 2
группы у научного руководителя Будько, или студентами 4 курса,
защитившими курсовую работу на «4» или «5».
4. Определите курсовые работы, написанные студентами, имя
или отчество которых начинается с «Никол», или студентами 3
курса, которые защитились на кафедре МИОЭС до даты,
записанной в ячейке L1.
Для комплекта 4
1. Определите книги, выпущенные издательством
«Вышэйшая школа» или «Дело ЛТД», с ценой большей

21
величины, записанной в ячейке L1, или книги, изданные после
1996 года тиражом, не превосходящим величины, записанной в
ячейке L2.
2. Определите книги, изданные не в Москве тиражом не
большим величины, записанной в ячейке L1, или книги, изданные
в период с 1995 по 1999 год, цена которых не превосходит
величины, записанной в ячейке L2.
3. Определите книги, название которых начинается с
«Матем», или книги по экономике, изданные в период с 1995 по
2000 год, цена которых находится в диапазоне от значения в
ячейке К1 до значения в ячейке К2.
4. Определите книги по экономике, изданные в Москве,
тираж которых отличается более чем на 15 % от величины из
ячейки L1, или книги, изданные в С.-Петербурге после 1996 года.
Для комплекта 5
1. Определите заказы, доставленные по почте в города Герма-
нии, стоимость доставки которых не превосходит величины, за-
писанной в ячейке К1, или заказы, отправленные в Мехико, цена
которых более чем в 3 раза превышает значение из ячейки К2.
2. Определите все заказы, оформленные сотрудником, фами-
лия которого начинается на букву «К» и стоимость доставки
которых больше величины, записанной в ячейку К1, или заказы,
отправленные Ространсом в города, название которых начинается
с «Га», цена которых меньше значения из ячейки К2.
3. Определите все заказы за 2004 год, в которых название
клиента начинается на букву «В», или осенние заказы отправ-
ленные по почте.
4. Определите все заказы, оформленные Марией Беловой,
стоимость доставки которых отличается менее чем на 10 % от
величины, записанной в ячейку К1, или заказы, отправленные
зимой не Ространсом в США или Францию.

Работа с функциями базы данных


Для комплекта 1
1. Определите средний пробег белых машин марки «Форд»
или «Мерседес», приобретенных после 1997 года.
2. Определите средний пробег автомобилей белого цвета или
автомобилей, у которых с момента выпуска до продажи прошло
от 5 до 8 лет.

22
3. Определите максимальную цену автомобилей «Ауди»
белого цвета или «Фольксваген», у которых пробег превышает
значение, записанное в ячейке L2.
4. Определите минимальную цену автомобилей марки
«Форд» или «Ауди», выпущенных до 1995 года.
Для комплекта 2
1. Определите минимальную цену принтеров или ксероксов,
стоимость которых больше содержимого ячейки L2.
2. Определите среднее количество телевизоров или
принтеров, цена которых больше содержимого ячейки L2.
3. Определите максимальное количество товара, проданного
в 2001 году фирмами «Веса» или «Алгоритм» или купленного
фирмой «Торговый дом «Неман»» и импортированного из Кореи
или Японии.
4. Определите среднее количество товара, купленного зимой
фирмой «Мока».
Для комплекта 3
1. Определите средний балл студентов 4 курса, писавших
курсовую работу у преподавателей Маталыцкого М.А. или
Гончарова С.Л. или получивших задание 19.09.2008 года.
2. Определите средний балл студентов 3 курса 2 группы,
получивших задание 18.09.2008 года или защитивших работу во
второй декаде месяца.
3. Определите среднее количество дней от выдачи задания до
его защиты у студентов третьего курса, сдавших на «отлично».
4. Определите максимальный балл успеваемости студентов
3 курса 2 группы.
Для комплекта 4
1. Определите минимальный тираж книг или по экономике,
или изданных московскими издательствами, с количеством
страниц, большим величины, записанной в ячейке L3.
2. Определите среднюю цену книг или изданных в Питере с
количеством страниц, большим величины, записанной в ячейке
L3, или фамилия авторов которых начинается на букву «Д».
3. Определите максимальную цену книг по экономике,
изданных после 1996 года.
4. Определите средний тираж книг, выпущенных в
издательствах «Мир» или «Финансы и статистика», с
количеством страниц, превышающим величину, записанную в

23
ячейке L1.
Для комплекта 5
1. Определите среднюю стоимость весенних доставок в
Германию или США по почте, стоимость товаров в которых
более чем в 2 раза превышает величину, записанную в ячейке К1.
2. Определите минимальную стоимость товаров,
отправленных не почтой во втором квартале в Рио-де-Жанейро
или Мадрид.
3. Определите минимальную стоимость доставок Ространсом
за 2002 год в Швейцарию или Бразилию, стоимость товаров в
которых меньше величины, записанной в ячейке К1.
4. Определите максимальную стоимость доставки за зимний
период по почте или Ространсом, стоимость товаров в которых
находится в диапазоне значений от содержимого ячейки К1 до
содержимого ячейки К2.
Использование функий базы данных и расширенного фильтра
Для комплекта 1
1. Определите средний пробег белых автомобилей, с момента
выпуска которых до приобретения прошло от 7 до 10 лет.
Выделите все автомобили, у которых или пробег больше
полученного среднего пробега, или черного цвета дороже, чем
значение, записанное в ячейке L4.
2. Определите средний пробег автомобилей белого цвета или
автомобилей, у которых с момента их выпуска до продажи
прошло от 5 до 8 лет.
Выделите все автомобили марки «Ауди», или автомобили,
номер которых начинается с буквы «С», или автомобили, пробег
которых отличается не более чем на 30 % от найденного
среднего.
3. Определите максимальную цену автомобилей «Ауди»
белого цвета или «Фольксваген», у которых пробег превышает
значение, записанное в ячейке L2.
Выделите все автомобили или марки «Жигули», или
автомобили, у которых фамилия владельца начинается с буквы
«И» и цена которых отличается не более чем на 40 % от
найденного максимального значения.
4. Определите минимальную цену автомобилей марки
«Форд» или «Ауди», выпущенных до 1995 года.

24
Выделите все автомобили, фамилия владельца которых
начинается с буквы «С» или «П», или автомобили, у которых
цена превышает менее чем в 2 раза найденную минимальную
цену.
Для комплекта 2
1. Определите среднюю цену покупок за определенный год.
Найдите максимальное количество муки или сахара, проданное
во втором квартале.
Выделите все покупки первого полугодия, цена которых
больше найденной средней цены и количество единиц товара в
которых меньше максимального значения.
2. Определите минимальную цену принтеров или ксероксов,
стоимость которых больше содержимого ячейки L2.
Выделите все продажи фирмы «Веса» за определенный год,
или покупки фирмы «Торговый дом «Неман»», цена которых
отличается от найденной минимальной цены не менее чем на 20
%.
3. Определите среднее количество телевизоров или
принтеров, цена которых больше содержимого ячейки L2.
Выделите все продажи фирмы «Алгоритм» за определенный
год, или гречки, количество которых отличается от вычисленного
среднего более чем на 25 %.
4. Определите среднее количество телевизоров или
принтеров, цена которых больше содержимого ячейки L2.
Выделите все продажи первого квартала 2008 года,
количество которых превышает найденное среднее не более чем
в 2 раза.
Для комплекта 3
1. Определите средний балл по курсовым работам на 4 курсе.
Выделите все курсовые работы, написанные студентами,
фамилии которых начинаются с буквы «К» или «С», оценка у
которых меньше вычисленного среднего, или студентами третьей
группы, сдавшими лучше, чем оценка, записанная в ячейке L1.
2. Определите средний балл по курсовым работам студентов
4 курса, писавших курсовую работу у преподавателей
Маталыцкого М.А. или Гончарова С.Л.
Выделите все курсовые работы студентов 3 курса 2 группы,
написавших курсовую работу выше вычисленного среднего балла
или получивших задание 19.09.2008 года и научным

25
руководителем которых были преподаватели Ляликова В.И. или
Кривенков О.Б. и между датой выдачи задания и датой защиты
курсовой работы прошло более 246 дней.
3. Определите средний балл студентов 3 курса 2 группы,
получивших задание 18.09.2008 года или защитивших работу во
второй декаде месяца.
Выделите все курсовые работы студентов 4 курса,
написавших курсовую работу на оценку, которая не выше
вычисленного среднего значения, или студентов, фамилия
научного руководителя которых начинается на букву «Б» или
«С» и между датой выдачи задания и датой защиты курсовой
работы прошло не более 247 дней.
4. Определите максимальный балл успеваемости студентов
3 курса 2 группы.
Выделите все курсовые работы студентов, у которых
фамилия начинается с буквы «А», или отчество начинается с
буквы «В», или студентов, писавших курсовую работу на
кафедре МЭО и у которых оценка ниже вычисленного
максимального значения.

Для комплекта 4
1. Определите минимальный тираж книг по экономике или
выпущенных московскими издательствами с количеством
страниц, большим величины, записанной в ячейке L3. Выделите
все книги:
с названием, начинающимся на букву «Э», и выпущенные
издательством «Финансы и статистика»;
или книги стоимостью не менее 3500 руб. и тираж которых
отличается не более чем на 15 % от найденного минимального
значения.
2. Определите среднюю цену книг, изданных в Санкт-Петер-
бурге, с количеством страниц, большим величины, записанной в
ячейке L3. Выделите все книги:
изданные в Москве или Минске, цена которых превосходит
найденное среднее значение;
или фамилия авторов которых начинается с буквы «Д»;
или книги по экономике, тираж которых отличается более
чем на 30 % от значения, записанного в ячейке L1.
3. Определите максимальный тираж книг издательств
«Финансы и статистика» или «Вышэйшая школа». Выделите
книги:

26
по экономике, изданные в Москве, тираж которых
отличается более чем на 15 % от вычисленного максимального
значения;
или книги, изданные в Санкт-Петербурге, с количеством
страниц, превышающим значение, записанное в ячейке L3, менее
чем в 2 раза.
4. Определите среднюю цену книг, изданных в Санкт-Петер-
бурге, с количеством страниц, большим величины, записанной в
ячейке L3. Выделите все книги:
по научной тематике, фамилия авторов которых начинается
с буквы «К»;
или книги, изданные в Москве или Минске, цена которых
отличается менее чем на 10 % от вычисленного среднего
значения.

Для комплекта 5
1. Определите среднюю стоимость весенних доставок в
Германию или США по почте. Выделите все заявки:
оформленные сотрудником, фамилия которого начинается
на букву «Б», отправленные в Австрию или Венесуэлу, стоимость
доставок которых отличается не более чем на 30 % от найденного
среднего значения, стоимость товаров в которых более чем в 2
раза превышает величину, записанную в ячейке К1;
или заявки, доставленные Ространсом, стоимость товаров в
которых больше величины, записанной в ячейке К2.
2. Определите минимальную стоимость товаров,
отправленных не по почте во втором квартале в Рио-де-Жанейро
или Мадрид. Выделите все заявки:
оформленные в города, название которых начинается с
буквы «Г», стоимость доставок в которых отличается более чем
на 15 % от величины, записанной в ячейке К1;
или доставленные по почте, стоимость товаров в которых
превосходит найденное среднее значение не более чем в 3 раза.
3. Определите минимальную стоимость доставок Ространсом
за 2002 год в Швейцарию или Бразилию. Выделите все заявки:
в страны, название которых начинается с буквы «В»,
стоимость товаров в которых отличается не более чем на 20 % от
величины, записанной в ячейке К1;
или в Францию, отправленные по почте, стоимость доставки
которых не превосходит найденного минимального значения, а

27
стоимость товаров меньше величины, записанной в ячейке К2.
4. Определите максимальную стоимость доставки за зимний
период по почте или Ространсом, стоимость товаров в которых
находится в диапазоне значений от содержимого ячейки К1 до
содержимого ячейки К2. Выделите все заявки:
оформленные в страны, название которых начинается с букв
«Ве», стоимость доставки в которых отличается не более чем на
15 % от вычисленного максимального значения;
или отправленные не по почте, стоимость товаров в которых
не превышает величины, записанной в ячейке К1.

28
4. MICROSOFT ACCESS

Microsoft Access (англ. access – доступ) – одна из самых


популярных СУБД, построенная на основе реляционных моделей
и ориентированная на 32-разрядные микропроцессоры.
В практикуме рассматривается 10 версия MS Access (ХР).
MS Access содержит в себе развитую систему обработки
приложений для Windows. Программа не пишется в классическом
смысле этого термина – достаточно определить формы, отчеты и
с помощью простых команд (инструкций) Visual Basic связать их
с данными базы.
MS Access – полнофункциональная реляционная СУБД. В
этой системе можно пользоваться практически всеми средствами
операционной системы MS Windows. Применяется многодоку-
ментальный интерфейс (MDI – Multiple Dokument Interface), т.е.
одновременно можно работать с несколькими таблицами, фор-
мами, отчетами, макросами, модулями.
Таблица является основой БД. В MS Access вся информация
содержится в таблицах. Обеспечена связь между объектами.
MS Access имеет все необходимые средства для выполнения
трех комплексных типов функций:
а) определение данных (задание структуры БД и их описание);
б) обработка данных;
в) управление данными (установление правил доступа).
В MS Access входят специальные программы: «Конструктор»,
«Мастер», «Построитель выражений», «Маска ввода», что
позволяет создавать экранные формы, отчеты, запросы.
Программы «Конструктор» содержат инструментальные
средства, которые упрощают составление нужных форм, запросов
и отчетов.
Программы «Мастер» помогают проектировать форму или
отчет путем ответа пользователя на ряд вопросов для получения
законченного отчета (формы, запросы).
Построитель выражений (expression builder) содержит
список готовых выражений, оказывает пользователю помощь при
определении (формировании) выражений в таблице, запросе,
форме, отчете, макросе и модуле.
Вставлять объекты можно путем копирования объекта через
буфер обмена.

29
В любой момент можно вызвать контекстное меню с набором
команд – открывается правой кнопкой мыши.
Инструментарий «Переместить и отпустить» позволяет пере-
тягивать запросы, таблицы из окна базы данных в формы, отчеты.
MS Access включает в себя обширную справочную инфор-
мацию, которая может быть оперативно востребована и получена
пользователем. Команда Справка (Help) открывает диалоговое
многостороннее окно, в котором приведено содержание справоч-
ной системы по темам. Можно также получить нужную инфор-
мацию по содержанию, Мастеру ответов и указателю. Нужная
информация выводится на экран в диалоговом окне, она структу-
рированна и разбита на разделы.
После загрузки MS Access экран содержит четыре области:
строка меню, панель инструментов, окно БД и строка состояния.
1. Строка меню содержит меню («Файл», «Правка», «Вид»,
«Вставка», «Сервис», «Окно» и др.).
2. Панель инструментов содержит набор кнопок, состав
которых зависит от назначения конкретной панели
инструментов. Кнопки предназначены для вызова команд и
выполнения соответствующих операций. Каждому режиму
работы соответствует собственная панель инструментов.
Внешний вид панели инструментов можно настроить по своему
желанию командой
Вид → Панели инструментов.
3. Окно базы данных имеет семь вкладок объектов:
«Таблицы», «Запросы», «Формы», «Отчеты», «Страницы»,
«Макросы», «Модули», каждая из которых содержит объекты
текущей базы данных. Для перехода на нужную вкладку надо
щелкнуть на ее имя. В верхней части окна базы данных
находится три кнопки: «Открыть», «Конструктор», «Создать».
Кнопка «Открыть» открывает выбранный объект (таблицу,
запрос, форму, отчет). При открытии таблицы открывается окно
таблицы; при переходе на вкладку «Отчеты» кнопка «Открыть»
меняется на «Просмотр». Кнопка «Конструктор»
предназначена для модификации выбранного объекта, кнопка
«Создать» – для создания объекта.
4. Строка состояния расположена внизу главного окна. В
ней выводится краткая справочная информация о текущем
режиме работы или выбранном объекте. О готовности системы
принять команду пользователя говорит сообщение «Готово».

30
В MS Access база данных представляет собой совокупность
средств (таблицы, формы, запросы, отчеты) для ввода, хранения,
просмотра, выборки и управления информацией.
Функции и назначение объектов базы данных
Таблица – основной объект базы данных, в котором хранятся
данные и откуда пользователи получают нужную им информа-
цию из централизованных баз данных.
Запрос – производный от таблицы объект базы данных, с
помощью которого пользователи получают нужную информацию
из таблиц. Это механизм выборки, обновления, удаления и
добавления данных, создания новых таблиц на основании данных
одной таблицы или нескольких существующих таблиц.
Форма – объект, предназначенный для ввода данных в базу
данных, для просмотра и редактирования базы данных.
Отчет содержит сжатую форматированную информацию,
полученную на основании базы данных по заданному формату.
При этом выполняются обработка по заданному алгоритму для
получения соответствующих степеней итогов и печатание отчета.
Макрос – способ структурированного описания одного или
нескольких действий, которые автоматически выполняются в
ответ на определенное действие.
Модуль – представляет набор описаний и процедур на языке
Visual Basic для приложений (VBA), сохраненных в одном
программном блоке.
Страница доступа к данным – создана для просмотра данных
из Internet или intrаnet и работы с ними.
Создание базы данных
Запустить Access, выбрать параметр «Новая база данных».
Откроется окно «Файл новой базы данных». В поле «Папка»
выбрать имя папки, в которой будет сохраняться создаваемый
файл БД, а в поле «Имя файла» ввести имя файла БД. После
нажатия кнопки «Создать» на экране откроется окно новой БД.
Прежде чем создавать таблицы, формы и другие объекты,
необходимо задать структуру базы данных. Хорошая структура
является основой для создания адекватной базы данных.
Этапы проектирования реляционной базы данных
1. Определение цели создания БД.
Нужно определить основные темы таблиц базы данных и
информацию, которую будут содержать поля таблиц.

31
База данных должна отвечать требованиям тех, кто будет
непосредственно с ней работать. Для этого нужно определить:
темы, которые должна покрывать база данных; отчеты, которые
она должна выдавать; проанализировать формы, которые в
настоящий момент используются для записи данных.
2. Определение таблиц, которые должна содержать БД.
Один из наиболее сложных этапов в процессе проектирования
базы данных. Сначала лучше разработать структуру на бумаге.
При проектировке таблиц рекомендуется руководствоваться
следующими основными принципами:
─ информация в таблицах не должна дублироваться
(определенная информация хранится только в одной
таблице, см., например, описание про телефоны
поставщиков);
─ каждая таблица должна содержать информацию только на
одну тему (сведения на каждую тему обрабатываются
намного легче, если они содержатся в независимых друг
от друга таблицах).
3. Определение необходимых в таблице полей.
Каждая таблица содержит информацию на отдельную тему, а
каждое ее поле содержит отдельные сведения по теме таблицы.
При разработке полей таблицы необходимо помнить:
─ каждое поле должно быть связано с темой таблицы;
─ не рекомендуется включать в таблицу данные, которые
являются результатом выражения или функции;
─ в таблицах должна присутствовать вся необходимая
информация;
─ информацию следует разбивать на наименьшие
логические единицы (например, поля «Фамилия» и «Имя»,
а не общее поле);
─ каждое поле имеет свои параметры, которые указывают,
какой тип данных может в них храниться.
Тип данных – атрибут переменной или поля. Он определяет,
какие данные могут содержаться в поле (например, в поле с
типом «Текстовый» можно вводить как тексты, так и числа, а в
поле с типом «Числовой» – только числа). В базе данных для
каждого поля нужно выбрать тип данных, при этом учитываются
характер сохраняемой в поле информации и операции, которые
будут выполняться с ней (в табл. 4.1 приведены типы данных,
обрабатываемых MS Access).

32
Таблица 4.1 — Типы данных, обрабатываемых MS Access
Тип данных Применение и размер
1. Текстовый (Text) Текстовая информация; до 225 символов
2. Числовой (Number) Числовые данные, которые участвуют в
математических вычислениях: 1, 2, 4 или 8 байт
3. Денежный (Currency) Значение валют. Применяется для предотвращения
округлений во время вычислений; 8 байт
4. Поле Memo (Memo) Длинный текст или число, например описание; до
64 000 символов
5. Дата/время Дата и время; 8 байт
(Data | Time)
6. Счетчик При добавлении записей автоматически вставляется
(AutoNumber) последовательность чисел, которые отличаются на 1,
или случайные числа; 4 байта
7. Логический (Yes|No) Значения «Да» или «Нет»; 1 бит
8. Поле объекта Объекты, которые созданы в других программах
OLE (OLE Object) (MS Word, MS Excel, рисунки, звуки и др.), связанные
или внедренные в таблицу MS Access; ограничены
объемом диска
9. Гиперссылка Адрес ссылки (путь) на документ или файл,
(Hiperlink) находящийся в WWW, интрасети, LAN или на
локальном компьютере
10. Мастер подстановок Создается поле, которое позволяет выбрать значение
из другой таблицы или из списка значений; 4 байта

4. Задание индивидуального значения каждой записи.


Чтобы MS Access мог связать данные из разных таблиц, каж-
дая таблица должна содержать поле или набор полей, которые
будут задавать индивидуальное значение каждой записи в таб-
лице. Такое поле или набор полей называют первичным ключом.
Первичный ключ – одно или несколько полей (столбцов),
комбинация значений которых однозначно определяет каждую
запись в таблице. Первичный ключ не допускает значений Null 1
и всегда должен иметь уникальный индекс. Первичный ключ
используется для связывания таблицы с внешними ключами в
других таблицах.
1
Null – значение, которое можно ввести в поле или использовать в
выражениях и запросах для указания отсутствующих или неизвестных
данных.

33
5. Определение связей между таблицами.
После распределения данных по таблицам и определения
ключевых полей надо выбрать схему для связи данных в разных
таблицах. Для этого нужно определить связи между таблицами.
6. Усовершенствование структуры базы данных.
После проектирования таблиц, полей и связей необходимо
еще раз просмотреть структуру базы данных и выявить
возможные недочеты. Желательно это сделать на данном этапе,
пока таблицы не заполнены данными.
Для проверки необходимо создать несколько таблиц,
определить связи между ними и ввести несколько записей в
каждую таблицу, затем посмотреть, отвечает ли база данных
поставленным требованиям. Рекомендуется также создать
черновые выходные формы и отчеты и проверить, выдают ли они
требуемую информацию. Кроме того, необходимо исключить из
таблиц все возможные повторения данных.
7. Ввод данных и создание других объектов базы данных.
Если структуры таблиц отвечают поставленным требованиям,
то можно вводить данные. Затем можно создавать запросы,
формы, отчеты и другие объекты.
Пример 1 (сделки торгового предприятия). Спроектировать и
реализовать БД, которая учитывает сделки некоторого торгового
предприятия, а информация по сделке описана в виде структуры:
1. Номер сделки
2. Дата (Д/вр)
3. Операция (может быть «продажа», «покупка» и «потеря»)
4. Клиент
4.1. Название клиента
4.2. Адрес
4.3. Телефон
4.4. Расчетный счет
5. Сотрудник
5.1. Фамилия
5.2. Должность
6. Стоимость доставки (Д)
7. Содержание сделки
7.1. Товары
7.1.1. Наименование товара
7.1.2. Цена за единицу (Д)
7.2. Количество товаров (Ч).

34
В Access существуют следующие способы создания таблиц: с
помощью Мастера, в режиме таблицы и используя Конструктор.
Рассмотрим создание на примере таблицы «Клиенты»,
используя Конструктор. Для этого в окне «База данных»
выбрать вкладку «Таблицы». Нажать кнопку «Создать» и
выбрать способ создания таблицы: «Конструктор». Ввести
имена полей, типы данных и размеры полей.
Таблица «Клиенты» будет содержать следующие поля:
Имя поля Тип данных Размер
КодКлиента Счетчик Длинное целое (4 байта)
НазваниеКлиента Текстовый 20
Адрес Текстовый 20
Телефон Текстовый 10
РасчетныйСчет Текстовый 13

Примечания
1. В одной таблице поля не могут иметь одинаковое имя;
оно не должно начинаться с пробела; запрещены точка (.),
восклицательный знак (!), прямые скобки [ ] и
управляющие символы.
2. Рекомендуется присвоение полям «говорящих» имен и
коротких названий.
3. Для смены типа данных нужно нажать кнопку раскрытия
списка типов полей и выбрать необходимый тип.
4. В графе «Описание» даются пояснения полям.
5. Для связи таблиц в базе данных нужно определить поле-
ключ (значения ключа в таблице не повторяются, а значит,
однозначно определяют каждую запись): нажать нужное
поле, затем кнопку «Ключевое поле» на панели
инструментов. Слева от имени поля в области
выделенного ряда появится символ ключа. В примере
выберем в качестве ключевого поле «КодКлиента».
6. В нижней части окна Конструктора «Свойства поля»
каждое поле таблицы характеризуется дополнительными
свойствами (например, размер, формат поля, число
десятичных знаков, маска ввода, значение по умолчанию,
условие по значению, сообщение об ошибке и т.д.),
которые определяют условия ввода данных.
Сохранить таблицу командой Файл→Сохранить→Клиенты.
В окне БД на вкладке «Таблицы» появится имя созданной

35
таблицы. Для ввода в нее информации нужно открыть таблицу,
дважды нажав имя таблицы или выбрав его, нажать кнопку
«Открыть» в окне БД. На экране откроется таблица в режиме
таблицы, после чего можно приступать к вводу информации.
Замечание. Первое поле в таблице описано с типом данных
«Счетчик», поэтому вводить информацию в это поле не надо. Его
содержимое автоматически увеличивается на единицу в каждой
последующей записи.
В таблице или запросе в режиме таблицы доступны все
необходимые инструменты для работы с данными.
1. Использование панели инструментов Таблицы и Запроса в
режиме таблицы:
• вырезание, копирование или вставка выделенного текста,
поля, всех записей или всей таблицы полностью;
• сортировка записей;
• отбор записей, поиск или перемещение значений;
• добавление или удаление записей.
2. Работа со столбцами, строками и подтаблицами:
• использование области выделения столбца для
перемещения, скрытия или переименования столбца;
• изменение размеров строк или столбцов;
• просмотр связанных данных с помощью подтаблиц;
• закрепление левого крайнего столбца так, чтобы он
отображался на экране при прокрутке листа вправо.
3. Для перехода по записям в таблице можно использовать
панель перехода по записям:
• переход на первую, предыдущую, следующую и
последнюю записи;
• введение номера нужной записи;
• переход на новую (пустую) запись.
Аналогично таблице «Клиенты» создаются остальные
таблицы базы данных по учету сделок торгового предприятия и
определяются необходимые в таблицах поля (рис. 4.1).
Мощь реляционных баз данных, таких как MS Access,
опирается на их способность быстро найти и связать данные из
разных таблиц при помощи запросов, форм и отчетов. Для этого
каждая таблица должна содержать первичный ключ. Если для
таблицы определен первичный ключ, то MS Access
предотвращает дублирование ключа или ввод значений Null в
поля первичного ключа.

36
В MS Access различают первичные ключи трех типов.
1. Ключевые поля счетчика.
В поле с типом данных «Счетчик» при добавлении
каждой записи в таблицу автоматически вносится
порядковый номер. Указание такого поля в качестве
ключевого является наиболее простым способом создания
первичного ключа. Если до сохранения созданной таблицы
ключевые поля не были определены, то MS Access
предлагает создать ключевое поле автоматически. При
нажатии кнопки «Да» будет создано ключевое поле
счетчика.

Рис. 4.1. Таблицы и поля базы данных по учету сделок торгового предприятия

2. Простой ключ.
Если поле содержит уникальные значения, такие как коды
или инвентарные номера, то это поле можно определить как
первичный ключ. В качестве ключа можно определить любое
поле, содержащее данные, если это поле не содержит
повторяющихся значений или значений Null.
3. Составной ключ.
В случаях, когда невозможно гарантировать уникальность
значений каждого поля, существует возможность создать ключ,
состоящий из нескольких полей. Чаще всего такая ситуация
возникает для таблицы, используемой для связывания двух
таблиц в отношении «многие-ко-многим». Для составного ключа
существенным может оказаться порядок образующих ключ
полей. Сортировка записей осуществляется в соответствии с
порядком ключевых полей в бланке в режиме конструктора
таблицы. Имеется возможность изменить порядок полей
первичного ключа в окне индексов.

37
Замечание. На рис. 4.1 первичные ключи (счетчики) в
таблицах выделены полужирным шрифтом.
После создания в базе данных MS Access отдельных таблиц
по каждой теме необходимо выбрать способ, которым MS Access
будет объединять сведения таблиц. В первую очередь следует
определить связи между таблицами. После этого можно создать
запросы, формы и отчеты для одновременного отображения
сведений из нескольких таблиц.
Например, форма, отображенная на рисунке 4.2, включает
сведения из пяти таблиц, где введены обозначения: 1 – таблица
«Сделки», 2 – таблица «Клиенты», 3 – таблица «Сотрудники», 4 –
таблица «Товары», 5 – таблица «СодержаниеСделки».

2
3
1

4 5

Рис. 4.2. Форма, содержащая сведения из таблиц БД

В приведенном примере поля в таблицах должны быть


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

38
Связь между таблицами устанавливает отношения между сов-
падающими значениями в ключевых полях, обычно между
полями, имеющими одинаковые имена в обеих таблицах. В
большинстве случаев с ключевым полем одной таблицы,
являющимся уникальным идентификатором каждой записи,
связывается внешний ключ другой таблицы.
Внешний ключ – одно или несколько полей в таблице, содер-
жащих ссылку на поле или поля первичного ключа в другой
таблице. Внешний ключ определяет способ объединения таблиц.
Между таблицами существуют следующие типы отношений:
1) «один-к-одному» (1 : 1);
2) «один-ко-многим» (1 : М), «много-к-одному» (М : 1);
3) «много-ко-многим»(М : М).
При отношении «один-к-одному» каждая запись в таблице A
может иметь не более одной связанной записи в таблице B и
наоборот. Отношения этого типа используются не очень часто,
поскольку большая часть сведений, связанных таким образом,
может быть помещена в одну таблицу. Отношение «один-к-
одному» может использоваться для разделения таблиц,
содержащих много полей, для отделения части таблицы по
соображениям безопасности, а также для сохранения сведений,
относящихся к подмножеству записей в главной таблице.
Например, можно создать таблицу для отслеживания участия
студентов в спортивных мероприятиях. Для этого каждому
игроку в таблице «Команда» должна соответствовать одна запись
в таблице «Студенты».
В таблице «Команда» набор значений представляет
подмножество для поля «КодСтудента» из таблицы «Студенты».

Рис. 4.3. Тип отношения «один-к-одному»

39
Отношение «один-к-одному» создается в том случае, когда
оба связываемых поля являются ключевыми или имеют
уникальные индексы.
Отношение «один-ко-многим» является наиболее часто
используемым типом связи между таблицами. В отношении
«один-ко-многим» каждой записи в таблице A могут
соответствовать несколько записей в таблице B, но запись в
таблице B не может иметь более одной соответствующей ей
записи в таблице A.
Например, один сотрудник может совершить несколько
сделок, однако за каждую сделку может быть ответствен только
один сотрудник (рис. 4.4).

Рис. 4.4. Тип отношения «один-ко-многим»

Отношение «один-ко-многим» создается в том случае, когда


только одно из полей является полем первичного ключа или
уникального индекса.
Отношение «много-к-одному» схоже с отношением «один-
ко-многим», но является уникальной связь слева направо.

Рис. 4.5. Тип отношения «многие-ко-многим»

40
При отношении «многие-ко-многим» одной записи в
таблице A могут соответствовать несколько записей в таблице B,
а одной записи в таблице B — несколько записей в таблице A.
Этот тип связи возможен только с помощью третьей (связующей)
таблицы, содержащей два поля, которые являются внешними
ключами таблиц A и B. Отношение «многие-ко-многим» по сути
дела представляет собой два отношения «один-ко-многим» с
третьей таблицей.
Например, отношение «многие-ко-многим» между таблицами
«Сделки» и «Товары» определяется путем создания двух
отношений «один-ко-многим» с таблицей «СодержаниеСделки».
В одной сделке может быть много товаров, а каждый товар может
появляться в нескольких сделках (рис. 4.5).
Поле со списком подстановок
Создавать новые поля со списком подстановок или списком
значений можно как в режиме конструктора, так и в режиме
таблицы. Однако если поле, которое будет использовано как
внешний ключ для поля подстановок, уже существует,
необходимо открыть содержащую это поле таблицу в режиме
конструктора и определить поле подстановок.
Например, если имеется таблица «Сделки», в которой уже
определено поле «НазваниеКлиента», и требуется превратить его
в поле подстановок, в котором будут выводиться названия
клиентов из таблицы «Клиенты», то необходимо открыть таблицу
«Сделки» в режиме конструктора и преобразовать поле
«НазваниеКлиента» в поле подстановок.
Создание в таблице «Сделки» поля с подстановкой
значений из таблицы «Клиенты» в режиме конструктора:
1) создать таблицу «Сделки» в режиме конструктора;
2) выбрать строку поля «НазваниеКлиента»;
3) в столбце Тип данных нажать кнопку со стрелкой и
выбрать Мастер подстановок;
4) в первом диалоговом окне мастера подстановок выбрать
переключатель для создания столбца подстановок,
использующего значения из таблицы или запроса. Нажать
кнопку «Далее»;
5) выбрать таблицу «Клиенты». Нажать кнопку «Далее»;
6) выбрать поле «НазваниеКлиента» как столбец
подстановки. Нажать кнопку «Далее»;

41
7) задать ширину столбцов, которые содержит столбец
подстановки. Рекомендуется скрыть ключевой столбец.
Нажать кнопку «Далее»;
8) задать подпись столбца подстановки. Нажать «Готово».
Microsoft Access создаст поле подстановок и установит его
свойства на основании значений, выбранных в мастере.
Аналогично связываются следующие пары таблиц: «Сделки»
и «Сотрудники»; «СодержаниеСделки» и «Товары»;
«СодержаниеСделки» и «Сделки».
Определение связей при помощи Схемы данных
1. Закрыть все открытые таблицы. Создавать или изменять
связи между открытыми таблицами нельзя.
2. Для перехода в окно базы данных нажать клавишу F11.
3. Нажать кнопку Схема данных на панели инструментов.
4. Если в базе данных еще не определены связи,
автоматически открывается диалоговое окно Добавление
таблицы.
Если нужно добавить таблицы для создания связей, а
диалогового окна Добавление таблицы на экране нет, нажать
кнопку «Отобразить таблицу» на панели инструментов.
5. Дважды щелкнуть имена таблиц, для которых требуется
определить связи, и закрыть диалоговое окно Добавление
таблицы. Чтобы связать таблицу саму с собой, добавить ее
дважды.
6. Чтобы установить связи между полями, выбрать поле в
одной таблице и перетащить его на соответствующее поле во
второй таблице. Чтобы перетащить сразу несколько полей,
нажать клавишу «CTRL» и, удерживая ее, выбрать каждое поле.
В большинстве случаев связывают поле первичного ключа
(представленное в списке полей полужирным шрифтом) одной
таблицы с соответствующим ему полем второй таблицы, которое
называют полем внешнего ключа.
7. Будет открыто диалоговое окно Изменение связей.
Проверить правильность имен полей, присутствующих в двух
столбцах. Установить необходимые параметры связи между
таблицами:
 Целостность данных
Целостность данных означает систему правил, используемых
в Microsoft Access для поддержания связей между записями в

42
связанных таблицах, а также обеспечивающих защиту от
случайного удаления или изменения связанных данных:
 невозможно ввести в поле внешнего ключа связанной
таблицы значение, не содержащееся в ключевом поле главной
таблицы. Однако в поле внешнего ключа возможен ввод
значений Null, показывающих, что записи не являются
связанными.
Например, нельзя сохранить запись, регистрирующую
сделку, сделанную несуществующим клиентом, но можно
создать запись для сделки, которая пока не отнесена ни к одному
из клиентов, если ввести значение Null в поле
«НазваниеКлиента»;
 не допускается удаление записи из главной таблицы, если
существуют связанные с ней записи в подчиненной таблице.
Например, невозможно удалить запись из таблицы
«Сотрудники», если в таблице «Сделки» имеются сделки,
относящиеся к данному сотруднику.
 Каскадное обновление и удаление
Если при определении связи установить флажок Каскадное
обновление связанных полей, любое изменение значения
первичного ключа главной таблицы приведет к автоматическому
обновлению соответствующих значений во всех связанных
записях.
Замечание. Если в главной таблице ключевым полем
является поле счетчика, то установка флажка Каскадное
обновление связанных полей не приведет к каким-либо
результатам, так как изменить значение поля счетчика
невозможно.
Если при определении отношения установить флажок
Каскадное удаление связанных записей, любое удаление записи
в главной таблице приведет к автоматическому удалению
связанных записей в подчиненной таблице.

43
Рис. 4.6. Схема данных базы данных по учету сделок торгового предприятия

Например, при удалении из таблицы «Клиенты» записи


конкретного клиента будут автоматически удалены все связанные
записи в таблице «Сделки» (а также записи в таблице
«СодержаниеСделки», связанные с записями в таблице
«Сделки»).
8. Для создания связи нажать кнопку «Создать».
9. Для каждой пары таблиц, которые необходимо связать,
повторить шаги с пятого по восьмой.
Схема данных базы данных по учету сделок торгового
предприятия изображена на рис. 4.6.
Задания к лабораторным занятиям 5 – 6

1. База данных «Сессия».


Имеется информация по сессиям следующей структуры.
1. КодСессии (Счетчик)
2. Факультет
3. Студент
3.1. Номер зачетки
4. Дата экзамена (Д/ Вр)
5. Курс (Ч)
6. Группа (Ч)
7. Предмет
7.1. Ф.И.О. преподавателя
8. Оценка (Ч)
Необходимо создать базу данных по экзаменационным сессиям.
Рекомендации
1. Таблицы БД «Сессия» имеют следующую структуру:
 таблица «Сессии» содержит поля:
 КодСессии (первичный ключ)
 КодФакультета (внешний ключ)
 КодСтудента (внешний ключ)
 ДатаЭкзамена
 Курс
 Группа
 КодПредмета (внешний ключ)
 Оценка
 «Факультеты»
 КодФакультета (первичный ключ)

44
 Название
 «Студенты»
 КодСтудента (первичный ключ)
 ФИОСтудента
 НомерЗачетки
 «Предметы»
 КодПредмета (первичный ключ)
 Наименование
 ФИОПреподавателя
2. Создайте таблицы с помощью Конструктора. Каждая
таблица должна иметь первичный ключ (Счетчик). Введите
имена полей, руководствуясь пунктом 1 рекомендаций, типы
данных предложены в структуре в круглых скобках (если тип не
указан, то использовать тип Текстовый).
3. Для поля «ДатаЭкзамена» из таблицы «Сессии» установите
свойство «Значение по умолчанию» текущую дату (задать с
помощью функции Date()). На поле «Оценка» наложить условие:
оценка может принимать только значения от 0 до 10. Свойства
остальных полей задайте самостоятельно.
4. Поля внешнего ключа создайте Мастером подстановок.
5. Просмотрите установленные связи при помощи Схемы
данных. Изучите параметры связи Целостность данных,
Каскадное обновление и удаление.
6. Заполните таблицы данными.
7. Рассмотрите инструменты для работы с данными в таблице
в режиме таблицы.
 Использование панели инструментов Таблицы и Запроса
в режиме таблицы:
 вырезание, копирование или вставка выделенного
текста, поля, всех записей или всей таблицы
полностью;
 сортировка записей;
 отбор записей, поиск или перемещение значений;
 добавление или удаление записей.
 Работа со столбцами, строками и подтаблицами:
 использование области выделения столбца для
перемещения, скрытия или переименования столбца;
 изменение размеров строк или столбцов;
 использование подтаблиц для просмотра связанных
данных;

45
 закрепление левого крайнего столбца таким образом,
чтобы он отображался на экране при прокрутке листа
вправо.
 Для перехода по записям в таблице можно использовать
панель перехода по записям:
 переход на первую, предыдущую, следующую, по-
следнюю запись;
 введение номера нужной записи;
 переход на новую (пустую) запись.

2. База данных «Изготовление мебели».


Имеется информация по заявкам в фирме на изготовление
мебели следующей структуры.
1. КодЗаявки (Счетчик)
2. Дата (Д/вр)
3. Клиент
3.1. Адрес клиента
3.2. Расчетный счет
4. Признак
5. Товары
5.1. Количество (Ч)
5.2. Цена за единицу (Д)
Необходимо создать базу данных по учету заявок для фирмы
на изготовление мебели.
Рекомендации
1. Заявки учитывать в следующих таблицах:
 таблица «Заявки» содержит поля:
 КодЗаявки (первичный ключ)
 ДатаЗаявки
 КодКлиента (внешний ключ)
 КодПризнака (внешний ключ)
 «СодержаниеЗаявки»
 КодСодержания (первичный ключ)
 КодЗаявки (внешний ключ)
 КодТовара (внешний ключ)
 Количество
 «Клиенты»
 КодКлиента (первичный ключ)
 Клиент
 АдресКлиента

46
 РасчетныйСчет
 «Признаки»
 КодПризнака (первичный ключ)
 Признак
 «Товары»
 КодТовара (первичный ключ)
 Товар
 ЦенаЗаЕдиницу
2. Признак может быть: «выполнена», «не выполнена».
3. Товары, например, «стол», «стул», «шкаф», «тумба» и т.д.
4. Создайте таблицы с помощью Конструктора. Каждая
таблица должна иметь первичный ключ (Счетчик). Введите
имена полей, руководствуясь пунктом 1 рекомендаций, типы
данных предложены в структуре в круглых скобках (если тип не
указан, то используйте тип Текстовый).
5. Для поля «ДатаЗаявки» из таблицы «Заявки» установите
свойство «Значение по умолчанию» текущую дату (задать с
помощью функции Date()). На поле «ЦенаЗаЕдиницу» наложите
условие: цена должна быть > 0. Свойства остальных полей
задайте самостоятельно.
6. Поля внешнего ключа создайте Мастером подстановок.
7. Просмотрите установленные связи при помощи Схемы
данных. Изучите параметры связи Целостность данных,
Каскадное обновление и удаление.
8. Заполните таблицы данными. Количество заявок — не
менее 25, клиентов от 8 до 12. Некоторые заявки должны
содержать несколько товаров.
9. Рассмотрите инструменты для работы с данными в таблице
в режиме таблицы (см. задание 7 для БД «Сессия»).

3. База данных «Продажа компьютеров».


Имеется информация по продаже компьютеров, которая
имеет следующую структуру.
1. КодПродажи (Счетчик)
2. Дата (Д/вр)
3. Клиент
4. Товары
4.1. Количество (Ч)
4.2. Тип товара
4.3. Производитель
4.3.1. Страна производителя

47
4.4. Наименование товара
4.5. Цена за единицу (Д).
Необходимо создать базу данных магазина по продаже компь-
ютерной техники.
Рекомендации
1. Продажи учитывать в следующих таблицах:
 таблица «ЗаголовокПродажи» содержит поля:
 КодПродажи (первичный ключ)
 ДатаПродажи
 Клиент
 «СодержаниеПродажи»
 КодСодержания (первичный ключ)
 КодПродажи (внешний ключ)
 КодТовара (внешний ключ)
 Количество
 «Товар»
 КодТовара (первичный ключ)
 КодТипа (внешний ключ)
 КодПроизводителя (внешний ключ)
 Товар
 ЦенаЗаЕдиницу
 «ТипыТоваров»
 КодТипа (первичный ключ)
 ТипТоваров
 «ФирмаПроизводитель»
 КодПроизводителя (первичный ключ)
 Производитель
 Страна
2. Типы товаров могут быть, например, «компьютер»,
«монитор», «принтер», «сканер», «факс-модем», «жесткий диск»
и т.п.
3. Фирмы-производители: «Intel», «IBM», «BELABM», «NTT»,
«HP», «Sony», «Samsung», «Epson», «ZyXEL» и т.п.
4. Создайте таблицы, используя Конструктор. Каждая
таблица должна иметь первичный ключ (Счетчик). Введите
имена полей, руководствуясь пунктом 1 рекомендаций, типы
данных предложены в структуре в круглых скобках (если тип не
указан, то использовать Текстовый).
5. Для поля «ДатаПродажи» из таблицы «Заголовок
продажи» установите свойство «Значение по умолчанию»

48
текущую дату (задайте с помощью функции Date()). На поле
«ЦенаЗаЕдиницу» наложите условие: цена должна быть >0.
Свойства остальных полей задайте самостоятельно.
6. Поля внешнего ключа создайте Мастером подстановок.
7. Просмотрите установленные связи при помощи Схемы
данных. Изучите параметры связи Целостность данных,
Каскадное обновление и удаление.
8. Заполните таблицы данными. Количество продаж — не
менее 25. Большинство продаж должно содержать несколько
товаров.
9. Рассмотрите инструменты для работы с данными в таблице
в режиме таблицы (см. задание 7 для БД «Сессия»).

4. База данных «Продажа лекарств».


Имеется информация по продаже лекарств со структурой:
1. КодПродажи (Счетчик)
2. Дата (Д/вр)
3. Клиент
4. Лекарства
4.1. Льгота
4.1.1. Процент оплаты (Ч)
4.2. Количество (Ч)
4.3. Изготовитель
4.3.1. Страна
4.4. Цена за единицу (Д)
Необходимо создать базу данных магазина по продаже лекарств.
Рекомендации
1. Продажи учитываются в следующих таблицах:
 таблица «ЗаголовокПродажи» содержит поля:
 КодПродажи (первичный ключ)
 ДатаПодажи
 Клиент
 «СодержаниеПродажи»
 КодСодержания (первичный ключ)
 КодПродажи (внешний ключ)
 КодЛекарства (внешний ключ)
 КодЛьготы (внешний ключ)
 Количество
 «Лекарства»
 КодЛекарства (первичный ключ)

49
 Лекарство
 КодИзготовителя (внешний ключ)
 ЦенаЗаЕдиницу
 «Льготы»
 КодЛьготы (первичный ключ)
 ПроцентОплаты
 «Изготовитель»
 КодИзготовителя (первичный ключ)
 Изготовитель
 Страна
2. Льготы на покупку лекарств могут быть, например, «100 %»,
«90 %», «50 %», «25 %», «10 %» и т.п.
3. Изготовители, например, «Щелковский завод»,
«Алтайвитамины», «Биохимик» в России; «Борисовский завод»,
«Экзон» в Беларуси; «УПСА» во Франции; «Форте» в Германии
и т.п.
4. Создайте таблицы, используя Конструктор. Каждая
таблица должна иметь первичный ключ (Счетчик). Введите
имена полей, руководствуясь пунктом 1 рекомендаций, типы
данных предложены в структуре в круглых скобках (если тип не
указан, то использовать Текстовый).
5. Для поля «ДатаПродажи» из таблицы «ЗаголовокПродажи»
установите свойство поля «Значение по умолчанию» текущую
дату (задать с помощью функции Date()). На поле
«ЦенаЗаЕдиницу» наложите условие: цена должна быть > 0.
Свойства остальных полей задайте самостоятельно.
6. Поля внешнего ключа создайте Мастером подстановок.
7. Просмотрите установленные связи при помощи Схемы
данных. Изучите параметры связи Целостность данных,
Каскадное обновление и удаление.
8. Заполните таблицы данными. Количество продаж — не
менее 30. Некоторые продажи должны содержать несколько
лекарств или лекарства с разными льготами.
9. Рассмотрите инструменты для работы с данными в таблице
в режиме таблицы (см. задание 7 для БД «Сессия»).

5. База данных «Продажа обуви».


Имеется информация по продаже обуви со структурой:
1. КодПродажи (Счетчик)
2. Дата (Д/вр)

50
3. Клиент
4. Подарок
4.1. Цена подарка (Д)
5. Товары
5.1. Количество (Ч)
5.2. Тип
5.3. Изготовитель
5.4. Модель
5.5. Цена за единицу (Д)
Необходимо создать базу данных магазина по продаже обуви.
Рекомендации
1. Продажи учитываются в следующих таблицах:
 таблица «ЗаголовокПродажи» содержит поля:
 КодПродажи (первичный ключ)
 ДатаПродажи
 Клиент
 КодПодарка (внешний ключ)
 «Подарки»
 КодПодарка (первичный ключ)
 Подарок
 ЦенаПодарка
 «СодержаниеПродажи»
 КодСодержания (первичный ключ)
 КодПродажи (внешний ключ)
 КодТовара (внешний ключ)
 Количество
 «Товар»
 КодТовара (первичный ключ)
 КодТипа (внешний ключ)
 КодИзготовителя (внешний ключ)
 Модель
 ЦенаЗаЕдиницу
 «ТипыТоваров»
 КодТипа (первичный ключ)
 ТипТоваров
 «ФирмаИзготовитель»
 КодИзготовителя (первичный ключ)
 Изготовитель
2. Подарки, например, «авторучка», «компакт-диск», «щетка
для обуви», «крем для обуви», «календарь» и т.п.

51
3. Типы товаров могут быть: «туфли», «полуботинки»,
«кроссовки», «тапочки», «сапоги» и т.п.
4. Фирмами изготовителями могут выступать «Белвест»,
«Неман», «ЛеГранд» и т.п.
5. Создайте таблицы, используя Конструктор. Каждая
таблица должна иметь первичный ключ (Счетчик). Введите
имена полей, руководствуясь пунктом 1 рекомендаций, типы
данных предложены в структуре в круглых скобках (если тип не
указан, то использовать Текстовый).
6. Для поля «ДатаПродажи» из таблицы «ЗаголовокПродажи»
установите свойство поля «Значение по умолчанию» текущую
дату (задайте с помощью функции Date()). На поле
«ЦенаЗаЕдиницу» наложите условие: цена должна быть > 0.
Свойства остальных полей задайте самостоятельно.
7. Поля внешнего ключа создайте Мастером подстановок.
8. Просмотрите установленные связи при помощи Схемы
данных. Изучите параметры связи Целостность данных,
Каскадное обновление и удаление.
9. Заполните таблицы данными. Количество продаж — не
менее 40. Некоторые продажи должны содержать несколько пар
или несколько моделей обуви.
10. Рассмотрите инструменты для работы с данными в
таблице в режиме таблицы (см. задание 7 для БД «Сессия»).

6. База данных «Ремонт автомобилей».


Имеется информация по ремонту автомобилей со структурой:
1. КодЗаявки (Счетчик)
2. Марка автомобиля
3. Клиент
3.1. Адрес клиента
4. Работы
4.1. Стоимость (Д)
5. Дата приема (Д/вр)
6. Дата выполнения (Д/вр)
7. Признак (Л)
Необходимо создать БД по учету заявок по ремонту автомобилей.
Рекомендации
1. Заявки учитываются в следующих таблицах:
 таблица «Заявки» содержит поля:
 КодЗаявки (первичный ключ)
 КодАвтомобиля (внешний ключ)

52
 ДатаПриема
 ДатаВыполнения
 КодКлиента (внешний ключ)
 «Содержание заявки»
 КодСодержания (первичный ключ)
 КодЗаявки (внешний ключ)
 КодРаботы (внешний ключ)
 Признак
 «Автомобили»
 КодАвтомобиля (первичный ключ)
 Марка
 «Клиенты»
 КодКлиента (первичный ключ)
 ФИОКлиента
 АдресКлиента
 «Работы»
 КодРаботы (первичный ключ)
 НаименованиеРаботы
 ЦенаРаботы
2. Создайте таблицы, используя Конструктор. Каждая
таблица должна иметь первичный ключ (Счетчик). Внесите
имена полей, руководствуясь пунктом 1 рекомендаций, типы
данных предложены в структуре в круглых скобках (если тип не
указан, то использовать Текстовый).
3. Для поля «ДатаПриема» из таблицы «Заявки» установите
свойство «Значение по умолчанию» текущую дату (задайте с
помощью функции Date()). На поле «ЦенаРаботы» наложите
условие: цена должна быть > 0. Свойства остальных полей
задайте самостоятельно.
4. Поля внешнего ключа создайте Мастером подстановок.
5. Просмотрите установленные связи при помощи Схемы
данных. Изучите параметры связи Целостность данных,
Каскадное обновление и удаление.
6. Заполните таблицы данными. Количество заявок — не
менее 25, клиентов — от 8 до 12. Некоторые заявки должны
содержать несколько работ.
7. Рассмотрите инструменты для работы с данными в таблице
в режиме таблицы (см. задание 7 для БД «Сессия»).

7. База данных «Библиотека».


Имеется информация по выдаче литературы в библиотеке

53
следующей структуры.
1. КодВыдачи (Счетчик)
2. Дата выдачи (Д/вр)
3. Дата возврата (Д/вр)
4. Читатель
4.1. Адрес читателя
4.2. Телефон
5. Книга
5.1. Автор/ ы
5.2. Издательство
5.3. Количество страниц
5.4. Тираж
5.5. Тематика
5.6. Количество экземпляров
5.7. Цена
Необходимо создать БД библиотеки по выдаче литературы.
Рекомендации
1. Выдача/возврат литературы учитывается в таблицах:
 таблица «ВыдачаЛитературы» содержит поля:
 КодВыдачи (первичный ключ)
 КодЧитателя (внешний ключ)
 БиблиотечныйКод(внешний ключ)
 ДатаВыдачи
 ДатаВозврата
 ПризнакВозврата
 «Литература»
 КодКниги (первичный ключ)
 Автор
 НазваниеКниги
 КодИздательства (внешний ключ)
 КоличествоСтраниц
 КодТематики (внешний ключ)
 ЦенаКниги
 КоличествоЭкземпляров
 ДатаПриобретения
 «Читатели»
 КодЧитателя (первичный ключ)
 ФамилияЧитателя
 ИмяЧитателя
 ОтчествоЧитателя

54
 ДомашнийАдрес
 Телефон
 «Издательства»
 КодИздательства (первичный ключ)
 НазваниеИздательства
 Город
 «Тематика книг»
 КодТематики (первичный ключ)
 Тематика
 «Библиотечная литература»
 БиблиотечныйКод
 КодКниги (внешний ключ)
2. Тематика книги может быть, например, «статистика»,
«финансы», «математика», «информатика», «АХД» и т.п.
3. Издательства, например, «ДелоЛТД», «Вышэйшая школа»,
«Финансы и статистика», «Мир», «BHV».
4. Признак может быть: «сдана», «не сдана», «утеряна».
5. Создайте таблицы, используя Конструктор. Каждая
таблица должна иметь первичный ключ (Счетчик). Введите
имена полей, руководствуясь пунктом 1 рекомендаций, типы
данных предложены в структуре в круглых скобках (если тип не
указан, то используйте тип Текстовый).
6. Для поля «ДатаВыдачи» из таблицы «ВыдачаЛитературы»
установите свойство поля «Значение по умолчанию» текущую
дату (задайте с помощью функции Date()). На поле
«КоличествоЭкземпляров» наложите условие: количество
должно быть > 0. Свойства остальных полей задайте
самостоятельно.
7. Поля внешнего ключа создайте Мастером подстановок.
8. Просмотрите установленные связи при помощи Схемы
данных. Изучите параметры связи Целостность данных,
Каскадное обновление и удаление.
9. Заполните таблицы данными. Количество выдачи
литературы — не менее 40.
10. Рассмотрите инструменты для работы с данными в
таблице в режиме таблицы (см. задание 7 для БД «Сессия»).

55
4.1. Понятие запроса к базе данных

Запрос (query) – механизм выбора и представления информа-


ции из базы данных. Запрос направляется пользователем или про-
граммой в СУБД для поиска отдельных записей в БД. Вопрос,
сформированный по отношению к БД, и есть запрос.
Для выборки информации из базы данных предназначены
Мастера запросов и Конструкторы запросов. С их помощью
можно указывать поля, которые должны быть изображены для
выбранных записей, создавать сложные критерии для выбора
записей с одной или нескольких таблиц, делать вычисления с
выбранными данными.
Механизм запросов реализует одно из основных назначений
базы данных – быстрый поиск информации и получение ответов
на поставленные вопросы.
Все запросы MS Access строит на основе соответствующего
SQL-запроса (SQL – структурированный язык запросов). Чтобы
просмотреть его, необходимо в активном окне проектирования
запроса дать команду «Вид» → «SQL».

56
Создание запросов выбора
Запрос на выборку является наиболее часто используемым
типом запроса. Запросы этого типа возвращают данные из одной
или нескольких таблиц и отображают их в виде таблицы.
Запросы на выборку можно также использовать для группировки
записей и вычисления сумм, средних значений, подсчета записей
и нахождения других типов итоговых значений.
Создание простого запроса на выборку с помощью мастера
1. В окне БД в списке «Объекты» выберите «Запросы» и на
панели инструментов окна БД нажмите кнопку «Создать».
2. В диалоговом окне «Новый запрос» выберите в списке
строку «Простой запрос» и нажмите кнопку «OK».
3. Откройте список «Таблицы/Запросы» и выберите
таблицу-источник или запрос, а из списка «Доступные поля» –
список полей таблицы (таблиц) и включите их в зону
«Выбранные поля» для создания запроса (дважды щелкнув
мышью или нажав одну из кнопок навигации). Если запрос
формируется на основе нескольких таблиц или запросов-
источников, необходимо повторить описанные действия для
каждого источника.
4. После выбора всех полей для формирования запроса
щелкните кнопку «Далее». На экране появится следующее окно
диалога Мастера запросов, где предлагается: «Выберите
подробный или итоговый отчет».
5. Для вывода каждого поля каждой записи выбираем
«Подробный». Для подсчета значений поля по всем записям
следует выбрать опцию «Итоговый» и щелкнуть кнопку
«Итоги...», а в открывшемся окне диалога «Итоги» выбрать
(путем установки флажка) вид выполняемого вычисления,
например «Sum», и щелкнуть кнопку «ОК». Расчеты
выполняются над значениями полей типа «числовой» и
«денежный».
6. Щелкните кнопку «Далее» для задания имени созданного
запроса и выбора одного из вариантов дальнейших действий:
«Открыть запрос для просмотра данных» (запустить запрос)
или «Изменить макет запроса» (открыть его в режиме
конструктора). Нажмите кнопку «Готово».
Создание запроса с помощью Конструктора

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

58
Последовательность действий
1. В окне БД выберите вкладку «Запросы» и щелкните
кнопку «Создать»; откроется окно диалога «Новый запрос».
2. Выберите опцию «Конструктор» и нажмите кнопку «ОК»;
открывается окно диалога «Добавление таблицы». За ним
появляется неактивное окно «Запрос на выборку». В нем из
списка следует выбрать имя таблицы-источника, на основе
которой будет проводиться выбор данных, и щелкнуть кнопку
«Добавить»; в окне «Запрос на выборку» появится список
выбранных полей для запросов. Если запрос формируется на
основе нескольких таблиц, то действия повторяются для каждой
таблицы-источника.
3. Закройте окно диалога кнопкой «Закрыть»; окно
«Добавление таблицы» закроется, а окно «Запрос на выборку»
станет активным. На экране появится окно Конструктора
запросов, а в главном меню – команда «Запрос» (позволяют
добавлять таблицы в окно «Конструктор запроса», удалять
таблицы и другие операции) и «Вид» (содержит команды
управления запросом).
Окно «Конструктор запроса» условно состоит из двух
частей – верхней и нижней.
В верхней части окна «Конструктор запроса» размещается
схема данных запроса, которая содержит список таблиц-источ-
ников и отражает связь между ними.
В нижней части окна находится «Бланк запроса», в котором
каждая строка выполняет конкретную функцию:
«Поле» – указываются имена полей, участвующих в запросе;
«Имя таблицы» – таблица, из которой выбрано поле;
«Сортировка» – указывает тип сортировки;
«Вывод на экран» – устанавливается флажок просмотра поля
на экране;
«Условие отбора» – задаются критерии поиска.
4. Инструментарием окна «Конструктор запроса»
формируем запрос: выбираем таблицу-источник, из которой
проводится выборка записей; выбираем поля результатов
запроса; указываем критерии для выборки, группирования и
упорядочения данных.
Техника заполнения «Бланка запроса»
1. Переместите имена полей с источника (верхняя часть окна)

59
в «Бланк запроса». В верхней части окна помещены таблицы и их
поля, из которых нужные имена полей переносятся в нижнюю
часть бланка запроса.
Опишем два способа добавления поля в «Бланк запроса»:
• в нижней части окна в ячейке «Поле» кнопкой раскрываем
структуру базы данных, выбираем (щелкаем) имя поля «Название
Клиента» из таблицы «Клиенты». После этого в ячейке «Поле» по-
явится имя выбранного поля, а ниже, в строке «Имя таблицы», —
имя таблицы;
• переносим другое имя поля «СтоимостьДоставки» из
таблицы «Сделки» в запрос. Это можно сделать перетягиванием
мышью выбранного поля с верхней части окна запроса в «Бланк
запроса» в следующую ячейку «Поле».
2. Задание принципа сортировки. Курсор мыши перевести в
строку «Сортировка», в соответствующем имени поля появится
кнопка открытия списка, щелкнуть ею и в открывшемся списке
выбрать способ сортировки (например, «По возрастанию»).
3. В строке «Вывод на экран» автоматически устанавливается
флажок просмотра найденной информации в поле (для отмены
вывода на экран следует снять флажок).
4. В строке «Условия отбора» и размещенного ниже «или»
ввести условия ограниченного поиска – критерии поиска. В этом
ряду напротив поля введите с клавиатуры условие выбора
записей для формирования запроса (например, в поле
«НазваниеКлиента» условие 'ТОДО "Альфа"' или для поля
«СтоимостьДоставки» условие: >10000). Для выбора записей
клиента ТОДО "Альфа" и ОАО "Бета" условия в строке «Условия
отбора» записываются так: 'ТОДО "Альфа"' OR 'ОАО "Бета"'.
Это же условие можно записать в две строки: в строке «Условия
отбора» записать 'ТОДО "Альфа"', а в строке «или» – 'ОАО
"Бета"'.
5. После завершения формирования запроса закройте окно
«Запрос на выборку»; в окне диалога «Сохранить» выберите
«Да» и введите имя созданного запроса.
Чтобы открыть запрос из окна базы данных, надо выделить
имя запроса и щелкнуть кнопку «Открыть»; на экране появится
окно «Запрос на выборку» с присвоенным именем.
Запуск запроса
Для запуска запроса на исполнение из окна Конструктора
«Запрос на выборку» надо на панели инструментов нажать

60
кнопку «Запуск» (!) или кнопку «Вид» («Режим таблицы» левая
верхняя кнопка; повторное нажатие на эту кнопку «Конструктор»
вернет в окно Конструктора), можно также выбрать из меню
команду Запрос→Запуск или Вид→Режим таблицы.

Изменение внешнего вида итоговой таблицы запроса


Применяются те же средства, что и для обычных таблиц.
Можно сделать поле невидимым, зафиксировать поля, изменить
шрифт, изменить параметры столбцов и строк. Для этого
необходимо перейти в режим таблицы, подать команду
«Формат» и выбрать необходимую команду.
Вычисляемые поля в запросах. Построитель выражений
В запрос можно включить вычисляемые поля, т.е. получать
данные, которые отсутствуют в исходных таблицах.
Новое вычисляемое поле создается в «Бланке запроса». Вы-
ражение записывается в пустую ячейку бланка с помощью
«Построителя выражений», который предназначен для
составления математических, логических и других выражений.
Окно «Построитель выражений» вызывается нажатием
кнопки «Построить» на панели инструментов.
Окно «Построитель выражений» включает в себя четыре
области с собственными полосами прокрутки. Создаваемое
выражение формируется в верхней области – поле ввода
выражения. Там же размещаются и кнопки с некоторыми
операторами.
Три области поиска элементов для записи выражения
размещены в нижней части окна. Левая область содержит список
источников данных (таблицы, запросы и др.) и средства для
записи выражений (функции, операторы и др.); средняя область
– элементы, которые входят в выбранный в левом окне объект;
правая область предназначена для формирования нужного
объекта.
Поиск нужных элементов начинается с левой области. Списки
объектов в левой, средней и правой областях имеют
иерархическое подчинение.
Пример 1. Выведите все сделки с ТОДО, совершенные эконо-
мистом-менеджером после 01.01.2004 года.
Структура запроса: НомерСделки, Дата, Операция,
НазваниеКлиента, Фамилия, СтоимостьСделки.
Решение. Для получения вычисляемого поля Стоимость-

61
Сделки воспользуемся вспомогательным запросом, в котором
вычислим выражение СтоимостьТоваров, а затем сложим его с
полем СтоимостьДоставки (стоимость сделки равна сумме сто-
имостей всех товаров в этой сделке плюс стоимость доставки).
Вспомогательный запрос: подсчитать стоимость товаров для
каждой сделки с ТОДО, совершенной экономистом-менеджером
после 01.01.2004 года. Структура запроса: КодСделки (для связи
с основным запросом), НомерСделки, Дата, Операция,
НазваниеКлиента, Фамилия, Должность, СтоимостьТоваров.
Этапы создания вспомогательного запроса:
1. В «Конструкторе запроса» добавляем таблицы: «Сделки»,
«Клиенты», «Сотрудники», «СодержаниеСделки» и «Товары».
2. Выбираем поля результатов запроса: из таблицы
«Сделки» — поля «КодСделки», «НомерСделки», «Дата» и
«Операция»; из таблицы «Клиенты» – поле «НазваниеКлиента»;
из таблицы «Сотрудники» – поля «Фамилия» и «Должность».
3. Для вычисления выражения СтоимостьТоваров
необходимо поле КоличествоТовара умножить на поле
ЦенаЗаЕдиницу.
Поэтому для записи выражения СтоимостьТоваров надо:
• перейти на строку «Поле» пустого столбца «Бланка запроса»;
• нажать кнопку «Построить» на панели инструментов;
• записать выражение:
[СодержаниеСделки]![КоличествоТовара]*[Товары]![Цена ЗаЕдиницу];
• нажать кнопку «ОК»; выражение, которое записано с
помощью «Построителя выражений», появляется в строке «Поле»
Бланка запросов. Каждое поле итоговой таблицы должно иметь
имя. MS Access автоматически присвоит имя Выражение1,
которое отделяется от выражения двоеточием. Нужно заменить
имя поля итога на СтоимостьТоваров.
Замечание. Если в выражении используются арифметические
операторы (+, -, *, /), а одно из полей имеет значение Null, то
результатом всего выражения также будет значение Null. Если
записи в одном из использованных в выражении полей могут
содержать значение Null, то эти значения Null можно
преобразовать в нули с помощью функции Nz. Так, например,
Nz(Содер-жаниеСделки!КоличествоТовара, 0) * Nz(Товары!
ЦенаЗаЕдиницу, 0).
4. Задание критериев отбора:
• ввести выражение Like "ТОДО*" в ячейку «Условие отбора»

62
для поля «НазваниеКлиента». Оператор Like означает
«похожий» и применяется с символами шаблонов (см. табл. 4.1);
• ввести выражение «экономист-менеджер» в ячейку «Условие
отбора» для поля «Должность»;
• с помощью «Построителя выражений» в ячейку «Условие
отбора» ввести выражение Between #01.01.2004# And Now() для
поля «Дата» (оператор Between означает «между», а функция
Now() возвращает текущую системную дату).
Примечание. Для задания границ диапазона применяются
следующие операторы: > (больше), >= (не меньше), < (меньше),
<= (не больше), Beetween (между).

Таблица 4.2 — Символы шаблонов

Символ в образе Соответствие в выражении


? любой один текстовый символ
* последовательность любых знаков
# любая одна цифра
[список знаков] любой один знак в «списке знаков»
[!список знаков] любой один знак, который не входит в «список знаков»

5. Далее выполним вычисление суммы в группе записей (для


подсчета суммы стоимостей всех товаров в каждой сделке).
Для этого надо нажать на кнопку «Групповые операции» на
панели инструментов. После этого в «Бланке запроса» появится
новая строка под названием «Групповые операции». В ней в
соответствующей графе следует указать тип выполняемого
вычисления, раскрывая список типов операций (например, Sum –
сложение, Avg – среднее, Min – минимальное, Max –
максимальное значение, Count – количество записей и т.п.).
Таким образом, в ячейке «Групповые операции» для поля
«СтоимостьТоваров» выбираем операцию «Sum».
6. Сохраняем запрос под именем «Вспомогательный».
Этапы создания основного запроса
1. В «Конструктор запроса» добавить «Вспомогательный»
запрос и таблицу «Сделки».
2. Связать запрос «Вспомогательный» и таблицу «Сделки» по
полю «КодСделки».
3. Добавить в основной запрос поля результатов
«НомерСделки», «Дата», «Операция», «НазваниеКлиента» и

63
«Фамилия» из запроса «Вспомогательный».
4. В строку «Поле» пустого столбца Бланка запросов с
помощью «Построителя выражений» введем выражение
СтоимостьСделки: Вспомогательный!СтоимостьТоваров +
Сделки!СтоимостьДоставки
5. Сохранить запрос под именем «Основной» (рис. 4.7).

64
Замечания
1. Для выбора записей с таблицы, значения которых не
соответствуют определенному условию одного из полей,
предназначен оператор Not, который записывается перед
сравниваемым значением. Например, для того чтобы выбрать все
записи из таблицы «Клиенты», за исключением записей с
отсутствующими или неизвестными данными о договоре, надо в
строке «Условие отбора» поля «Договор» записать: Is Not Null.

Рис. 4.7. Запрос на выборку «Основной»

2 (пример задания диапазона символьных данных). Вывести


список товаров с наименованиями от буквы «А» до буквы «Д».
Для этого в строке «Условия отбора» поля
«НаименованиеТовара» необходимо ввести запись: Like "[А-Д]*".
3. Часто приходится выбирать записи по условию, которое
задается для нескольких полей таблицы или по нескольким
условиям для одного поля. В этом случае применяются «И-
запросы» (выбор записей только при условии выполнения всех
условий) и «ИЛИ-запросы» (выбор записей при выполнении
хотя бы одного из условий). При задании «ИЛИ-запроса» каждое
условие выборки должно размещаться на отдельной строке
«Бланка запроса». Так, например, запрос для отбора товаров с
наименованиями от буквы «А» до буквы «Д» и ценой не больше
50 000 или больше 100 000 показан на рис. 4.8.

65
Рис. 4.8. Пример ИЛИ-запроса

Кроме запросов выбора, применяются и другие запросы:


параметрические, перекрестные и запросы действия.
Параметрический запрос – запрос, при выполнении
отображающий в собственном диалоговом окне приглашение
ввести данные, например условие для возвращения записей или
значение, которое требуется вставить в поле. Можно разработать
запрос, выводящий приглашение на ввод нескольких единиц
данных, например двух дат. Затем MS Access может вернуть все
записи, приходящиеся на интервал времени между этими датами.
Для каждого поля, которое предполагается использовать как
параметр, нужно ввести в ячейку строки «Условие отбора» выра-
жение с текстом приглашения, заключенным в квадратные
скобки. Например, для поля «Дата» можно ввести приглашения
следующего вида: «Введите начальную дату:» и «Введите
конечную дату:», чтобы задать границы диапазона значений:
Between [Введите начальную дату:] And [Введите конечную дату:].
Для числового и денежного полей необходимо использовать
функцию Val(строка) для преобразования введенного параметра
в число. Например, для нахождения товаров, цена за единицу
которых больше некоторой величины, вводится параметр:
>Val([Введите параметр:]).
Чтобы запросить у пользователя один или несколько знаков
для поиска записей, которые начинаются с этих знаков или
содержат их, можно использовать оператор LIKE и
подстановочный знак (*). Например, следующее выражение
выполняет поиск клиентов, начинающихся с указанной буквы:
Like [Введите первую букву клиента:] & "*"
Примечание. В перекрестном запросе необходимо указать
тип данных для параметров (меню Запрос→команда Параметры).

66
Перекрестный запрос используют для расчетов и
представления данных в структуре, облегчающей их анализ.
Перекрестный запрос подсчитывает сумму, среднее число
значений или выполняет другие статистические расчеты, после
чего результаты группируются в виде таблицы по двум наборам
данных, один из которых определяет заголовки столбцов, а
другой — заголовки строк. Так, например, данные, полученные с
помощью запроса на выборку (табл. 4.3), в перекрестном запросе
представимы в виде таблицы 4.4.

Таблица 4.3 — Данные, отобранные запросом на выборку

НаименованиеТовара НазваниеКлиента Сумма


стол ТОДО "Альфа" 63 000 р.
стул ТОДО "Альфа" 145 000 р.
тумба ТОДО "Альфа" 38 000 р.
стул ТОДО "Гамма" 116 000 р.
кровать ОАО "Бета" 140 000 р.
тумба ОАО "Бета" 76 000 р.
стул ОАО "Бета" 58 000 р.
шкаф УП "Дельта" 109 000 р.
стол УП "Дельта" 63 000 р.
стул УП "Дельта" 58 000 р.
стул ОАО "Бета" 232 000 р.
тумба ОАО "Бета" 76 000 р.
кровать ОАО "Бета" 140 000 р.

Таблица 4.4 — Представление данных в перекрестном запросе

ОАО ТОДО
НаименованиеТовара ТОДО «Гамма" УП "Дельта"
«Бета» «Альфа»
кровать 280 000 р.
стол 63 000 р. 63 000 р.
стул 290 000 р. 145 000 р. 116 000 р. 58 000 р.

67
ОАО ТОДО
НаименованиеТовара ТОДО «Гамма" УП "Дельта"
«Бета» «Альфа»
тумба 152 000р. 38 000 р.
шкаф 109 000 р.
Последовательность действий при создании перекрестного
запроса с помощью Мастера
1. На вкладке «Запросы» окна БД нажать кнопку «Создать».
2. В диалоговом окне «Новый запрос» выбрать в списке
«Перекрестный запрос» и нажать кнопку «ОК»; откроется окно
«Создание перекрестных таблиц».
3. Выбрать из списка запрос-источник и дальше выполнять
инструкции в диалоговых окнах Мастера.
Последовательность действий при создании перекрестного
запроса при помощи Конструктора
1. В режиме Конструктора создать запрос-источник.
2. На панели инструментов нажать кнопку «Тип запроса» и
выбрать опцию «Перекрестный».
3. Для полей, значения которых будут заголовками строк, в
строке «Перекрестная таблица» выбрать ячейку «Заголовки
строк» и оставить в строке «Групповая операция» значение
«Группировка».
4. Для полей, значения которых будут представлены в
запросе в качестве заголовков столбцов, в строке «Перекрестная
таблица» выбрать ячейку «Заголовки столбцов». Значение
«Заголовки столбцов» можно выбрать только для одного поля и
оставить «Группировка».
Примечание. По умолчанию заголовки столбцов
сортируются по алфавиту или числовому значению.
5. Для поля, значения которого нужно использовать при
создании перекрестной таблицы, щелкните ячейку строки
«Перек-рестная таблица» и выберите «Значение».
Примечание. Пункт «Значение» можно выбрать только для
одного поля.
6. В строке «Групповая операция» выберите статистическую
функцию, которая будет использована для заполнения перек-
рестной таблицы (например, Sum, Avg или Count).
7. Далее выполните следующие действия:

68
─ для задания условия отбора, ограничивающего отбираемые
заголовки строк до выполнения вычисления, необходимо ввести
выражение в строку «Условие отбора» поля, для которого в
ячейке строки «Перекрестная таблица» выбрано значение
«Заголовки строк»;
─ для задания условия отбора, ограничивающего отбираемые
записи до группировки заголовков строк и до заполнения
перекрестной таблицы, необходимо добавить поле, для которого
необходимо установить условие отбора, в бланк запроса; выбрать
значение «Условие» в ячейке строки «Групповая операция»;
оставить ячейку в строке «Перекрестная таблица» пустой;
ввести выражение в ячейку строки «Условие отбора».
Примечание. Поля, имеющие значение «Условие» в строке
«Групповая операция», не выводятся в результатах запроса.
Пример 2. Распределите суммы сделок по всем товарам
(сумма=sum(количество*цена)), начинающимся с буквы «С», и
всем клиентам, которые были совершены после 01.01.2004 года.
Решение представлено на рисунке 4.9.

Рис. 4.9. Перекрестный запрос

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

69
позволяет удалить записи о клиентах, у которых нет лицензии
(рис. 4.10). С помощью запроса на удаление можно удалять
только всю запись, а не отдельные поля внутри нее.
 На обновление. Запрос на обновление вносит общие
изменения в группу записей одной или нескольких таблиц.
Например, на 5 процентов поднимаются цены на определенный
товар (рис. 4.11). Запрос на обновление записей позволяет
изменять данные в существующих таблицах.

Рис. 4.10. Запрос на удаление

Рис. 4.11. Запрос на обновление

 На добавление. Запрос на добавление добавляет группу


записей из одной или нескольких таблиц в конец одной или
нескольких таблиц. Например, появилось несколько новых
клиентов, а также база данных, содержащая сведения о них.
Чтобы не вводить все данные вручную, их можно добавить в
таблицу «Клиенты».
 На создание таблицы. Запрос на создание таблицы создает
новую таблицу на основе всех или части данных из одной или
нескольких таблиц. Запрос на создание таблицы полезен при
создании таблицы для экспорта в другие базы данных MS Access
или при создании архивной таблицы, содержащей старые записи.
Примечание. В окне базы данных MS Access перед именем
запроса действия устанавливает восклицательный знак (!).
Замечание. Для просмотра записей предназначена кнопка
«Вид» на панели инструментов. Для возвращения в режим
Конструктора запросов требуется снова нажать кнопку «Вид» на
панели инструментов. Любые изменения надо вносить в режиме

70
Конструктора; для запуска запроса на изменение надо нажать
кнопку «Запуск» (!) на панели инструментов.

71
Задания к лабораторным занятиям 7 – 13

1. База данных «Сессия».


1. Приведите схему данных созданной БД «Сессия» к виду,
указанному на рис. 4.12.

Рис. 4.12. Схема данных БД «Сессия»

2. Изучите создание простого запроса на выборку мастером.


• Подсчитайте количество студентов, сдававших каждый
предмет. Структура: Наименование, Count - Студенты.
• Подсчитайте средний балл по каждому факультету.
Структура запроса: Название, Avg - Оценка.
Рассмотрите созданные с помощью мастера запросы в
режиме Конструктора. Обратите внимание на:
─ схему данных запроса (верхняя часть окна
Конструктора): список таблиц-источников и связь между ними;
─ бланк запроса (нижняя часть окна).
Ознакомьтесь с функциями каждой строки бланка запроса:
«Поле», «Имя таблицы», «Групповая операция», «Сортировка»,
«Вывод на экран», «Условие отбора», «или».
Отсортируйте записи в запросах:
• по возрастанию количества студентов;
• по убыванию среднего балла.
Добавьте условие отбора таким образом, чтобы:

72
• подсчитать количество студентов, сдававших предметы
«ТОХОД» или «ОИиВТ»;
• подсчитать средний балл по факультету «ФЭУ».
Добавьте в запрос о количестве студентов после поля «Наиме-
нование» поле «ФИОПреподавателя», чтобы получилась струк-
тура: «Наименование», «ФИОПреподавателя», Count - Студенты.
Сохраните изменения в запросах.
3. Создайте запросы с помощью Конструктора.
3.1. Выведите результаты по предмету «ТОХОД» учебного
года 2004-2005, в которых экзамен был сдан на оценку «4» или «5».
Структура запроса: ФИОСтудента, Курс, Группа,
Предмет, ДатаЭкзамена, Оценка (условия создайте при помощи
Построителя выражений).
3.2. Выведите летние экзамены, которые сдали студенты
факультета «ФЭУ» на оценку «3».
Структура запроса: ФИОСтудента, Название, Курс,
Группа, Предмет, ДатаЭкзамена, Оценка (условие о летних
экзаменах создайте с помощью функции Month и оператора And).
3.3. Выберите из базы данных всех студентов некоторого
факультета (вводится как параметр) 2 курса.
Структура: ФИОСтудента, Название, Курс, Группа.
3.4. Выберите из базы данных всех студентов, которые
обучаются на некотором курсе (вводится как параметр) и сдавали
экзамен у преподавателя, фамилия которого начинается с
некоторого набора символов (вводится как параметр).
Структура запроса: ФИОСтудента, Курс, Группа,
Наименование, ФИОПреподавателя.
3.5. Определите средний балл каждого студента.
Структура: ФИОСтудента, НомерЗачетки, СреднийБалл.
3.6. Для каждого студента вычислите размер стипендии
(средний балл сессии * 11000р.), когда даты начала и конца
сессии вводятся как параметры.
Структура запроса: ФИОСтудента, Стипендия.
3.7. Определите для каждого факультета ежемесячную
сумму денег, необходимую для выплаты стипендии всем
студентам (даты начала и конца сессии вводятся как параметры).
Структура вспомогательного запроса: Название,
ФИОСтудента, Стипендия.
Структура основного запроса: Название, СуммаДенег.

73
3.8. Определите количество студентов, сдававший каждый
предмет для каждого факультета в учебном году 2003-2004.
Структура запроса: Наименование (строки), Название
(столбцы), ФИОСтудента (Count, значение).
3.9. Определите средний балл по каждому предмету для
каждого года после 2001. Структура запроса: Наименование
(строки), Годы (столбцы), Оценка (Avg, значение).
3.10. Из таблицы «Сессии» выберите всю информацию о
неуспевающих студентах и поместите ее в таблицу «Двоечники».
3.11. Удалите из таблицы «Сессии» всех двоечников.
3.12. Измените в таблице «Двоечники» дату экзамена по
некоторому предмету на текущую дату (вводится как параметр).
3.13. Добавьте записи за текущую дату из таблицы
«Двоечники» в таблицу «Сессии».

2. База данных «Изготовление мебели».


1. Приведите схему данных БД «Изготовление мебели» к
виду, указанному на рис. 4.13.

Рис. 4.13. Схема данных БД «Изготовление мебели»

2. Изучите создание простого запроса на выборку мастером.


• Подсчитайте в заявках суммарное количество каждого
товара. Структура запроса: Товар, Sum - Количество.

74
• Подсчитайте среднюю цену за единицу товара по каждому
клиенту. Структура запроса: Клиент, Avg - ЦенаЗаЕдиницу.
Рассмотрите созданные с помощью мастера запросы в
режиме Конструктора. Обратить внимание на:
─ схему данных запроса (верхняя часть окна Конструктора):
список таблиц-источников и связь между ними;
─ бланк запроса (нижняя часть окна).
Ознакомьтесь с функциями каждой строки бланка запроса:
«Поле», «Имя таблицы», «Групповая операция», «Сортировка»,
«Вывод на экран», «Условие отбора», «или».
Отсортируйте записи в запросах:
• по возрастанию суммарного количества товаров;
• по убыванию средней цены за единицу товара.
Добавьте условие отбора таким образом, чтобы:
• подсчитать в заявках суммарное количество столов или
стульев (для первого запроса);
• подсчитать среднюю цену за единицу товара по клиенту
«ФЭУ» (для второго запроса).
Добавьте в запрос о средней цене после поля «Клиент» поле
«ДатаЗаявки», чтобы получилась структура запроса: Клиент,
ДатаЗаявки, Avg - ЦенаЗаЕдиницу.
Сохраните изменения в запросах.
3. Создайте запросы с помощью Конструктора.
3.1. Выведите все заявки на покупку столов, совершенные
после 01.07.2005 года.
Структура запроса: ДатаЗаявки, Клиент, Товар, Коли-
чество, ЦенаЗаЕдиницу, Стоимость (поле «Стоимость» создайте
при помощи Построителя выражений).
3.2. Выведите весенние заказы, в которых был заказан
товар в количестве, большем 3.
Структура запроса: ДатаЗаявки, Клиент, Товар, Коли-
чество, ЦенаЗаЕдиницу, Стоимость (условие о весне создайте
при помощи встроенной функции Month и оператора And).
3.3. Выберите из базы данных информацию о выполненных
заявках товаров, название которых начинается с некоторого
набора символов (вводится как параметр), за 2004 год.
Структура запроса: ДатаЗаявки, Клиент, Признак, Товар,
Количество, Стоимость.

75
3.4. Выберите из базы данных информацию о заявках, в
которых участвовали клиенты, название которых начинается с
некоторого набора символов (вводится как параметр), и
стоимость которых, по крайней мере, на 15 % больше некоторой
величины (вводится как параметр).
Структура запроса: ДатаЗаявки, Клиент, Стоимость.
3.5. Найдите суммарную стоимость заявок каждого клиента
после 01.01.2003 года. Структура запроса: Клиент, Стоимость.
3.6. Определите среднюю стоимость осенних заявок.
Структура вспомогательного запроса: КодЗаявки, Сумм-
Стоимость. Структура основного запроса: СредняяСтоимость.
3.7. Выберите из базы данных все заявки некоторого года
(вводится как параметр), у которых стоимость не меньше средней
стоимости осенних заявок.
Структура вспомогательного запроса: ДатаЗаявки,
Клиент, Стоимость (группировка для расчета стоимости и
условие на год заявки). Структура основного запроса:
ДатаЗаявки, Клиент, Стоимость (используются вспомогательный
запрос и запрос 3.6 для условия отбора по стоимости заявки).
3.8. Определите количество каждого товара, заказанного
каждым клиентом сезона сентябрь 2003 года – август 2004 года.
Структура запроса: Клиент (строки), Товар (столбцы),
Количество (Sum, значение).
3.9. Определите стоимость выполненных заявок по
каждому месяцу для каждого года начиная с 2002 года.
Структура запроса: Месяцы (строки), Годы (столбцы),
Стоимость (Sum, значение).
3.10. Из таблицы «СодержаниеЗаявки» выберите всю
информацию о заявках с нулевым количеством товара и
поместите ее (информацию) в таблицу «НулевыеЗаявки».
3.11. Удалите из таблицы «СодержаниеЗаявки» все заявки с
нулевым количеством товара.
3.12. В таблице «НулевыеЗаявки» измените количество
заказанных товаров на другое (вводится как параметр).
3.13. Добавьте записи из таблицы «НулевыеЗаявки» в таб-
лицу «СодержаниеЗаявки».

3. База данных «Продажа компьютеров».


1. Приведите схему данных созданной БД «Продажа
компьютеров» к виду, указанному на рис. 4.14.

76
Рис. 4.14. Схема данных БД «Продажа компьютеров»

2. Изучите создание простого запроса на выборку мастером.


• Подсчитайте суммарное количество проданных товаров по
каждому типу. Структура: ТипТоваров, Sum - Количество.
• Подсчитайте среднюю цену за единицу товара по каждому
производителю. Структура запроса: Производитель, Avg – Це-
наЗаЕдиницу.
Рассмотрите созданные с помощью мастера запросы в режиме
Конструктора. Обратить внимание на:
─ схему данных запроса (верхняя часть окна Конструктора):
список таблиц-источников и связь между ними;
─ бланк запроса (нижняя часть окна).
Ознакомьтесь с функциями каждой строки бланка запроса:
«Поле», «Имя таблицы», «Групповая операция», «Сортировка»,
«Вывод на экран», «Условие отбора», «или».
Отсортируйте записи в запросах по:
• возрастанию суммарного количества проданных товаров;
• убыванию средней цены за единицу товара.
Добавьте условие отбора таким образом, чтобы:
• подсчитать суммарное количество проданных принтеров
или мониторов;
• подсчитать среднюю цену за единицу товара по
производителю «Intel».
Добавьте в запрос о средней цене после поля
«Производитель» поле «Страна», чтобы получилась структура
запроса: Производитель, Страна, Avg - ЦенаЗаЕдиницу.
Сохранить изменения в запросах.
3. Создайте запросы с помощью Конструктора.

77
3.1. Выведите продажи, совершенные после 01.09.2004
года, в которых были проданы принтеры.
Структура запроса: ДатаПродажи, Клиент, Товар,
Количество, ЦенаЗаЕдиницу, Стоимость (поле «Стоимость»
создайте при помощи Построителя выражений).
3.2. Выведите весенние продажи, в которых был продан
товар в количестве, большем 1. Структура запроса:
ДатаПродажи, Клиент, Товар, Количество, ЦенаЗаЕдиницу,
Стоимость (условие о весенних месяцах создайте при помощи
встроенной функции Month и оператора And).
3.3. Выберите из базы данных все продажи товаров,
которые начинаются с некоторого набора символов (вводится как
параметр), за 2004 год. Структура запроса: ДатаПродажи,
Клиент, ТипТоваров, Количество, Стоимость.
3.4. Выберите из базы данных все продажи, в которых
участвовали товары, произведенные в некоторой стране
(вводится как параметр), и стоимость которых больше некоторой
величины (вводится как параметр). Структура запроса:
ДатаПродажи, ТипТоваров, Товар, Производитель, Количество,
Стоимость.
3.5. Определите суммарную стоимость каждой продажи.
Структура запроса: ДатаПродажи, Клиент, Стоимость.
3.6. Определите среднюю стоимость летних продаж.
Структура вспомогательного запроса: КодПродажи, Сумм-
Стоимость. Структура основного запроса: СредняяСтоимость.
3.7. Выберите из базы данных все продажи некоторого года
(вводится как параметр), у которых стоимость больше средней
стоимости летних продаж.
Структура вспомогательного запроса: ДатаПродажи,
Клиент, Стоимость (группировка для расчета стоимости и
условие на год продажи). Структура основного запроса:
ДатаПродажи, Клиент, Стоимость (используются
вспомогательный запрос и запрос 3.6 для условия отбора по
стоимости продаж).
3.8. Определите количество компьютеров, проданных в
каждый месяц каждого года, начиная с 2001 года.
Структура запроса: Месяцы (строки), Годы (столбцы),
Количество (Sum, значение).
3.9. Определите стоимость продаж 2003 и 2004 годов по
каждому типу товаров для каждой страны-производителя.

78
Структура запроса: ТипТоваров (строки), Страна
(столбцы), Стоимость (Sum, значение).

79
3.10. Из таблицы «СодержаниеПродажи» выберите всю ин-
формацию о продажах с нулевым количеством товара и
поместите ее в таблицу «НулевыеПродажи».
3.11. Удалите из таблицы «СодержаниеПродажи» все
продажи с нулевым количеством товара.
3.12. Измените в таблице «НулевыеПродажи» количество
проданных товаров на другое (вводится как параметр).
3.13. Добавьте записи из таблицы «НулевыеПродажи» в
таблицу «СодержаниеПродажи».

4. База данных «Продажа лекарств».


1. Приведите схему данных созданной БД «Продажа
лекарств» к виду, указанному на рис. 4.15.

Рис. 4.15. Схема данных БД «Продажа лекарств»

2. Изучите создание простого запроса на выборку мастером.


• Подсчитайте суммарное количество проданных лекарств по
каждой льготе. Структура: ПроцентОплаты, Sum - Количество.
• Подсчитайте среднюю цену за единицу лекарства по каждо-
му изготовителю. Структура: Изготовитель, Avg-ЦенаЗаЕдиницу.
Рассмотрите созданные с помощью мастера запросы в режиме
Конструктора. Обратите внимание на:
─ схему данных запроса (верхняя часть окна Конструктора):
список таблиц-источников и связь между ними;
─ бланк запроса (нижняя часть окна).
Ознакомьтесь с функциями каждой строки бланка запроса:
«Поле», «Имя таблицы», «Групповая операция», «Сортировка»,
«Вывод на экран», «Условие отбора», «или».
Отсортируйте записи в запросах по:
• возрастанию суммарного количества проданных лекарств;

80
• по убыванию средней цены за единицу лекарства.
Добавьте условие отбора таким образом, чтобы:
• подсчитать суммарное количество проданных лекарств с
процентами оплаты «50 %» или «10 %»;
• подсчитать среднюю цену за единицу товара по изготови-
телю «Биохимик».
Добавьте в запрос о средней цене после поля «Изготовитель»
поле «Страна», чтобы получилась структура запроса: Изготови-
тель, Страна, Avg - ЦенаЗаЕдиницу.
Сохраните изменения в запросах.
3. Создайте запросы с помощью Конструктора.
3.1. Выведите продажи после 01.11.2004 года, в которых
были проданы лекарства с неполной оплатой.
Структура запроса: ДатаПродажи, Клиент, Лекарство,
ПроцентОплаты, Количество, ЦенаЗаЕдиницу, Стоимость (поле
«Стоимость» создайте при помощи Построителя выражений).
3.2. Выведите летние продажи, в которых было продано
лекарство в количестве, большем 1. Структура: ДатаПродажи,
Клиент, Лекарство, Процент-Оплаты, Количество,
ЦенаЗаЕдиницу, Стоимость (условие о летних месяцах создайте
при помощи функции Month и оператора And).
3.3. Выберите из базы данных информацию о продажах
лекарств, название которых начинаются с некоторого набора
символов (вводится как параметр), за 2003 год.
Структура запроса: ДатаПродажи, Клиент, Лекарство,
Количество, ПроцентОплаты, Стоимость.
3.4. Выберите из базы данных информацию о продажах, в
которых участвовали лекарства, изготовленные в некоторой
стране (вводится как параметр) и стоимость которых меньше
некоторой величины (вводится как параметр).
Структура: ДатаПродажи, Лекарство, Страна, Стоимость.
3.5. Определите суммарную стоимость каждой продажи.
Структура запроса: ДатаПродажи, Клиент, Стоимость.
3.6. Определите среднюю стоимость осенне-зимних
продаж. Структура вспомогательного запроса: КодПродажи,
Сумм-Стоимость. Структура основного запроса:
СредняяСтоимость.
3.7. Выберите из базы данных все продажи некоторого года
(вводится как параметр), у которых стоимость больше средней

81
стоимости для осенне-зимних продаж.

82
Структура вспомогательного запроса: ДатаПродажи,
Клиент, Стоимость (группировка для расчета стоимости и
условие на год продажи). Структура основного запроса:
ДатаПродажи, Клиент, Стоимость (используются
вспомогательный запрос и запрос 3.6 для условия отбора по
стоимости продаж).
3.8. Определите количество каждого лекарства, проданного
в каждый год, начиная с 2001 года. Структура запроса:
Лекарство (строки), Годы (столбцы), Количество (Sum, значение).
3.9. Определите стоимость продаж 2003 и 2004 годов по
каждому месяцу для каждого изготовителя. Структура: Месяцы
(строки), Изготовитель (столбцы), Стоимость (Sum, значение).
3.10. Из таблицы «СодержаниеПродажи» выберите всю
информацию о продажах лекарств с нулевым процентом оплаты
и поместите ее в таблицу «Бесплатные».
3.11. Удалите из таблицы «СодержаниеПродажи» все
продажи лекарств с нулевым процентом оплаты.
3.12. Уменьшите в таблице «Бесплатные» количество
лекарства на 1, при условии, что количество лекарства больше 0.
3.13. Добавьте записи из таблицы «Бесплатные» в таблицу
«СодержаниеПродажи».

5. База данных «Продажа обуви».


1. Приведите схему данных созданной БД «Продажа обуви»
к виду, указанному на рис. 4.16.

Рис. 4.16. Схема данных БД «Продажа обуви»

83
2. Изучите создание простого запроса на выборку мастером.

84
• Подсчитайте суммарное количество проданной обуви
каждого типа. Структура: ТипТоваров, Sum - Количество.
• Подсчитайте среднюю цену за пару обуви по каждому
изготовителю. Структура: Изготовитель, Avg - ЦенаЗаЕдиницу.
Рассмотрите созданные с помощью мастера запросы в режиме
Конструктора. Обратите внимание на:
─ схему данных запроса (верхняя часть окна Конструктора):
список таблиц-источников и связь между ними;
─ бланк запроса (нижняя часть окна).
Ознакомьтесь с функциями каждой строки бланка запроса:
«Поле», «Имя таблицы», «Групповая операция», «Сортировка»,
«Вывод на экран», «Условие отбора», «или».
Отсортируйте записи по:
• возрастанию суммарного количества проданной обуви;
• убыванию средней цены за пару обуви.
Добавьте условие отбора таким образом, чтобы:
• подсчитать суммарное количество проданных пар туфель
или кроссовок;
• подсчитать среднюю цену за пару обуви по изготовителю
«Белвест».
Добавьте в запрос о суммарном количестве после поля
«ТипТоваров» поле «Модель», чтобы получилась структура
запроса: ТипТоваров, Модель, Sum - Количество.
Сохранить изменения в запросах.
3. Создайте запросы с помощью Конструктора.
3.1. Выведите продажи, совершенные после 01.03.2005
года, в которых были проданы полуботинки или сапоги.
Структура запроса: ДатаПродажи, Клиент, ТипТоваров,
Модель, Количество, ЦенаЗаЕдиницу, Стоимость (поле
«Стоимость» создайте при помощи Построителя выражений).
3.2. Выведите все летние продажи, в которых была продана
обувь изготовителя «Неман».
Структура запроса: ДатаПродажи, Клиент, ТипТоваров,
Модель, Изготовитель, Количество, ЦенаЗаЕдиницу, Стоимость
(условие о летних продажах создайте при помощи встроенной
функции Month и оператора And).
3.3. Выберите из базы данных информацию о продажах
обуви, тип которой начинается с некоторого набора символов
(вводится как параметр), за 2004 год.

85
Структура запроса: ДатаПродажи, Клиент, ТипТоваров,
Изготовитель, Модель, Количество, Стоимость, Подарок.
3.4. Выберите из базы данных информацию о продажах, в
которых участвовала обувь, изготовленная некоторой фирмой
(вводится как параметр), и стоимость которых не меньше
некоторой величины (вводится как параметр). Структура
запроса: ДатаПродажи, ТипТоваров, Изготовитель, Стоимость.
3.5. Определите суммарную стоимость и цену подарка
каждой продажи. Структура запроса: ДатаПродажи, Клиент,
Стоимость, ЦенаПодарка.
3.6. Определите среднюю стоимость зимних продаж.
Структура вспомогательного запроса: КодПродажи, Сумм-
Стоимость. Структура основного запроса: СредняяСтоимость.
3.7. Выберите из базы данных все продажи некоторого года
(вводится как параметр), у которых стоимость не больше средней
стоимости зимних продаж.
Структура вспомогательного запроса: ДатаПродажи,
Клиент, Стоимость (группировка для расчета стоимости и
условие на год продажи). Структура основного запроса:
ДатаПродажи, Клиент, Стоимость (используются
вспомогательный запрос и запрос 3.6 для условия отбора по
стоимости продаж).
3.8. Определите количество каждого типа обуви,
проданного в каждый год, начиная с 2001 года. Структура:
ТипТоваров (строки), Годы (столбцы), Количество (Sum,
значение).
3.9. Определите стоимость продаж сезона сентябрь 2003
года – август 2004 года по каждому месяцу для каждого
изготовителя. Структура запроса: Месяцы (строки),
Изготовитель (столбцы), Стоимость (Sum, значение).
3.10. Из таблицы «СодержаниеПродажи» выберите всю
информацию о продажах с нулевым количеством товара и
поместите ее в таблицу «НулевыеПродажи».
3.11. Удалите из таблицы «СодержаниеПродажи» все
продажи с нулевым количеством товара.
3.12. Измените в таблице «НулевыеПродажи» количество
проданных товаров на другое (вводится как параметр).
3.13. Добавьте записи из таблицы «НулевыеПродажи» в
таблицу «СодержаниеПродажи».

86
87
6. База данных «Ремонт автомобилей».
1. Приведите схему данных созданной БД «Ремонт
автомобилей» к виду, указанному на рис. 4.17.

Рис. 4.17. Схема данных БД «Ремонт автомобилей»

2. Изучите создание простого запроса на выборку мастером.


• Подсчитайте в заявках количество автомобилей каждой
работы. Структура запроса: Название, Count - Автомобили.
• Подсчитайте среднюю стоимость работ по каждому
клиенту. Структура запроса: ФИОКлиента, Avg - Стоимость.
Рассмотрите созданные с помощью мастера запросы в режиме
Конструктора. Обратите внимание на:
─ схему данных запроса (верхняя часть окна Конструктора):
список таблиц-источников и связь между ними;
─ бланк запроса (нижняя часть окна).
Ознакомьтесь с функциями каждой строки бланка запроса:
«Поле», «Имя таблицы», «Групповая операция», «Сортировка»,
«Вывод на экран», «Условие отбора», «или».
Отсортируйте записи в запросах по:
• возрастанию количества автомобилей;
• убыванию средней стоимости работ.
Добавьте условие отбора таким образом, чтобы:
• подсчитать в заявках количество автомобилей с проверкой
подвески или компрессии двигателя;

88
• подсчитайте среднюю стоимость работ, выполненных
Петровым П.П.
Добавьте в запрос о средней цене после поля «ФИОКлиента»
поле «АдресКлиента», так, чтобы получилась структура запроса:
ФИОКлиента, АдресКлиента, Avg - Стоимость.
Сохраните изменения в запросах.
3. Создайте запросы с помощью Конструктора.
3.1. Выведите суммарную стоимость заявок, совершенных
после 01.07.2005 года, в которых участвовали автомобили
«Ауди». Структура запроса: ДатаПриема, ФИОКлиента, Марка,
Стоимость (по полю «Стоимость» групповая операция Sum).
3.2. Выведите весенние и летние заявки Иванова И.И.
Структура запроса: ДатаПриема, ФИОКлиента, Марка,
Стоимость (условие на дату создайте при Помощи построителя
выражений, используйте функцию Month и оператор And).
3.3. Выберите из базы данных информацию о выполненных
в 2004 году заявках по ремонту автомобилей, марки которых
начинаются с некоторого набора символов (вводится как
параметр).
Структура запроса: Марка, ФИОКлиента, Название,
ДатаПриема, ДатаВыполнения, Признак, Стоимость.
3.4. Выберите из базы данных информацию о заявках
клиентов, фамилии которых начинаются с некоторой буквы
(вводится как параметр) или стоимость которых больше
некоторой суммы (вводится как параметр). Структура: Марка,
ФИОКлиента, Название, ДатаПриема, ДатаВыполнения, Признак,
Стоимость.
3.5. Определите суммарную стоимость заявок каждого
клиента после 01.01.2003 года, выполненных меньше чем за
неделю.
Структура запроса: ФИОКлиента, Стоимость.
3.6. Определите среднюю стоимость выполненных летом
заявок. Структура вспомогательного запроса: КодЗаявки, Сумм-
Стоимость. Структура основного запроса: СредняяСтоимость.
3.7. Выберите из базы данных все заявки некоторого года
(вводится как параметр), у которых стоимость составляет хотя бы
70 % от средней стоимости выполненных летом заявок.
Структура запроса: ДатаПриема, ФИОКлиента, Стоимость
(используется запрос 3.6 в качестве вспомогательного запроса).
3.8. Найдите количество автомобилей каждой марки по

89
каждой работ, выполненной с 01.06.2003 года. Структура:
Марка (строки), Название (столбцы), КодАвтомобиля (Count,
значение).
3.9. Определите стоимость всех принятых заявок по
каждому месяцу для каждого года начиная с 2002 года.
Структура запроса: Месяцы (строки), Годы (столбцы),
Стоимость (Sum, значение).
3.10. Из таблицы «Заявки» выберите информацию о
невыполненных заявках и поместите ее в таблицу
«Невыполненные».
3.11. Удалите из таблицы «Заявки» невыполненные заявки.
3.12. Измените в таблице «Невыполненные» признак на
«выполнена» для некоторого клиента (вводится как параметр).
3.13. Добавьте записи по выполненным заявкам из таблицы
«Невыполненные» в таблицу «Заявки».

7. База данных «Библиотека».


1. Приведите схему данных созданной БД «Библиотека» к
виду, указанному на рис. 4.18.

Рис. 4.18. Схема данных БД «Библиотека»

2. Изучите создание простого запроса на выборку мастером.


• Подсчитайте общее количество книг, выданных каждому
читателю. Структура: ФамилияЧитателя, Count-КодКниги.
• Подсчитайте общее количество экземпляров книг по
каждой тематике. Структура: Тематика, Sum-

90
КоличествоЭкземпляров.
Рассмотрите созданные с помощью мастера запросы в режиме
Конструктора. Обратите внимание на:
─ схему данных запроса (верхняя часть окна Конструктора):
список таблиц-источников и связь между ними;
─ бланк запроса (нижняя часть окна).
Ознакомьтесь с функциями каждой строки бланка запроса:
«Поле», «Имя таблицы», «Групповая операция», «Сортировка»,
«Вывод на экран», «Условие отбора», «или».
Отсортируйте записи в запросах по:
• возрастанию общего количества выданной литературы;
• убыванию общего количества экземпляров.
Добавьте условие отбора таким образом, чтобы:
• подсчитать общее количество возвращенной литературы на
конкретную дату;
• подсчитать общее количество утерянных книг по
различным тематикам.
Добавьте в запрос об общем количестве после поля
«Тематика» поле «Издательство», так, чтобы получилась
структура запроса: Тематика, Издательство,
Sum – КоличествоЭкземпляров.
Сохраните изменения в запросах.
3. Создайте запросы с помощью Конструктора.
3.1. Выведите все утерянные книги по «АХД» или
«Финансам и кредиту». Структура запроса: НазваниеКниги,
Тематика, Автор/ы, ФамилияЧитателя, ОплатаПотери (поле
«ОплатаПотери» создайте при помощи Построителя выражений,
причем стоимость утерянной книги взимается в трехкратном
размере).
3.2. Выведите осенние закупки литературы, в которых
закуплена литература издательства «Дело ЛТД».
Структура запроса: ДатаПриобретения, НазваниеКниги,
Тематика, Автор, КоличествоЭкземпляров, Стоимость (условие
об осенних приобретениях литературы создайте при помощи
встроенной функции Month и оператора And).
3.3. Выберите из базы данных информацию об утерянных
книгах, название которых начинается с некоторого набора
символов (вводится как параметр), в 2005 году.
Структура запроса: ДатаВыдачи, ФамилияЧитателя, Наз-
ваниеКниги, НазваниеИздательства, ЦенаКниги.

91
3.4. Выберите из базы данных информацию о выданных
книгах по определенной тематике (вводится как параметр) и от
даты возврата которых до текущей даты прошло более чем
некоторое количество дней (вводится как параметр).
Структура запроса: НазваниеКниги, ФамилияЧитателя,
Автор, ДатаВыдачи, ДатаВозврата.
3.5. Определите общую сумму денег, выплаченных
должниками за утерянные книги до даты 01.01.2006 года.
Структура запроса: ОбщаяСумма.
3.6. Определите название книг, больше половины которых
было утеряно. Структура вспомогательного запроса:
НазваниеКниги, КоличествоУтерянных, ПризнакВозврата.
Структура основного запроса: НазваниеКниги,
КоличествоЭкземпляров.
3.7. Выберите из базы данных те тематики, по которым
необходима дополнительная закупка литературы.
Структура I-го вспомогательного запроса: Тематика,
ОбщееКоличество. Структура II-го вспомогательного запроса:
Тематика, ВсегоВзятоКниг.
Структура основного запроса: Тематика, НехваткаКниг
(вводится как параметр, поле НехваткаКниг= ВсегоВзятоКниг/
ОбщееКоличество).
3.8. Определите общее количество утерянных книг каждым
читателем по каждой тематике до 2003 года.
Структура запроса: ФамилияЧитателя (строки), Тематика
(столбцы), Количество (Sum, значение).
3.9. Определите стоимость закупленной литературы за
период сентябрь 2004 года – октябрь 2005 года по каждому
издательству каждый месяц. Структура запроса: Месяцы
(столбцы), Издательство (строки), Стоимость (Sum, значение).
3.10. Из таблицы «Выдача литературы» выберите всю
информацию о выдаче литературы, совершенной до 2005 года
(при условии, что эта литература не была возвращена), и
поместите ее в таблицу «Долги».
3.11. Удалите из таблицы «Выдача литературы» записи о
выдаче литературы, совершенной до 2005 года (при условии, что
эта литература не была возвращена).
3.12. Измените в таблице «Долги» дату выдачи на
сегодняшнее число минус 2 недели.

92
3.13. Добавьте записи из таблицы «Долги» в таблицу
«Выдача литературы».

93
4.2. Формы
Формы являются типом объектов базы данных, который
обычно используется для отображения данных в базе данных.
Форму можно также использовать как кнопочную форму,
открывающую другие формы или отчеты базы данных, а также
как пользовательское диалоговое окно для ввода данных и
выполнения действий, определяемых введенными данными. 
Большинство форм являются присоединенными к одной или
нескольким таблицам и запросам из базы данных. Источником
записей формы являются поля в базовых таблицах и запросах.
Форма не должна включать все поля из каждой таблицы или
запроса, на основе которых она создается.
Присоединенная форма получает данные из базового
источника записей. Другие выводящиеся в форме сведения, такие
как заголовок, дата и номера страниц, сохраняются в макете
формы.
Связь между формой и ее источником записей создается при
помощи графических объектов, которые называют элементами
управления. Наиболее часто используемым для вывода и ввода
данных типов элементов управления является поле.
Элемент управления − объект графического интерфейса
пользователя (такой как поле, флажок, полоса прокрутки или
кнопка), позволяющий пользователям управлять приложением.
Элементы управления используются для отображения данных
или параметров, для выполнения действий либо для упрощения
работы с интерфейсом пользователя.
Формы можно также открывать в режиме сводной таблицы
или в режиме диаграммы для анализа данных.
Создание формы
Быстро создать форму помогают команда «Автоформа» или
мастер. С помощью автоформ можно создавать формы, в которых
выводятся все поля и записи базовой таблицы или запроса.
Мастер выводит на экран вопросы и создает форму на основании
ответов пользователя. После этого пользователь имеет
возможность доработать и изменить форму в режиме
конструктора.
Настройка формы в режиме конструктора
В режиме конструктора используются следующие способы

94
настройки формы.

Источник записей. Смена таблиц или запросов, на основе


которых создаются формы.  
Контроль за действиями пользователей и помощь им.
Существует возможность определить свойства формы,
позволяющие или запрещающие пользователям добавлять,
удалять или изменять записи, выводящиеся в форме. Можно
также добавить в форму собственный файл справки, помогающий
пользователям работать с формой.
Окно формы. Имеется возможность добавить или удалить
кнопки Развернуть и Свернуть, контекстные меню и другие
элементы окна формы.
Разделы. В форме имеется возможность добавлять, удалять,
скрывать или изменять размеры заголовка, примечание и области
данных. Можно также задавать свойства разделов, определяющие
вид формы на экране и при печати.  
Элементы управления. Пользователь может перемещать
элементы управления, изменять их размеры и задавать свойства
шрифта для элементов. В форму можно также добавлять
элементы управления для отображения вычисляемых значений,
итогов, текущей даты и времени и других полезных сведений.

Подчиненной формой называют форму, вставленную в


другую форму. Первичная форма называется главной формой, а
форма внутри формы называется подчиненной формой.
Комбинацию «форма/подчиненная форма» часто называют
иерархической формой.
Подчиненные формы особенно удобны для вывода данных из
таблиц или запросов, связанных отношением «один-ко-многим».
Например, можно создать форму с подчиненной формой для
вывода данных из таблицы «Сделки» и из таблицы «Содержание
Сделки» (рис. 4.19). Данные в таблице «Сделки» находятся на
стороне «один» отношения. Данные в таблице «СодержаниеСдел-
ки» находятся на стороне «многие» отношения — в одной сделке
может быть продано несколько товаров.
1 – в главной форме отображаются данные на стороне
отношения «один».
2 – в подчиненной форме отображаются данные на стороне
отношения «многие».
Главная форма и подчиненная форма в этом типе форм

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

Рис. 4.19. Форма с подчиненной формой

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


250, подчиненная форма отображает только те товары, которые
участвовали в этой сделке.
При использовании формы с подчиненной формой для ввода
новых записей текущая запись в главной форме сохраняется при
вводе данных в подчиненную форму. Это гарантирует, что записи
из таблицы на стороне «многие» будут иметь связанную запись в
таблице на стороне «один». Это также автоматически сохраняет
каждую запись, добавляемую в подчиненную форму.

Создание подчиненной формы и добавление ее в другую


форму основано на следующей методике.
1. Открыть в режиме конструктора форму, в которую
нужно добавить подчиненную форму.

96
2. Убедиться, что кнопка «Мастер» на панели элементов
нажата.
3. Нажать кнопку «Подчиненная форма/отчет» на панели
элементов.
4. В форме щелкнуть место, в которое следует поместить
подчиненную форму.
5. Следовать инструкциям в диалоговых окнах мастера.
6. После нажатия кнопки «Готово» MS Access добавит
элемент управления подчиненной формы в форму. Будет также
создана отдельная форма для подчиненной формы.
Примечание. Имеется возможность одновременно создавать
форму с подчиненной формой (Формы→Создать→Мастер форм
→ В первом диалоговом окне «Создание форм» выбрать
необходимые поля из связанных отношением «один-ко-многим»
таблиц, далее следовать инструкциям в диалоговых окнах
мастера).

4.3. Общие сведения об отчетах

Отчет является эффективным средством представления


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

97
Создание отчета
Мастера помогают быстро создать отчеты различных типов.
Так, например, мастер наклеек используется для создания
почтовых наклеек, мастер диаграмм помогает создать диаграмму,
а мастер отчетов — создавать стандартные отчеты. Мастер
выводит на экран вопросы и создает отчет на основании ответов
пользователя. Пользователь имеет возможность доработать и
изменить отчет в режиме конструктора.

Настройка отчета
Можно настроить отчет следующими способами.
Источник записей. Изменить таблицы или запрос, на котором
основан отчет.
Сортировка и группировка данных. Можно сортировать
данные по возрастанию и по убыванию. Также можно
группировать записи по одному или нескольким полям и
отображать промежуточные и общие итоги в отчете.
Окно отчета. Можно добавить или удалить кнопки
Развернуть и Свернуть, изменить текст заголовка и другие
элементы окна отчета.
Разделы. Можно добавить, удалить, скрыть или изменить
размер подписи, примечания и области данных отчета. Можно
также задавать свойства разделов, определяющие вид отчета на
экране и при печати.
Элементы управления. Пользователь может перемещать
элементы управления, изменять их размеры и задавать свойства
шрифта для элементов. В отчет можно также добавлять элементы
управления для отображения вычисляемых значений, итогов,
текущей даты и времени и других полезных сведений.

98
4.4. Экспорт данных и объектов базы данных

Экспорт представляет собой способ вывода данных и


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

Экспорт объектов базы данных


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

Экспорт в веб-страницу
Существуют четыре способа использования данных Microsoft
Access или объектов базы данных для создания веб-страницы.
1. В веб-обозревателе, который поддерживает версию 4.0 или
более позднюю версию динамического HTML, можно
использовать страницы доступа к данным. Страницы доступа к
данным не являются самостоятельными объектами; страница
доступа к данным создается как объект базы данных, который
фактически является ссылкой на HTML-файл, соответствующий
странице доступа к данным. Страницы доступа к данным
используются для просмотра, редактирования, обновления,
удаления, отбора, группировки и сортировки изменяющихся
данных из базы данных Microsoft Access или базы данных
Microsoft SQL Server.
2. Генерируемые сервером файлы HTML (ASP или IDC/HTX)
можно создавать из таблиц, запросов и форм. Генерируемые
сервером файлы HTML отображаются в обозревателе в
табличном формате. Используйте генерируемые сервером файлы

99
HTML при использовании любого веб-обозревателя, частом
изменении данных или если требуется просматривать текущие
данные в таблице, подключенной к источнику данных ODBC,
но не требуется обновлять или взаимодействовать с данными.
Источник данных ODBC – данные и сведения, необходимые
для доступа к этим данным из программ и баз данных,
поддерживающих протокол ODBC (Open Database Connectivity).
3. Статические HTML-файлы можно создавать из таблиц,
запросов, форм и отчетов. В веб-обозревателе отчеты
отображаются в формате отчетов. Таблицы, запросы и формы
отображаются в формате таблиц. Используйте статические файлы
HTML при работе с любым веб-обозревателем, поддерживающим
HTML версии 3.2 или более поздней, когда данные изменяются
не слишком часто.
4. Можно сохранить форму или отчет как страницу доступа к
данным с помощью команды Сохранить как в меню Файл. Это
позволяет использовать форму или отчет как веб-страницу.
Экспорт и обмен данными с MS Word или другим
текстовым процессором
Существуют три способа использования данных MS Access с
текстовыми процессорами.
1. В базе данных MS Access можно с помощью мастера
составных документов MS Word создать составной документ в
MS Word 2002, связанный с данными MS Access 2002. После
создания связи можно в любое время открыть документ в MS
Word для печати нового пакета документов на бланке или
наклеек с использованием текущих данных MS Access.
2. Для любой версии MS Word допускается экспорт данных
MS Access в файл источника данных для слияния, который может
быть использован средством слияния MS Word.
3. Выходные данные таблицы, формы или отчета можно
сохранять в виде файлов формата RTF (.rtf) или текстового
формата (.txt). Файлы в формате RTF сохраняют
форматирование, такое как шрифты и стили, и могут быть
открыты в MS Word и других текстовых процессорах и
издательских программах для Microsoft Windows.
Экспорт в формат MS Excel или в формат других
электронных таблиц
Существуют три способа использования данных MS Access с

100
MS Excel или другими редакторами электронных таблиц.
1. Таблицы можно экспортировать в Excel или другие
программы электронных таблиц в виде неформатированных
данных.
2. Выходные данные таблиц, форм или отчетов можно
сохранить непосредственно в виде файла (.xls) или листа MS
Excel. В этом случае лучше всего сохраняются элементы
форматирования, такие как шрифты и цвета. Уровни группировки
отчета сохраняются как уровни структуры MS Excel, а форма —
как таблица данных.
3. Можно также экспортировать данные из таблицы,
запроса/представления, объекта в режиме таблицы, формы или
отчета в XML-файл, который затем импортируется в MS Excel.

Импорт и связывание данных и объектов базы данных


MS Access поддерживает два способа использования данных
из внешних источников.
Импорт данных в новую таблицу MSt Access. При этом
данные преобразуются из другого формата и копируются в MS
Access. Также можно импортировать объекты в другую базу
данных MS Access.
Связывание данных. При этом устанавливается подключение
к данным другого приложения без их импорта, что позволяет
просматривать и редактировать данные как в исходном
приложении, так и в файле MS Access. (В предыдущих версиях
MS Access для данного процесса использовался термин
«присоединение».)
Возможен импорт и связывание данных из целого ряда
поддерживаемых баз данных, программ и форматов файлов.

Выбор между импортом и связыванием таблицы


Причины для импорта данных в таблицу:
• если известно, что данные будут использоваться только в
MS Access, их следует импортировать;
• MS Access обычно работает быстрее со своими
собственными таблицами, и в случае необходимости
импортированные таблицы легко преобразовать к нужному виду,
как и любые другие таблицы, созданные в MS Access.
Причины для связывания данных из внешней таблицы:
• связывание таблиц из других баз данных MS Access

101
может потребоваться, например, для использования таблицы из
другой базы данных MS Access при совместной работе в сети.
Это особенно полезно при необходимости хранить все таблицы в
одной базе данных на сетевом сервере, сохраняя формы, отчеты и
другие объекты в отдельной базе данных, копии которой имеются
у всех пользователей общей базы данных. Существующую базу
данных легко разделить на две базы данных, которые называют
клиентской и серверной.
• Если данные, которые требуется использовать в базе
данных MS Access, также обновляются другими приложениями,
их следует связать. При таком подходе сохраняются текущие
способы обновления, совместного использования данных и
управления ими, а также появляется возможность работать с
данными в MS Access. Например, можно создать запросы, формы
и отчеты, в которых используются внешние данные, объединить
внешние данные с данными из таблиц MS Access и даже
просматривать и редактировать внешние данные, когда другие
пользователи работают с ними в исходной программе.
• Связывание может также потребоваться для таблиц SQL
Server из другого проекта MS Access. Пользователь имеет
возможность создать представление связанной таблицы с
помощью мастера связанных таблиц. Такие представления могут
затем использоваться в формах, отчетах, страницах доступа к
данным и запросах аналогично любым другим таблицам.

Задания к лабораторным занятиям 14 – 15

Создание форм
1. Создайте формы для таблиц БД следующими способами:
1) при помощи Автоформы на основе таблицы: Окно
БД → вкладка Формы → кнопка «Создать» (создается форма, в
которой выводятся все поля и записи базовой таблицы или
запроса);
2) при помощи Автоформы в столбец на основе
источника записей, выделенного в окне базы данных.
Примеры выполнения задания б).
Для БД «Сессия». В окне БД выделите таблицу
«Студенты» → меню Вставка → команда Автоформа
(поскольку таблица «Студенты» связана с таблицей «Сессии»,

102
автоформа добавляет подчиненную форму, которая содержит
таблицу «Сессии», отображаемую как таблица).
Для БД «Изготовление мебели». В окне БД выделите
таблицу «Заявки» → меню Вставка → команда Автоформа
(поскольку таблица «Заявки» связана с таблицей
«СодержаниеЗаявки», автоформа добавляет подчиненную
форму, которая содержит таблицу «СодержаниеЗаявки»,
отображаемую как таблица).
Для БД «Продажа компьютеров», «Продажа лекарств»
и «Продажа обуви». В окне БД выделите таблицу «Заголовок
Продажи» → меню Вставка → команда Автоформа (поскольку
таблица «ЗаголовокПродажи» связана с таблицей
«СодержаниеПродажи», то автоформа добавляет подчиненную
форму, которая содержит таблицу «СодержаниеПродажи»,
отображаемую как таблица).
Для БД «Ремонт автомобилей». В окне БД выделите
таблицу «Автомобили» → меню Вставка → команда Автоформа
(поскольку таблица «Автомобили» связана с таблицей «Заявки»,
автоформа добавляет подчиненную форму, которая содержит
таблицу «Заявки», отображаемую как таблица).
Для БД «Библиотека». В окне БД выделите таблицу
«Издательства» → меню Вставка → команда Автоформа
(поскольку таблица «Издательства» связана с таблицей
«Литература», автоформа добавляет подчиненную форму,
которая содержит таблицу «Литература», отображаемую как
таблица);
3) с использованием Мастеров формы на основе одной
или нескольких таблиц: Окно БД→вкладка Формы→кнопка
Создать.
2. Созданные в пункте 1 формы отредактируйте в режиме
Конструктора: Окно БД → вкладка Формы → выбрать форму →
кнопка «Конструктор».
3. Рассмотрите возможность создания главной и подчиненной
форм в режиме Конструктора: Окно БД → вкладка Формы→
кнопка «Создать» → создать главную форму → нажать кнопку
«Подчиненная форма/отчет» на панели элементов → в форме
щелкнуть место, в которое следует поместить подчиненную
форму → следовать инструкциям мастера.

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

103
1. Создайте отчет с помощью мастера отчетов (создать запрос
→ Окно БД → вкладка Отчеты → кнопка «Создать» → Мастер
отчетов).
Для БД «Сессия». Создайте отчет об экзаменах летней
сессии 2004 года по факультету «ФЭУ» с группировкой по
предметам, сортировкой по возрастанию курса, группы и
фамилии студента и итогами средней оценки по предмету.
Для БД «Изготовление мебели». Создайте отчет о
выполненных заявках товаров 2004 года с группировкой по
товарам, сортировкой по возрастанию даты заявки и названия
клиента и суммарными итогами количества и стоимости по
товару.
Для БД «Продажа компьютеров». Создайте отчет о
продажах товаров за 2005 год с группировкой по типу товаров,
сортировкой по возрастанию даты продажи и названия клиента и
суммарными итогами количества и стоимости по товару.
Для БД «Продажа лекарств». Создайте отчет о продажах
лекарств за сентябрь 2003 года – август 2004 года с группировкой
по проценту оплаты, сортировкой по возрастанию даты продажи
и названия клиента и суммарными итогами количества и
стоимости по лекарству.
Для БД «Продажа обуви». Создайте отчет о продажах
товаров в 2003 – 2004 годах с группировкой по типу товаров,
сортировкой по возрастанию даты продажи и названия клиента и
суммарными итогами количества и стоимости по товару.
Для БД «Библиотека». Создайте отчет о закупленных в 2004
году книгах с группировкой по авторам, сортировкой по
возрастанию даты приобретения книг и их авторам и суммарным
итогом стоимости по тематике книг.
2. Рассмотрите возможность редактирования созданного в
пункте 1 отчета в режиме Конструктора.
3. Опубликуйте полученный отчет в Microsoft Word
(например, Окно БД → вкладка Отчеты → выбрать отчет →
кнопка «Просмотр» → меню Сервис → Связи с Office →
Публикация в Microsoft Word).
4. Экспортируйте полученный отчет в Microsoft Excel
(например, Окно БД → вкладка Отчеты → выбрать отчет →
кнопка «Просмотр» → меню Сервис → Связи с Office → Анализ в
Microsoft Excel).

104
105
5. ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ

1. Данные для выполнения заданий по Microsoft Excel

Код Клиент Сотрудник Дата Доставка Стоимость Город Страна Стоимость


заказа доставки товаров

Вариант 1
1. Определите среднюю стоимость товаров, за период с
20.07.2002 по 20.10.2002 г. отправленных фирме, название
которой начинается с буквы «Т» или «М», или заявок,
отправленных в Германию, в которых стоимость доставки менее
чем в 3 раза превосходит величину, записанную в ячейке К1.
2. Выделите все заявки, отправленные в Швейцарию или
Францию, в которых стоимость товаров не превосходит значения
из задания 1, или заявки, отправленные по почте, стоимость
доставки в которых отличается от значения, записанного в ячейке
К1 не менее чем на 25 %.

Вариант 2
1. Найдите минимальную стоимость товаров, отправленных в
страны, в названии которых вторая буква «Р», или заявок,
отправленных не по почте, в которых стоимость доставки
находится в диапазоне от значения в ячейке К1 до значения в
ячейке К2.
2. Выделите все заявки за 2002 год, в которых стоимость
товаров более чем в 4 раза превосходит значение из задания 1,
или заявки, оформленные сотрудником, фамилия которого
начинается с Кр и стоимость доставки в которых отличается от
значения, записанного в ячейку К1 более чем на 15 %.

Вариант 3
1. Найдите среднюю стоимость доставки весенних заказов в
Австрию или Францию по почте, стоимость товаров в которых не
более чем в 2 раза превышает величину, записанную в ячейке К1.
2. Выделите все заказы, оформленные сотрудником, фамилия
которого начинается с буквы «Б», отправленные в США или
Канаду, стоимость доставки которых отличается менее чем на 25

106
% от величины из задания 1, или заказы, доставленные
Ространсом, стоимость товаров в которых больше величины,
записанной в ячейке К2.

Вариант 4
1. Определите минимальную стоимость товаров,
отправленных не в Швейцарию в третьем квартале сотрудниками
Бабкиной или Ясеневой.
2. Выделите все заказы, оформленные в города, название
которых начинается на букву «Р», стоимость доставок в которых
отличается не менее чем на 15 % от величины, записанной в
ячейке К1, или заказы, доставленные по почте, стоимость товаров
в которых превосходит значение из задания 1 не более чем в 1,5
раза.

Вариант 5
1. Определите минимальную стоимость доставок Ространсом
за 2003 год в Швецию или Финляндию, стоимость товаров в
которых меньше величины, записанной в ячейке К1.
2. Выделите все заказы в страны, название которых
начинается с буквы В, стоимость товаров в которых отличается
более чем на 20 % от величины, записанной в ячейке К1, или
заказы в Бразилию, отправленные по почте, стоимость доставки в
которых превосходит значение из задания 1.

Вариант 6
1. Определите максимальную стоимость доставки в весенних
заказах по почте или Ространсом, стоимость товаров в которых
находится в диапазоне значений от содержимого ячейки К1 до
содержимого ячейки К2.
2. Выделите все заказы, оформленные в страны, название
которых начинается с буквы В, стоимость доставки в которых
отличается более чем на 15 % от величины из задания 1, или
заказы, отправленные не по почте, стоимость товаров в которых
превышает величину, записанную в ячейке К1.

107
2. Данные для выполнения заданий по Microsoft Access

Имеется база данных следующей структуры (рис. 5.1).

Рис 5.1. Схема базы данных «Сделки»

Вариант 1
1. Выделите все продажи товара, название которого
начинается с некотрой буквы (вводится как параметр) за 2003
год, или продажи 2004 года, количество проданного товара в
которых отличается не более чем на 15 % от некоторой величины
(вводится как параметр).
Структура зароса: Дата, Название клиента, Наименование
товара, Цена за единицу, Количество товара, Стоимость
2. Выберите из базы данных все продажи некоторого года
(вводится как параметр), у которых стоимость заявки (цена за
единицу*количество+стоимость доставки) больше средней
стоимости зимних заявок (использовать вспомогательный
запрос).
Структура вспомогательного запроса: СредяяСтоимость.
Структура основного запроса: Дата, НомерСделки, Название
Клиента, НаименованиеТовара, Стоимость
3. Определите среднее количество товаров, проданных летом,
в зависимости от наименования товара (столбцы) и номера
сделки (строки).

108
Вариант 2
1. Выделите все зимние продажи, в которых участвовали
клиенты, название которых начинается с некоторой буквы
(вводится как параметр), или продажи 2004 года, в которых
процент наценки не превосходит некоторой величины (вводится
как параметр).
Структура запроса: Дата, НазваниеКлиента, Наименование
Товара, Операция, КоличествоТовара, %наценки, Стоимость.
2. Для каждого клиента выделите все заявки, стоимость (цена
за единицу*количество+ стоимость доставки) которых
отличается не менее чем на 25 % от средней стоимости заявок за
2004 год (использовать вспомогательные запросы).
Структура 1-го вспомогательного запроса: Клиент,
Стоимость (групповая операция Sum). Структура 2-го
вспомогательного запроса: СредяяСтоимость.
Структура основного запроса: Дата, Номер Сделки,
НазваниеКлиента, НаименованиеТовара, Стоимость.
3. Определите общую стоимость продаж для каждого клиента
(строки) по каждому месяцу (столбцы).

Вариант 3
1. Выделите все летние сделки товара, наименование кото-
рого начинается с некоторой буквы (вводится как параметр), или
сделки 2004 года, количество товара в которых отличается более
чем на 25 % от некоторой величины (вводится как параметр).
Структура запроса: Дата, НазваниеКлиента, Наименование-
Товара, КоличествоТовара, ЦенаЗаЕдиницу, Стоимость.
2. Выберите из базы данных все сделки некоторого года
(вводится как параметр), у которых стоимость сделки (Sum
(ЦенаЗаЕдиницу * КоличествоТовара) + СтоимостьДоставки)
больше некоторой величины (вводится как параметр)
(использовать вспомогательный запрос).
Структура вспомогательного запроса для группировки: Дата,
НомерСделки, НазваниеКлиента, СуммСтоимБезДоставки, Стои-
мостьДоставки.
Структура основного запроса: Дата, НомерСделки, Название
Клиента, Стоимость.

109
3. Определите суммарное количество товаров в сделках 2004
года в зависимости от наименования товара (столбцы) и номера
сделки (строки).

Вариант 4
1. Выделите все зимние сделки, в которых участвовали
клиенты, название которых начинается с некоторой буквы
(вводится как параметр), или сделки 2003 года, в которых
процент наценки превосходит некоторую величину (вводится как
параметр).
Структура: Дата, НазваниеКлиента, НаименованиеТовара,
КоличествоТовара, ЦенаЗаЕдиницу, Стоимость, %наценки.
2. Для каждого клиента найдите среднюю стоимость сделки
(Стоимость = Sum (ЦенаЗаЕдиницу * КоличествоТовара) +
СтоимостьДоставки) некоторого года (использовать
вспомогательный запрос).
Структура вспомогательного запроса: Дата, НазваниеКли-
ента, СуммСтоимБезДоставки, СтоимостьДоставки.
Структура основного запроса: НазваниеКлиента, Средняя
Стоимость.
3. Определите общую стоимость сделок для каждого клиента
(строки) по каждому месяцу (столбцы).

Вариант 5
1. Выделите все сделки клиента, название которого
начинается с некоторой буквы (вводится как параметр) за 2003
год, или сделки второго полугодия, количество товара в которых
отличается не более чем на 25 % от некоторой величины
(вводится как параметр).
Структура зароса: Дата, НазваниеКлиента, Наименование-
Товара, ЦенаЗаЕдиницу, КоличествоТовара, Стоимость.
2. Выберите из базы данных все сделки, осуществленные
сотрудником, работающим в должности, которая начинается с
некоторой буквы (вводится как параметр), у которых стоимость
сделки (Sum (ЦенаЗаЕдиницу * КоличествоТовара) + Стоимость
Доставки) больше некоторой величины (вводится как параметр)
(использовать вспомогательный запрос).
Структура вспомогательного запроса для группировки:
НомерСделки, Фамилия, Должность, СуммСтоимБезДоставки,
Сто-имостьДоставки.

110
Структура основного запроса: НомерСделки, Фамилия,
Должность, Стоимость.
3. Определите суммарное количество товаров, проданных в
2004 году, в зависимости от наименования товара (столбцы) и
названия клиента (строки).

Вариант 6
1. Выделите все сделки первого полугодия, в которых
участвовали товары, наименование которых начинается с
некоторой буквы (вводится как параметр), или сделки 2004 года
со стои-мостью товара в сделке, не меньшей некоторой
величины (вводится как параметр).
Структура запроса: Дата, НаименованиеТовара, Количество
Товара, ЦенаЗаЕдиницу, Стоимость.
2. Для каждого сотрудника найдите среднюю стоимость
сделки (Стоимость = Sum (ЦенаЗаЕдиницу * КоличествоТовара)
+ СтоимостьДоставки) некоторого года (вводится как параметр)
(использовать вспомогательный запрос).
Структура вспомогательного запроса: Дата, Фамилия, Сумм
СтоимБезДоставки, СтоимостьДоставки.
Структура основного запроса: Фамилия, СредняяСтоимость.
3. Определите общую стоимость сделок для каждого товара
(строки) по каждому месяцу (столбцы).

111
СПИСОК РЕКОМЕНДУЕМОЙ ЛИТЕРАТУРЫ

1. Гедранович, В.В. Технологии организации, хранения и


обработки данных: учебно-методический комплекс/ В.В.
Гедранович, Ю.В. Змеева. – Минск.: Изд-во МИУ, 2007. – 160 с.
2. Гончаров, А. Microsoft Access 7.0 в примерах/А.Гончаров. –
СПб.: Питер, 1997. – 256 с.
3. Гончаров, С.Л. Базы данных: учеб. пособие/С.Л.Гончаров.–
Гродно: ГрГУ, 2000. – 123 с.
4. Дженнингс, Р. Использование Microsoft Access 2002.
Специальное издание/ Р. Дженнингс. – М.: Издательский дом
«Вильямс», 2004. – 1008 с.
5. Комличенко, В.Н. Проектирование реляционных баз
данных/ В.Н. Комличенко. – Минск.: КИВТ АНБ, 1996.
6. Левчук, Е.А. Технологии организации, хранения и
обработки данных: учеб. пособие/ Е.А. Левчук. – Минск.: Выш.
шк., 2005. – 239 с.
7. Основы информатики: учеб. пособие/ А.Н. Морозевич [и
др.]; под общ. ред. А.Н. Морозевича. – Минск.: Новое знание,
2001. – 554 с.
8. Проектирование баз данных. СУБД Microsoft Access: учеб.
пособие/ Н.Н. Гринченко [и др.]. – М.: Горячая линия-Телеком,
2004. – 240 с.
9. Рудикова, Л.В. Базы данных. Разработка приложений/ Л.В.
Рудикова. – СПб.: БХВ-Петербург, 2006. – 496 с.
10. Рудикова, Л.В. Microsoft Office для студента / Л.В.
Рудикова. – СПб.: БХВ-Петербург, 2005. – 592 с.
11. Рудикова, Л.В. Microsoft Excel для студента / Л.В.
Рудикова. – СПб.: БХВ-Петербург, 2005. – 368 с.
12. Экономическая информатика: учебник/ под ред. В.В.
Евдокимова. – СПб.: Питер, 1997. – 592 с.

112

Вам также может понравиться