77
ВВЕДЕНИЕ В наше время любой специалист независимо от сферы деятельности в той или иной мере занимается сбором, накоплением, сортировкой разнообразных данных и прочими операциями их обработки. Среди программных продуктов, автоматизирующих эти работы, наиболее доступной для непрофессиональных пользователей является система управления базами данных (СУБД) Access, входящая в пакет Microsoft office и предназначенная для работы с данными, структурированными по реляционной модели [1, 2]. В СУБД Access содержится большое количество шаблонов баз данных по основным направлениям делопроизводства. Эти шаблоны с помощью программ- мастеров легко настраиваются для учета специфики задачи конкретного пользователя. В то же время в Access имеется большое количество команд и программ-мастеров, позволяющих самостоятельно создавать удобные для работы базы, не имея специальных навыков программирования. Достаточно полное описание всех имеющихся в ней средств можно найти в работах [3–8]. В данных методических указаниях предложен цикл лабораторных работ, который помогает постепенно освоить главные понятия СУБД и основные средства Access, позволяющие создать компьютерную базу, не зная языков программирования. 3

Document13

Embed Size (px)

DESCRIPTION

13

Citation preview

ВВЕДЕНИЕ

В наше время любой специалист независимо от сферы деятельности в той или иной мере занимается сбором, накоплением, сортировкой разнообразных данных и прочими операциями их обработки. Среди программных продуктов, автоматизирующих эти работы, наиболее доступной для непрофессиональных пользователей является система управления базами данных (СУБД) Access, входящая в пакет Microsoft office и предназначенная для работы с данными, структурированными по реляционной модели [1, 2]. В СУБД Access содержится большое количество шаблонов баз данных по основным направлениям делопроизводства. Эти шаблоны с помощью программ-мастеров легко настраиваются для учета специфики задачи конкретного пользователя. В то же время в Access имеется большое количество команд и программ-мастеров, позволяющих самостоятельно создавать удобные для работы базы, не имея специальных навыков программирования. Достаточно полное описание всех имеющихся в ней средств можно найти в работах [3–8].

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

Условные обозначения

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

2. Подчеркнутым курсивом выделяются места, на которые надо обратить особое внимание, например:

Самостоятельная работа

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

Добавление таблицы

3

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

ПРОДУКТЫ

5. Названия программ Access, с которыми следует работать, начинаются с прописных букв, далее – строчные буквы, например:

Конструктор отчетов

6. Текст, который следует набрать на клавиатуре, выделяется двойными кавычками, например:

“Нехватка: [МинНорма]-[Sum-Количество]”

При этом кавычки набирать не следует.7. Цепочка команд, которые надо пройти по меню, чтобы

заказать нужное действие, выделяется курсивом и перечисляется через ‘’, например:

Формы Создать Мастер форм

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

<OK>, <Delete>

Структура баз

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

Таблицы – в них накапливается информация, которая вводится с клавиатуры.

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

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

Отчеты – программы, которые подготавливающие информацию для вывода на принтер.

4

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

Кнопочная форма – форма особого вида, в которой располагается меню вызова средств, отвечающих на типовые вопросы, возникающие в процессе работы с базой.

Кроме этого в базе можно совершать не предусмотренные в кнопочной форме действия, например, сортировку или фильтрацию по неожиданно потребовавшимся признакам, оформление каких-то сведений, представленных в базе, в виде файла Word или Excel. Это можно сделать, используя стандартные меню Access.

Разработка проекта базы

Созданию базы на компьютере предшествует предварительный этап упорядочивания сведений, которые будут храниться в компьютере. Он начинается с формулировки основных вопросов пользователей, на которые придется отвечать, используя информацию из базы, и проектирования структуры таблиц для хранения необходимых для ответа сведений. Для того чтобы база не была слишком громоздкой, в эти таблицы включают только данные, необходимые для ответа на поставленные вопросы. Основная цель проектирования – распределить всю информацию по нескольким таблицам так, чтобы свести к минимуму ее дублирование в разных записях. Технология проектирования таблиц называется нормализацией. Она описана в работе [4]. Рассмотрим эту технологию на примере учебного задания, для которого будет создаваться база в данных методических указаниях.

Задание. Разработать базу ЗАГОТОВКИ, в которой будут регистрироваться сведения о необходимом запасе нужных продуктов, поставщиках и договорах на доставку продуктов.

Предусмотреть в базе ответы на следующие вопросы:1. Каковы нормативы запаса того или иного продукта, к каким

поставщикам можно обращаться для его заготовки?2. Какие поставки ожидаются в том или ином диапазоне дат?3. Какие договоры уже заключены на тот или иной продукт

или с тем или иным поставщиком в интересующий пользователя период времени?

5

4. По каким продуктам договоры, уже заключенные, не обеспечивают необходимый запас?

5. Каковы средняя цена и разброс цен на тот или иной продукт?

6. Каков объем поставок от того или иного поставщика?7. Какие поставки не оплачены на сегодняшний день?Предусмотреть вывод на печать следующих отчетов:1. По заготовкам каждого продукта, указав в нем

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

2. по расчетам с поставщиками, указав в нем срок доставки продукта по каждому договору от данного поставщика, цену, количество, стоимость договора в целом и дату его оплаты, общую стоимость всех договоров с поставщиком и величину задолженности ему.

3. По неоплаченным договорам, сгруппировав данные по поставщикам.

Пример проектирования таблиц для учебного задания

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

– название продукта – поле Продукт;– необходимый запас – поле Норма;– допустимое отклонение запаса от нормы – поле Допуск;– название фирмы-поставщика – поле Фирма;– профиль поставок от данного поставщика – поле Профиль;– количество продукта, поставляемое по договору, – поле

Количество;– цена, по которой поставляется данный продукт, – поле Цена;– дата поставки – поле ДатаПоставки;– дата оплаты договора – ДатаОплаты.Остальные характеристики этой хозяйственной операции в

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

6

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

ЗАГОТОВКИ: Продукт, Норма, Допуск, Фирма, Профиль, Количество, Цена, ДатаПоставки, ДатаОплаты.

В каждой таблице выделяют одно или несколько полей, содержание которых однозначно определяет, о каком объекте идет речь в очередной записи (строке таблицы, содержащей сведения об одном объекте). Совокупность этих полей называют ключом таблицы. Если для однозначного определения записи достаточно одного поля, то это – простой ключ, если ключ состоит из нескольких полей, то это – составной ключ. Для таблицы ЗАГОТОВКИ нужен составной ключ. Поля, входящие в него, подчеркнуты.

Значения полей Норма и Допуск в любой записи предопределяются содержанием поля Продукт. Название фирмы-поставщика и остальные поля базы не влияют на значения, вводимые в эти поля. Аналогично значение поля Профиль определяется только содержанием поля Фирма. Чтобы не повторять эти сведения при регистрации каждого нового договора, распределяем все данные по трем таблицам:

ПРОДУКТЫ: Продукт, Норма, Допуск.ПОСТАВЩИКИ: Фирма, Профиль.ДОГОВОРЫ: Продукт, Фирма, Количество, Цена,

ДатаПоставки, ДатаОплаты.

Третий этап. Поля Продукт и Фирма, которые входят в разные таблицы, могут содержать длинные тексты. Вводим для их значений коды, чтобы не повторять эти тексты в каждой таблице. Кроме этого добавляем в таблицу ДОГОВОРЫ поле с номером договора, чтобы отказаться от составного ключа в ней. Это необязательные, но желательные дополнения. В базах с большим количеством записей они существенно уменьшают объем необходимой памяти и ускоряют время обработки информации. Поля с кодами обозначим короткими аббревиатурами: КП, КФ и КД. Получаем:

ПРОДУКТЫ: КП, Продукт, Допуск.ПОСТАВЩИКИ: КФ, Фирма, Профиль.

7

ДОГОВОРЫ: КД, КП, КФ, Количество, Цена, ДатаПоставки, ДатаОплаты.

Четвертый этап. Представляем полученные проекты таблиц в стандартном виде (ключевые поля подчеркнуты).

ПРОДУКТЫ:КП (код продукта – ключевое, целое число);Продукт (название продукта – текст);Норма (норма запаса продукта – число);Допуск (допустимое отклонение запаса от нормы – число);

ПОСТАВЩИКИ:КФ (код фирмы-поставщика – ключевое, целое число).Фирма (название фирмы – текст);Профиль (категории продуктов, которые может поставлять

фирма – длинный текст).

ДОГОВОРЫ:КД (номер договора – ключевое, целое число);КП (код продукта – заменяет название продукта, значения

кодов берутся из таблицы ПРОДУКТЫ, целое число);КФ (код фирмы – заменяет название фирмы, значения кодов

берутся из таблицы ПОСТАВЩИКИ, целое число);Количество (количество продукта, поставляемое по договору –

вещественное число с 1 знаком после запятой);Цена (цена товара по договору – в рублях, с 1 знаком после

запятой);ДатаПоставки (короткий формат даты типа 01.01.01)ДатаОплаты (короткий формат даты типа 01.01.01)

ЗАДАНИЯ ДЛЯ ЛАБОРАТОРНЫХ РАБОТ

Лабораторная работа № 1Создание таблиц в ACCESS

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

8

несколько способов создания таблиц. В данной лабораторной работе будет рассмотрено два способа:

– с помощью импорта данных из файла Excel, при котором структура определяется автоматически;

– с помощью программы Конструктор таблиц, при котором структура создается разработчиком базы.

I. Создание новой базы данных

При запуске Access в окне Microsoft Access выберите Новая база данных и сохраните созданную базу в папке своей группы под названием “ЗАГОТОВКИ ФАМИЛИЯ” (вместо слова Фамилия впишите свою фамилию).

II. Создание таблицы ПРОДУКТЫ с помощью импорта данных из книги Excel БазаЗаготовки

(или модифицированное Вами аналогичное имя)

1. В меню Access выберите Файл Внешние данные Импорт (или в окне База Данных Таблицы Создать Импорт таблиц).

2. В окне Импорт выберите папку Вашей группы, тип файла Microsoft Excel, имя файла, из которого будут импортироваться данные.

3. В окне Импорт электронной таблицы пройдите все шаги кнопкой <Далее>, заменив на последнем шаге название таблицы НОРМЫ на ПРОДУКТЫ.

4. В окне База Данных на вкладке Таблицы выделите созданную таблицу ПРОДУКТЫ и закажите команду Конструктор.

5. В окне конструктора удалите поля МинНорма и МаксНорма, а также замените имя поля Код на КП и в колонку Описание введите пояснение: “Код продукта”.

6. Перейдите в режим таблицы (Меню Вид Режим таблицы или первая кнопка на панели Конструктор таблиц). Посмотрите полученную таблицу. Обратите внимание на текст, который при выделении поля КП выдается в строку статуса (нижняя строка окна). Закройте созданную таблицу.

III. Создание таблицы ПОСТАВЩИКИ с помощью Конструктора и набора данных на клавиатуре

1. В окне База Данных выберите Таблицы Создать Конструктор.

9

2. В окне Таблица1: таблица задайте поля и их свойства:

Имя поля Тип данных ОписаниеКФ Счетчик Код фирмы-поставщикаФирма Текст Название фирмыПрофиль Текст Ассортимент товаров фирмы

3. Выделите поле КФ и определите его ключевым (меню Правка→ Ключевое поле или кнопка с ключом на панели Конструктор таблиц).

4. Перейдите в режим таблицы (меню Вид или первая кнопка на панели Конструктор таблиц). При этом откроется окно с запросом имени таблицы. Введите для нее имя ПОСТАВЩИКИ.

5. Заполните таблицу для 5–10 поставщиков. В поле Профиль укажите по 2–3 типа продуктов в разных комбинациях. Например:

КФ Фирма Профиль1 Лето Овощи, фрукты, напитки, специи2 Большой буйвол Мясные и молочные изделия, специи3 Веселая корова Мясные, молочные изделия, напитки4 Околица Молочные изделия, овощи, крупы, мука5 Каравай Крупы, хлебо-булочные изделия, сласти6 Сладкоежка Сласти, специи, напитки7 Дары природы Овощи, фрукты, мясные продукты

Поле КФ заполняется автоматически, так как для него заказан тип данных Счетчик.

6. Закройте таблицу ПОСТАВЩИКИ.

IV. Создание таблицы ДОГОВОРЫ с подстановочными полями

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

1. В окне База Данных выберите Таблицы Создать Конструктор.

2. В верхней части окна конструктора таблиц опишите поля и их свойства:

10

Имя поля Тип данных ОписаниеКД Счетчик Код договораКП Числовой Код продукта из таблицы ПРОДУКТЫКФ Числовой Код продукта из таблицы ПОСТАВЩИКИКоличество Числовой Объем поставкиЦена Денежный Закупочная цена на продуктДатаПоставки Дата/время Дата поставки продуктаДатаОплаты Дата/время Дата оплаты договора

3. В нижней части бланка в области Свойства поля большинство свойств можно оставить такими, как они заданы по умолчанию. Исключения:

– для полей КП, КФ, Количество, Цена значение по умолчанию “0” следует удалить;

– для полей ДатаПоставки и ДатаОплаты закажите свойства: Формат поля Краткий формат даты и Маска ввода Краткий формат даты (вызов Мастера масок – кнопка <…>);

– для поля Цена выберите Число десятичных знаков “1”.4. Вернитесь в верхнюю часть бланка. Сделайте поле КП

подстановочным. Для этого:– для поля КП закажите Тип Данных Мастер

Подстановок…;– во втором окне Мастера Подстановок закажите таблицу

ПРОДУКТЫ;– в третьем окне двойным щелчком или кнопкой со

значком ‘>’ перекиньте в правую зону поля КП и Продукт;– значения остальных параметров Мастера Подстановок

оставьте по умолчанию.5. Сделайте поле КФ подстановочным. Для этого:– для поля КФ закажите Тип Данных Мастер

Подстановок…;– во втором окне Мастера Подстановок закажите таблицу

ПОСТАВЩИКИ;– в третьем окне двойными щелчками или кнопкой cо

значком ‘>>’ перекиньте в правую зону все поля;– в следующем окне (с образцом списка подстановки)

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

– остальные параметры Мастера Подстановок оставьте заданными по умолчанию.

11

6. Перейдите в режим таблицы и введите в нее 20–30 договоров:

– в полях КП и КФ делайте выбор из выпадающих списков (кнопки в правом конце поля) или вводите первые буквы названий продуктов и поставщиков, используя автозавершение ввода;

– значения дат введите от начала до конца текущего семестра, например: от 01.01.09 до 31.05.09;

– обратите внимание на то, как работает маска ввода в полях ДатаПоставки и ДатаОплаты;

– для нескольких записей поле ДатаОплаты оставьте пустым;– после окончания ввода закройте таблицу ДОГОВОРЫ.

V . Связывание таблиц по ключевым полям

Эта процедура определяет, какие поля в разных таблицах содержат одни и те же атрибуты.

1. Нажмите кнопку <Схема данных> на панели Конструктор таблиц или закажите команду Сервис Схема данных.

2. В окне Добавление таблицы выделите те таблицы, которых не хватает в окне Схема данных, затем нажмите кнопку <Добавить> и, после этого, – <Закрыть>.

3. В окне Схема данных в списке полей таблицы ПРОДУКТЫ выделите ключевое поле КП, зацепите мышкой, перетащите его в окно с полями таблицы ДОГОВОРЫ и наложите его там на поле КП.

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

5. Сделайте аналогичные действия для поля КФ из таблиц ПОСТАВЩИКИ и ДОГОВОРЫ.

V. Проверка поддержания целостности базы данных

4. Проверьте выполнение каскадного обновления связанных полей. Для этого в таблице ПОСТАВЩИКИ замените название какой-нибудь фирмы. Убедитесь, что в таблице ДОГОВОРЫ тоже произошла замена. Верните название фирмы обратно.

5. Проверьте действие контроля над целостностью данных. Для этого:

12

– введите в таблицу ДОГОВОРЫ запись о договоре на продукт, которого нет в таблице ПРОДУКТЫ. Посмотрите, что получится;

– введите в таблицу ПРОДУКТЫ запись об этом продукте и снова введите в таблицу ДОГОВОРЫ запись о договоре на этот продукт. Посмотрите, что получится.

6. Проверьте выполнение каскадного удаления связанных полей. Для этого:

– удалите из таблицы ПРОДУКТЫ запись о новом продукте;– убедитесь, что в таблице ДОГОВОРЫ записи, связанные с

ним, тоже удалены автоматически.

Лабораторная работа № 2Разработка запросов в режиме конструктора

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

Запросы создаются на специальном языке, который обозначается аббревиатурой SQL (Structure Query Language – язык структурированных запросов). При использовании программы Конструктор знание этого языка не обязательно. Эта программа предоставляет бланк, в котором средствами, удобными для разработчика базы, формируется заказ на выполнение нужных манипуляций. Конструктор сам создает код SQL, соответствующий сделанному заказу. Этот код можно увидеть, выполнив команду меню Запрос→ ЗапросSQL.

I. Создание простого запроса

Создадим запрос ДОГОВОРЫ ПРОСТОЙ, в котором коды продуктов и фирм будут заменены их реальными названиями.

13

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

1. В окне База Данных выберите Запросы Создать Конструктор.

2. В окне Добавление таблицы выделите все таблицы, нажмите кнопку <Добавить>, затем – <Закрыть>.

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

4. Двойным щелчком или буксировкой отправьте в нижнюю часть бланка следующие поля из соответствующих таблиц: Продукт, Фирма, Количество, Цена, ДатаПоставки, ДатаОплаты. Проверьте, как работает созданный запрос (кнопка <Вид> с рисунком таблицы – первая на панели инструментов или команда Вид Режим таблицы).

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

5. Перейдите в режим конструктора (кнопка <Вид> с голубым треугольником и карандашом – первая на панели инструментов Конструктор запросов или команда Вид Конструктор) и отсортируйте записи в запросе (третья строка в нижней части бланка Конструктора). Закажите последовательно разные варианты сортировки: по продуктам, по фирмам, по продуктам и фирмам, по продуктам, фирмам и датам и т. д. Посмотрите результаты каждого варианта сортировки, переходя в режим таблицы.

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

6. Закройте запрос с сохранением, присвоив ему имя ДОГОВОРЫ ПРОСТОЙ.

II. Создание запросов с фильтрами по совпадению и по условию

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

14

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

1. Сделайте копию запроса ДОГОВОРЫ ПРОСТОЙ. Назовите ее ДОГОВОРЫ ПРОСТЫЕ ФИЛЬТРЫ и откройте в режиме конструктора.

2. В строку Условие отбора в полях Продукт и Фирма введите значения, которые есть в таблице ДОГОВОРЫ (например, Свинина и Большой буйвол). Посмотрите результаты.

3. Перенесите название фирмы на строку Или. Посмотрите результаты.

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

4. Наложите фильтр по условию на дату поставки. Выберите дату в середине диапазона дат, введенных в таблицу ДОГОВОРЫ. В строку Условие отбора в поле ДатаПоставки введите выбранное условие, например: “>01.02” или “<01.03” (если год в дате не указан, то предполагается текущий год). Посмотрите результат фильтрации.

5. Усложните фильтр, задав диапазон дат. Для того чтобы задать одновременное выполнение нескольких условий на одно поле, надо перенести его название в нижнюю часть бланка соответствующее число раз и в одной и той же строке в каждой колонке задать по одному условию. Если условия по другим полям занимали несколько строк, то фильтр по датам надо повторить в каждой. Выберите пару дат из того диапазона, который присутствует в таблице ДОГОВОРЫ, и отфильтруйте договоры, приходящиеся на этот промежуток времени.

6. Закройте запрос с сохранением.7. Откройте этот запрос в режиме конструктора и посмотрите,

как переписано условие по датам. В дальнейшем несколько условий по одному полю можно сразу оформлять так, как это сделал за Вас Конструктор запросов.

15

Вывод. Если в фильтре указаны конкретные значения для отбора данных, то при повторных обращениях к запросу он будет отбирать данные только с этими значениями.

III. Создание параметрических запросов

Конкретные значения в фильтре можно заменять параметрами  – условными обозначениями тех операндов, которые входят в критерии фильтрации. Параметры надо заключать в квадратные скобки [ ]. При каждом открытии запрос выдает на экран окна ввода для всех своих параметров. Если при повторном открытии ввести значения, не совпадающие с предыдущими, то один и тот же запрос будет выводить на экран разные группы данных. Это расширяет диапазон вопросов, обрабатываемых одной и той же программой. В качестве параметра можно использовать любой текст, не совпадающий с названиями полей.

1. Сделайте копию запроса ДОГОВОРЫ ПРОСТОЙ и назовите ее ДОГОВОРЫ С ПАРАМЕТРАМИ. Откройте этот запрос в режиме конструктора.

2. В строку Условие отбора поля Продукт введите текст: “[Какой продукт?]” (квадратные скобки обязательны, кавычки не вводятся). Введенный в скобки текст не должен в точности совпадать ни с одним из названий полей. Обычно он поясняет, что надо ввести с клавиатуры, для начала работы запроса. В нашем случае можно было бы ввести просто “Продукт?”.

3. Перейдите в режим таблицы. В появившееся окно Введите значение параметра введите название какого-либо продукта.

4. Закройте запрос с сохранением.5. Снова откройте этот запрос и введите название другого

продукта. Посмотрите записи, которые на этот раз запрос вывел на экран.

6. Вернитесь в режим конструктора и добавьте параметрические фильтры по полям Фирма и ДатаПоставки. Для условий параметр вводится только на значение, например: “>[Начало поставок?]”. Сохраните изменения. Несколько раз откройте запрос, вводя в качестве параметров разные продукты, фирмы, даты.

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

16

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

IV. Создание параметрических запросов по маске

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

1) ‘*’ – на этом месте допустимо любое количество любых символов, в частности, их отсутствие;

2) ‘?’ – на этом месте допустим только один какой-нибудь символ или его отсутствие.

Например, если мы не знаем, как в базу введено название продукта: “картофель” или “картошка”, то маски “карто*” или “карт*” объединят ссылки на обе версии названия (напоминаем: кавычки вводить не надо!).

1. Сделайте копию запроса ДОГОВОРЫ С ПАРАМЕТРАМИ и назовите его ДОГОВОРЫ С МАСКОЙ, откройте его в режиме конструктора.

2. Перед параметрами [Какой продукт?] и [Какая фирма?] введите слово “like”. Перейдите в режим таблицы. В окна ввода параметров введите символ ‘*’ вместо названий продукта и фирмы. Параметры-даты введите полностью. Проанализируйте выведенные записи.

Вывод. Маска ‘*’означает любое значение в данном поле.3. Закройте запрос с сохранением, снова откройте его и

введите маски названий каких-либо продуктов, например, вместо слова “свинина” введите “св*” или “с*”, вместо названия поставщика введите, например, “в*”. Проанализируйте выведенные записи.

4. Откройте запрос несколько раз, вводя разные варианты масок для условий фильтрации.

Вывод. Запрос по маске облегчает ввод параметров. Его также удобно применять, когда точно неизвестно, как введено значение в базу: “Сахар” или “Сахарный песок” и т. п.

17

V. Создание запросов, анализирующих незаполненные поля

Поля, значения которых неизвестны на момент занесения записи в базу, остаются пустыми. Так как незаполненными могут оказаться поля с разными типами данных, для обращения к ним используют специальное слово Null.

1. Сделайте копию запроса ДОГОВОРЫ ПРОСТОЙ и назовите ее ДОГОВОРЫ НЕОПЛАЧЕННЫЕ. Откройте этот запрос в режиме конструктора.

2. В поле ДатаОплаты в строке Условие отбора введите “null”. Перейдите в режим таблицы. Заметьте количество отобранных записей. Закройте запрос с сохранением.

3. Откройте таблицу ДОГОВОРЫ и введите даты оплаты в нескольких записях с пустыми значениями этого поля. Закройте таблицу с сохранением.

4. Откройте запрос ДОГОВОРЫ НЕОПЛАЧЕННЫЕ. Заметьте количество отобранных записей на этот раз.

VI. Создание запросов с расчетными полями

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

1. Откройте запрос ДОГОВОРЫ ПРОСТОЙ в режиме конструктора. В строке Поле первого пустого столбца введите

“Стоимость: [Количество]*[Цена]”

(пробел после двоеточия обязателен). Перейдите в режим таблицы. Вывод. Текст, расположенный до двоеточия – название

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

2. Вернитесь в режим конструктора. Удалите все прежние сортировки. Введите по расчетному полю Стоимость сортировку по убыванию.

18

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

3. Закройте запрос с сохранением изменений.4. Самостоятельная работа . Создайте на базе таблицы

ПРОДУКТЫ запрос ГРАНИЦЫ ЗАПАСА с расчетными полями “МинНорма: [Норма]-[Допуск]” и “МаксНорма: [Норма]+[Допуск]”.

VII. Создание групповых запросов

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

Создадим запросы ИТОГИ ПРОДУКТ и ИТОГИ ПОСТАВЩИК, в которых для каждого продукта (поставщика) будут представлены обобщенные характеристики заготовок.

1. Создайте запрос ИТОГИ ПРОДУКТ по аналогии с запросом ДОГОВОРЫ ПРОСТОЙ (см. задание I). В запрос введите поля Продукт, Количество, Цена, Цена, Цена, ДатаПоставки из таблиц ПРОДУКТЫ и ДОГОВОРЫ.

2. Щелкните правой кнопкой в нижней части бланка и закажите в контекстном меню Групповые операции (или найдите эту команду в меню Вид). В бланке появляется строка Групповая операция, в которой по умолчанию во всех полях вставлено значение Группировка.

3. С помощью выпадающего списка замените значение Группировка:

– в поле Количество на Sum (сумма);– в полях Цена соответственно на Avg (среднее значение), Min

(минимальное), Max (максимальное);– в поле ДатаПоставки на Min.4. Перейдите в режим таблицы. Посмотрите результаты

работы запроса. Вывод Данные, собранные запросом, компонуются в группы с

одинаковыми значениями в полях, отмеченных словом Группировка, а по остальным полям в запросе выводится только указанный итог по

19

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

5. Вернитесь в режим конструктора. Добавьте расчетное поле Стоимость (см. задание VI) и закажите для него операцию Sum. Перейдите в режим таблицы. Посмотрите, как изменились результаты.

6. Сохраните запрос под именем ИТОГИ ПРОДУКТ.7. Откройте этот запрос в режиме конструктора и посмотрите,

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

8. Самостоятельная работа . Аналогично предыдущему (аналогично не значит точная копия!) создайте запрос ИТОГИ ПОСТАВЩИК со следующими итогами по каждому поставщику:

– количество договоров с ним: функция Cоunt по любому полю;– общая стоимость всех договоров: расчетное поле

“Стоимость: Sum([Количество]*[Цена])”

(в строке Групповая операция значение Выражение).

VIII. Использование нескольких запросов для получения нужных сведений

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

Создадим групповой запрос ПРОДУКТОВ НЕДОСТАТОЧНО, представляющий сведения о продуктах, для которых общий запас, обеспеченный договорами, меньше минимально необходимого.

1. Откройте бланк Конструктора запросов (Запросы Создать Конструктор).

20

2. В окне Добавление таблицы на вкладке Запросы выделите запросы ГРАНИЦЫ ЗАПАСА и ИТОГИ ПРОДУКТ, затем нажмите кнопки <Добавить>, <Закрыть>.

3. Зацепите мышью поле Продукт из окна ГРАНИЦЫ ЗАПАСА и наложите его на поле Продукт в окне ИТОГИ ПРОДУКТ. Эта процедура показывает, что можно соединять только те записи из разных таблиц, у которых в этих полях находятся одинаковые значения.

4. Щелкните правой кнопкой мыши на линии связи между полями, выберите в контекстном меню Параметры объединения и в открывшемся окне выберите пункт Объединение всех записей из ГРАНИЦЫ ЗАПАСА и только тех записей из ИТОГИ ПРОДУКТ, в которых связанные поля совпадают. Эта процедура уточняет способ объединения записей из разных запросов.

5. Перенесите в нижнюю часть бланка:– из таблицы ГРАНИЦЫ ЗАПАСА поля Продукт и МинНорма;– из таблицы ИТОГИ ПРОДУКТ поле Sum-Количество.6. В поле Sum-Количество в строке Условие отбора введите

условие “<[МинНорма]”. По этому условию Access сравнит в каждой записи значения в полях Sum-Количество и МинНорма и отфильтрует только те записи, в которых общее количество запаса меньше нужного.

7. Создайте расчетное поле:

“Нехватка: [МинНорма]-[Sum-Количество]”.

8. Перейдите в режим таблицы и посмотрите результаты. Закройте запрос с сохранением под именем ПРОДУКТОВ НЕДОСТАТОЧНО.

Лабораторная работа № 3Создание форм

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

21

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

4. Создание автоформ разных типов

1. В окне База Данных выберите Формы Создать Автоформа: в столбец, в нижнем поле в качестве источника данных выберите ПРОДУКТЫ, нажмите кнопку <ОК>. Чтобы в полученной форме просмотреть все записи, надо воспользоваться счетчиком записей в левом нижнем углу.

2. Закройте форму с сохранением. К предложенному системой имени добавьте “в столбец”.

3. Самостоятельная работа . Аналогично предыдущему создайте на базе этого же источника автоформы ленточную и табличную. Добавьте соответствующие слова к имени ПРОДУКТЫ при сохранении этих форм.

4. Сравните внешний вид информации в разных представлениях. Отметьте, что неудобно для просмотра информации в формах, созданных стандартным способом.

Вывод. Автоформа в столбец выводит на экран записи по одной. Каждое поле занимает строку экрана. Названия полей образуют один столбец, значения – другой. Такую форму удобно использовать в тех случаях, когда запись состоит из большого количества полей, так как строк на экране без полосы прокрутки можно разместить больше, чем столбцов. Ее использование неудобно, когда нужно сравнивать значения одного и того же поля в разных записях.

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

Автоформа табличная представляет информацию в виде неформатированной таблицы. Она обеспечивает самый компактный способ размещения информации на экране.

5. Самостоятельная работа . Создайте по шаблону Автоформа: Ленточная формы для просмотра таблиц ПОСТАВЩИКИ, ДОГОВОРЫ и запросов:

– ДОГОВОРЫ С МАСКОЙ;

22

– ИТОГИ ПРОДУКТ;– ИТОГИ ПОСТАВЩИК;– ГРАНИЦЫ ЗАПАСА;– ПРОДУКТОВ НЕДОСТАТОЧНО;– ДОГОВОРЫ НЕОПЛАЧЕННЫЕ.

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

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

1. В окне База Данных выберите Формы Создать Мастер форм, нижнее поле для источника данных оставьте пустым, нажмите кнопку <ОК>.

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

– из таблицы ПРОДУКТЫ – Продукт, Норма, Допуск;– из таблицы ПОСТАВЩИКИ – Фирма; из таблицы ДОГОВОРЫ – Количество, Цена, ДатаПоставки,

ДатаОплаты;– нажмите кнопку <Далее>.3. Посмотрите разные варианты представления данных,

вернитесь к представлению по продуктам и под образцом выберите параметр подчиненная форма. Нажмите кнопку <Далее>.

4. Выберите ленточный вариант для представления подчиненной формы. Нажмите кнопку <Далее>.

5. Выберите стиль оформления форм. Нажмите кнопку <Далее>.

6. К имени формы ПРОДУКТЫ добавьте ГЛАВНАЯ ПОДЧИНЕННАЯ. Имя подчиненной формы замените на ДОГОВОРЫ ПОДЧИНЕННАЯ К ПРОДУКТАМ. Нажмите кнопку <Готово>.

23

7. В окне получившейся формы два счетчика записей. Поработайте кнопками каждого счетчика, разберитесь, чем они управляют. Отметьте, что неудобно для просмотра информации в форме, созданной этим способом.

VI. Создание связанной формы

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

1. Из таблицы ПОСТАВЩИК возьмите поля Фирма и Профиль, из таблицы ПРОДУКТЫ – только Продукт, из таблицы ДОГОВОРЫ – Количество, Цена, ДатаПоставки, ДатаОплаты.

2. Шаблон представления: Связанные формы.3. На следующем шаге выберите тип фона для форм.4. На следующем шаге к имени формы1 – ПОСТАВЩИКИ

добавьте ГЛАВНАЯ СВЯЗАННАЯ, к имени формы2 – ДОГОВОРЫ добавьте СВЯЗАННАЯ С ПОСТАВЩИКАМИ.

5. В появившейся на экране форме пощелкайте на кнопке <ДОГОВОРЫ СВЯЗАННАЯ С ПОСТАВЩИКАМИ > и поработайте кнопками счетчиков в каждом окне, разберитесь, чем они управляют. Отметьте, что неудобно в этой форме для просмотра информации.

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

5. Корректировка форм

В стандартных вариантах форм, как правило, приходится корректировать следующие элементы:

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

– размеры и положение областей, отведенных под ту или иную информацию: их компоновка на экране не всегда удачна;

24

– иногда желательно дополнить выданную на экран информацию расчетными величинами и пояснительными текстами.

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

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

Область данных бланка предназначена для макета размещения информации, связанной с одной записью (содержание полей, расчетные величины, пояснения). Этой информации отводится при просмотре средняя часть экрана. Если выбран тип формы В столбец, то записи выводятся по одной, даже если на экране есть свободное пространство. Если же выбран тип формы Ленточная или Таблица, то средняя часть делится на строки, высота которых равна высоте области данных в бланке, и на экран выводится одновременно столько записей, сколько поместится. Остальные записи можно просмотреть с помощью полос прокрутки.

Самостоятельная работа.1. Откройте форму ДОГОВОРЫ в режиме конструктора.2. Расположите окно панели Элементы управления так, чтобы все

кнопки были видны (например, под другими панелями).

25

26

3. Ознакомьтесь с расположением перечисленных выше областей бланка.

4. Потренируйтесь с использованием приемов корректировки элементов управления, перечисленных в Приложении 2.

5. Закройте бланк формы без сохранения.

6. Корректировка автоформы(команды корректировки описаны в Приложении 2)

1. Откройте форму ПРОДУКТЫ ЛЕНТОЧНАЯ в режиме конструктора, распахните ее на весь экран. Расположите окно панели Элементы управления так, чтобы все кнопки были видны (например, под другими панелями).

2. Передвиньте границу Область данных вниз на 2 клетки (буксируется верхняя граница полосы Область данных).

3. Выделите строку с заголовками столбцов формы.4. Передвиньте весь выделенный блок к нижнему краю полосы

Заголовок формы.5. Вставьте элемент Надпись (в панели Элементы управления

кнопка с буквами ‘Аа’).6. Введите текст “СПИСОК НУЖНЫХ ПРОДУКТОВ”, щелкните

за пределами созданного элемента.7. Выделите созданный элемент и отформатируйте его (размер и

цвет шрифта, заливка, начертание, выравнивание по центру и т. п.). Если нужно, измените размер элемента. Расположите этот элемент ‘на глазок’ по центру заголовков.

8. Измените в заголовке текст надписи: КП на Код продукта.9. Откорректируйте размер этого элемента по высоте и ширине

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

10. Сформируйте аккуратные столбцы с информацией на экране. Для этого:

– выделите всю строку с названиями полей (область Заголовок формы);

– выберите команды Формат Размер По самому высокому, Формат Выровнять По верхнему краю;

– выделите строку с полями данных (Область данных);– выберите команды Формат Размер По самому высокому,

Формат Выровнять По верхнему краю;

27

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

– из области Примечание проведите мышью по элементам Поле и Надпись для первого столбца. Выберите команды Формат Выровнять По левому краю, Формат Размер По самому широкому. Закажите какую-нибудь заливку для этих элементов;

– самостоятельная работа: повторите эти операции для остальных столбцов формы.

11. Перейдите в режим просмотра формы (команда Вид Режим таблицы или первая кнопка на панели Конструктор форм). Если что-то во внешнем виде информации Вас не устраивает, вернитесь в режим конструктора и закончите коррекцию.

Закройте форму с сохранением изменений.13. Откорректируйте самостоятельно любую из форм:

– ПОСТАВЩИКИ;– ДОГОВОРЫ;– ДОГОВОРЫ С МАСКОЙ;– ИТОГИ ПРОДУКТ;– ИТОГИ ПОСТАВЩИК;– ГРАНИЦЫ ЗАПАСА;– ПРОДУКТОВ НЕДОСТАТОЧНО;– ДОГОВОРЫ НЕОПЛАЧЕННЫЕ.

7. Корректировка подчиненной формы

1. Откройте форму ПРОДУКТЫ ГЛАВНАЯ ПОДЧИНЕННАЯ в режиме таблицы, распахните ее на весь экран. Выделите курсором любое поле в области подчиненной формы и перейдите в режим конструктора. Расположите окно панели Элементы управления так, чтобы все кнопки были видны (например, под другими панелями).

2. Введите в область Заголовок формы надпись ИТОГИ ПО ЗАГОТОВКАМ ПРОДУКТОВ и отформатируйте ее (аналогично п.п. 2-7 в задании V).

3. Откорректируйте область данных главной формы:– передвиньте вправо границу разлинованного бланка на 5 – 6

клеток;– вставьте элемент поле (кнопка с буквами ‘аб|’) в строку с

элементом Норма, отступив от имеющейся информации 4 – 5 клеток. В бланке появились два связанных элемента: левый для пояснения

28

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

– удалите из левого элемента стандартный текст и введите туда слова “Нижняя граница запаса”. Отодвиньте правый элемент так, чтобы надпись не закрывала его;

– щелкните правой кнопкой на элементе с текстом Свободный и закажите команду Свойства. Затем на вкладке Данные в строке Данные нажмите кнопку <…>. Должно появиться окно Построитель выражений;

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

[Норма] – [Допуск]

Нажмите <ОК> и закройте окно свойств (кнопка <>);– аналогично предыдущему создайте в строке Допуск

расчетный элемент Верхняя граница запаса;– выровняйте элементы по строкам;– перейдите в режим просмотра формы (команда Вид Режим

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

4. Откорректируйте информацию, связанную с подчиненной формой. Для этого:

– перейдите в режим конструктора. Выделите область, отведенную под элемент ДОГОВОРЫ ПОДЧИНЕННАЯ К ПРОДУКТАМ, растяните на 5 – 6 клеток вниз и вбок так, чтобы все ее поля были видны без полосы прокрутки;

– текст надписи над областью подчиненной формы измените на “ДОГОВОРЫ НА ПРОДУКТ”, отформатируйте ее и установите по центру этой области;

29

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

– вставьте в зону Примечание формы элемент Поле;– замените поясняющую надпись в левом элементе на “Итого”;– для правого элемента вызовите окно Построитель

выражений (см. п. 3 в задании VI);– в левом столбце нижней части окна Построитель

выражений откройте папку Функции→ Встроенные функции. В правом – найдите функцию Sum и двойным щелчком перенесите ее в верхнюю часть бланка. Выделите подсказку “«expr»”;

– в левом столбце нижней части окна Построитель выражений откройте папку ДОГОВОРЫ ПОДЧИНЕННАЯ К ПРОДУКТАМ, в центральном столбце найдите поле Количество и двойным щелчком перенесите его в верхнюю часть бланка на место подсказки. В результате в верхней части окна Построитель выражений должно получиться выражение Sum([Количество]);

– нажмите <ОК>, закройте окно свойств (кнопка <>);– откройте форму ПРОДУКТ ГЛАВНАЯ ПОДЧИНЕННАЯ в

режиме таблицы и проверьте результат;– снова откройте форму ДОГОВОРЫ ПОДЧИНЕННАЯ К

ПРОДУКТАМ в режиме конструктора. Отформатируйте и переместите введенные элементы так, чтобы итог по полю Количество оказался под столбцом Количество и совпадал с ним по ширине;

– по аналогии с предыдущим введите итог Средняя цена (функция Avg).

5. Посмотрите результат и закройте форму с сохранением изменений.

8. Корректировка связанных форм

Самостоятельная работа. По аналогии с предыдущим откорректируйте связанные формы ПОСТАВЩИКИ ГЛАВНАЯ СВЯЗАННАЯ и ДОГОВОРЫ СВЯЗАННАЯ С ПОСТАВЩИКАМИ:

– в форме ПОСТАВЩИКИ ГЛАВНАЯ СВЯЗАННАЯ измените и отформатируйте текст на кнопке, так, чтобы она хорошо выделялась на общем фоне;

30

– в форме ДОГОВОРЫ СВЯЗАННАЯ С ПОСТАВЩИКАМИ в область данных внесите расчетное поле Стоимость договора, в область Примечание формы – итог по этому полю (в аргумент функции Sum следует создать формулу [Количество]*[Цена]). Выровняйте столбцы, в поля с денежными величинами введите символы валюты, остальное форматирование сделайте по своему усмотрению.

Лабораторная работа №4

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

Отчеты – это программы, которые подготавливают информацию к выдаче на принтер в удобном для восприятия виде. Для создания отчета можно в команде Отчеты→ Создать воспользоваться вариантом Конструктор или же выбрать один из стандартных шаблонов (Автоотчеты, Мастер отчетов), и потом немного подправить его. В этой лабораторной работе рассматривается только второй вариант. Команды корректировки в конструкторе отчетов аналогичны командам конструктора форм (см. задание IV в лабораторной работе №3).

I. Создание автоотчетов разных типов

1. В окне База Данных выберите Отчеты Создать Автоотчет: в столбец, в нижнем поле в качестве источника данных выберите ГРАНИЦЫ ЗАПАСА, нажмите кнопку <ОК>. В полученном отчете посмотрите, как расположены записи и оформлен конец каждой страницы (счетчик страниц в левом нижнем углу). Отметьте, что в отчете, созданном стандартным способом, неудобно для просмотра информации.

9. Закройте отчет с сохранением, к предложенному системой имени добавьте “В СТОЛБЕЦ”.

10. Самостоятельная работа . Аналогично предыдущему создайте на базе источников ГРАНИЦЫ ЗАПАСА и ДОГОВОРЫ НЕОПЛАЧЕННЫЕ автоотчеты ленточные. Сравните внешний вид информации в разных представлениях. Отметьте, что в отчетах, созданных этим способом, неудобно для просмотра информации.

31

II. Создание отчета с помощью Мастера отчетов

Подготовим для печати отчет о всех договорах с группировкой сведений по продуктам.

4. В окне База Данных выберите Отчеты Создать Мастер отчетов, нижнее поле для источника данных оставьте пустым, нажмите кнопку <ОК>.

2. В окне выбора полей для отчета перекиньте следующие поля из левой в правую зону:

– из таблицы ПРОДУКТЫ – Продукт, Норма, Допуск, – из таблицы ПОСТАВЩИКИ – Фирма, – из таблицы ДОГОВОРЫ – Количество, Цена,

ДатаПоставки, ДатаОплаты. – нажмите кнопку <Далее>.

3. Посмотрите разные варианты представления данных, вернитесь к представлению по продуктам. Нажмите кнопку <Далее>.

4. Добавьте уровень группировки по полю Фирма. Нажмите кнопку <Далее>.

5. Выберите сортировку по убыванию по полю ДатаПоставки (щелчок по кнопке <А↓Я>).

6. Нажмите кнопку <Итоги…> и закажите функции: – Sum для поля Количество;– Avg, min, max для поля Цена. – нажмите кнопку <ОК>, затем – <Далее>.

7. Выберите ступенчатый макет компоновки информации. Нажмите кнопку <Далее>.

8. Выберите стиль шрифтов для выделения разных групп информации. Нажмите кнопку <Далее>.

9. Оставьте предложенное название отчета: ПРОДУКТЫ и нажмите кнопку <Готово>. Посмотрите вид получившегося отчета, оформление концов страниц, расположение итогов под группами записей и в конце отчета. Отметьте, что неудобно в отчете, созданном мастером, для просмотра информации.

III. Ознакомление с бланком конструктора отчетов

В стандартных вариантах отчетов, как правило, приходится корректировать следующие элементы:

32

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

– размеры, форматирование и положение областей, отведенных под ту или иную информацию: их компоновка и оформление на странице не всегда удачны;

– иногда желательно дополнить имеющуюся информацию расчетными величинами и пояснительными текстами;

– иногда приходится применять дополнительную сортировку, так как порядок записей в отчете не всегда совпадает с тем, что предусмотрен в запросе.

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

Образец бланка отчета представлен на рис. 2. Содержание области Заголовок отчета выводится при печати только на первой, а области Примечание отчета – на последней странице. Обычно область заголовка используют для оформления титульного листа отчета или просто вводят в нее элемент Надпись с заголовком информации. В области Примечание отчета помещают элементы управления, рассчитывающие итоговые величины.

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

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

Самостоятельная работа.1. Откройте отчет ПРОДУКТЫ в режиме конструктора.2. Расположите окно панели Элементы управления так, чтобы все

кнопки были видны (например, под другими панелями).

33

3. Ознакомьтесь с расположением перечисленных выше областей бланка. Если для информации не хватает места по ширине, можно уменьшить размеры полей страницы или изменить ориентацию бумаги с помощью команды Файл Параметры страницы… В процессе дальнейшей корректировки старайтесь не изменять ширину бланка в целом. То, что не поместилось на стандартной ширине бумаги, допечатывается на следующем листе. Это предполагает в дальнейшем подклейку листов, что неудобно.

34

35

IV. Корректировка отчета ПРОДУКТЫ

Команды корректировки описаны в Приложении 2.

1. Откорректируйте заголовок отчета: измените текст ПРОДУКТЫ на ИТОГИ ЗАГОТОВКИ ПРОДУКТОВ и отформатируйте его по своему усмотрению (если отчет предполагается печатать на черно-белом принтере, то при форматировании цветовые решения не применяются).

2. Внесите изменения в макет области Заголовок группы КП:– перенесите надписи Продукт, Норма и Допуск из области

Верхний колонтитул в область Заголовок группы КП;– поместите эти надписи перед соответствующими элементами

поле;– выровняйте размеры элементов, параметры их шрифта,

расстояние между ними.3. Измените место и размеры для каждой колонки остальной

информации:– выделите элементы Фирма в зонах Верхний колонтитул и

Заголовок группы Фирма, переместите их к началу четвертой-пятой клетки строк, выровняйте их размеры, отформатируйте шрифты, закажите выравнивание по центру;

– таким же образом оформите другие столбцы отчета и расположите каждый из них рядом с предыдущим;

– перейдите в режим Предварительный просмотр (кнопка с лупой или команда Вид Предварительный просмотр);

– если нужно, подкорректируйте размеры полей снова.4. Удалите область Примечание группы Фирма: команда Вид

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

5. Измените оформление итогов в области Примечание группы КП:

– выделите все элементы в зоне Примечание группы КП и измените размер шрифта для всех элементов на 12;

– замените надписи итогов (левый столбец): “sum” на “Всего заготовлено по продукту:”, “avg” на “Средняя”, “min” на “Нижняя”, “max” на “Верхняя”. Увеличьте размеры элементов так, чтобы поясняющие тексты были видны полностью;

36

– расчетные поля (правый столбец) передвиньте к соответствующим надписям; распределите итоги по ценам с пояснениями в одной строке;

– в начало этой строки вставьте элемент Надпись с текстом “Цены:”,. Выровняйте высоту элементов и их положение командами Формат Размер…, Формат Выровнять…, Формат Интервал по горизонтали…);

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

– проанализируйте содержание элемента, начинающегося со слов ‘= “Итоги для” ‘. Если сможете, измените его так, чтобы он выдавал текст: ‘Всего по продукту такому-то столько-то договоров’ (название продукта и количество договоров должно вставляться автоматически), и передвиньте этот элемент в третью строку. Если не сможете сделать это, удалите этот элемент;

– вставьте под строками итогов элемент Линия. Вызовите для него окно свойств (щелчок правой кнопкой на нем Свойства). На вкладке Макет задайте параметр Ширина Границы 2 пункта;

– уберите лишнее пространство в области Примечание группы КП, подняв границу зоны Нижний колонтитул наверх.

11. Измените итог в Примечании отчета. Для этого:– надпись Итого: замените на “Всего израсходовано:”;– проверьте формулу в элементе Поле рядом с надписью. Она

должна иметь вид:

= Sum([Количество] * [Цена]).

Если это не так, введите формулу самостоятельно или с помощью Построителя выражений (см. п. VI-3 в лабораторной работе №3);

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

12. Самостоятельная работа . Откорректируйте все автоотчеты: сделайте понятными надписи, закажите удобное выравнивание, расположение элементов и т. п.

37

Лабораторная работа №5Составление простейших макросов

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

I. Создание макроса для перевода отчета ПРОДУКТЫ в Ms Word

1. В окне База Данных выберите Макросы Создать.7. В первой строке окна Макрос1: макрос в столбце

Макрокоманда откройте выпадающий список команд и выберите Открыть отчет. В нижней части бланка макроса выберите:

– Имя отчета – ПРОДУКТЫ;– Режим – просмотр;– Режим окна – обычное.8. Во второй строке окна Макрос1: макрос в столбце

Макрокоманда откройте выпадающий список команд и выберите ВывестиВФормате. В нижней части бланка макроса выберите:

– Тип объекта – отчет;– Имя объекта – ПРОДУКТЫ;– Формат вывода – Rich Text Format;– Имя файла – введите “ДоговорыПродуктWord.doc”;– Автозагрузка – Да.9. В третьей строке окна Макрос1: макрос в столбце

Макрокоманда откройте выпадающий список команд и выберите Закрыть. В нижней части бланка макроса выберите:

– Тип объекта – макрос;– Имя объекта – введите “ДОГОВОРЫ ПО ПРОДУКТАМ В

WORD”;– Сохранение – Подсказка.10. Закройте окно с текстом макроса. Подтвердите запрос о

сохранении и введите то же имя макроса: “ДОГОВОРЫ ПО ПРОДУКТАМ В WORD”.

38

11. Проверьте, как работает макрос, запустив его двойным щелчком или командой Макросы Запуск.

12. Введите какие-либо изменения в Word-файл, например: измените разбивку на страницы, выделите форматированием названия продуктов в заголовках групп, оформите заголовок отчета как титульный лист и т. п. Сохраните этот файл в папке своей группы.

13. Закройте окно отчета в программе Access.

II. Создание макроса для перевода запроса ИтогиПродукт в Ms Excel

1. В окне База Данных выберите Макросы Создать.2. В первой строке окна Макрос1: макрос в столбце

Макрокоманда откройте выпадающий список команд и выберите ВывестиВФормате. В нижней части бланка макроса выберите:

– Тип объекта – Запрос;– Имя объекта – ИтогиПродукт;– Формат вывода –Microsoft Excel (*.xls);– Имя файла – введите “ИтогиПродукт в Excel.xls”;– Автозагрузка – Да.

3. Во второй строке окна Макрос1: макрос в столбце Макрокоманда откройте выпадающий список команд и выберите Закрыть. В нижней части бланка макроса выберите:

– Тип объекта – макрос;– Имя объекта – введите “ИТОГИ ПО ПРОДУКТАМ В

WORD”;– Сохранение – Подсказка.

4. Закройте окно с текстом макроса. Подтвердите запрос о сохранении и введите то же имя макроса: “ИТОГИ ПО ПРОДУКТАМ В WORD”.

5. Проверьте, как работает макрос, запустив его двойным щелчком или командой Макросы Запуск.

6. Оформите информацию в Excel-файле как ведомость. Сохраните этот файл в папке своей группы.

III. Создание макроса для окончания сеанса работыс базой.

1. В окне База Данных выберите Макросы Создать.

39

2. В первой строке окна Макрос1: макрос в столбце Макрокоманда откройте выпадающий список команд и выберите Выход. В нижней части бланка макроса выберите Сохранить все.

3. Во второй строке окна Макрос1: макрос в столбце Макрокоманда откройте выпадающий список команд и выберите Закрыть. В нижней части бланка макроса: выберите:

– Тип объекта –макрос;– Имя объекта – введите “КОНЕЦ РАБОТЫ”;– Сохранение – выберите подсказка.

4. Закройте окно с текстом макроса. Подтвердите запрос о сохранении и введите имя макроса “КОНЕЦ РАБОТЫ”.

Лабораторная работа №6Разработка кнопочной формы

Кнопочная форма – это форма особого вида, которая создается для удобства вызова средств, созданных в базе данных. В этой форме названия вызываемых программ заменяются на понятные пользователю тексты и кнопки запуска этих программ группируются не по типам программ, как это делается в главном окне базы данных, а так, как это удобно пользователю, например, по типам вопросов, с которыми пользователь обращается к базе. В современных версиях Ms Access Кнопочная форма создается с помощью Диспетчера кнопочных форм.

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

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

В нашей работе можно выделить три темы:– вопросы о продуктах;– вопросы о поставщиках;– вопросы о договорах.

40

I. Самостоятельная работа

Для того, чтобы ответить на все вопросы, сформулированные в исходном задании, в базе должны быть созданы следующие средства:

– формы для просмотра каждой таблицы базы;– формы для просмотра запросов ГРАНИЦЫ ЗАПАСА,

ПРОДУКТОВ НЕДОСТАТОЧНО, НЕОПЛАЧЕННЫЕ ДОГОВОРЫ и ДОГОВОРЫ ПО МАСКЕ;

– формы в которых договоры сгруппированы по названиям продуктов и по названиям поставщиков: ПРОДУКТЫ ГЛАВНАЯ ПОДЧИНЕННАЯ, ДОГОВОРЫ ПОДЧИНЕННАЯ К ПРОДУКТАМ, ПОСТАВЩИКИ ГЛАВНАЯ СВЯЗАННАЯ, ДОГОВОРЫ СВЯЗАННАЯ С ПОСТАВЩИКАМИ;

– отчеты ПРОДУКТЫ, ГРАНИЦЫ ЗАПАСА, ДОГОВОРЫ НЕОПЛАЧЕННЫЕ;

– макросы, пересылающие информацию из базы в файлы Word и Excel, макрос для окончания сеанса работы с базой.

Если в Вашей базе не хватает каких-то средств, создайте их до перехода к разработке Кнопочной формы.

II. Начало создания Кнопочной формы

1. Откройте Диспетчер кнопочных форм. Он вызывается командой Сервис Служебные программы Диспетчер кнопочных форм. Если появляется окно с репликой о том, что Кнопочная форма не существует, надо выбрать ответ Создать.

2. В окне Диспетчера кнопочных форм введите названия страниц Кнопочной формы. Для этого:

– в окне Диспетчер кнопочных форм нажмите кнопку <Создать…>;

– в окне Создание введите название первой страницы: “Вопросы о продуктах…”;

– закройте окно Создание кнопкой <OK>;3. Самостоятельная работа. Аналогично предыдущему создайте

страницы Вопросы о поставщиках… и Вопросы о договорах… Если в процессе работы потребуется изменить что-то в уже введенных названиях, следует выделить нужный текст, нажать кнопку <Изменить…> и в появившемся окне Изменение страницы кнопочной формы заменить текст в поле Название кнопочной формы:.

41

III. Заполнение Главной кнопочной формы

1. В окне Диспетчер кнопочных форм выделите текст Главная Кнопочная форма (или Main Switchboard) и нажмите кнопку <Изменить…>.

2. В окне Изменение страницы кнопочной формы нажмите кнопку <Создать…>. Появится окно Изменение элемента кнопочной формы. В нем сделайте следующее:

– в поле Текст: введите “Вопросы о продуктах…”;– в поле Команда: выберите Перейти к кнопочной форме;– в поле Кнопочная форма: выберите Вопросы о продуктах….

3. Закройте окно Изменение элемента кнопочной формы.4. Самостоятельная работа . Аналогично предыдущему создайте

команды Вопросы о поставщиках… и Вопросы о договорах….5. Создайте команду Конец работы. Для этого:

– в окне Изменение страницы кнопочной формы нажмите кнопку <Создать…>. Появится окно Изменение элемента кнопочной формы. В нем сделайте следующее:

– в поле Текст: введите “Конец работы”;– в поле Команда: выберите Выполнить макрос;– в поле Макрос: выберите Конец работы.

6. Закройте окно Изменение элемента кнопочной формы.7. Закройте окно Изменение страницы кнопочной формы.

IV. Заполнение страницы кнопочной формы Вопросы о продуктах…

1. В окне Диспетчер кнопочных форм выделите текст Вопросы о продуктах… и нажмите кнопку <Изменить…>.

2. В окне Изменение страницы кнопочной формы нажмите кнопку <Создать…>. Появится окно Изменение элемента кнопочной формы. В нем сделайте следующее:

– в поле Текст: введите “Список продуктов”;– в поле Команда: выберите Открыть форму для изменения;– в поле Форма: выберите ПРОДУКТЫ ЛЕНТОЧНАЯ.

3. Закройте окно Изменение элемента кнопочной формы.2. Самостоятельная работа Аналогично предыдущему создайте

команды Нормы запасов и Продуктов недостаточно. В первой команде должна раскрываться форма ГРАНИЦЫ ЗАПАСА, во второй – ПРОДУКТОВ НЕДОСТАТОЧНО.

42

3. Самостоятельная работа Аналогично предыдущему создайте команды Договоры по продуктам (экран), Договоры по продуктам (печать), Договоры по продуктам (Word), Итоги по продуктам (Ex-cel). Для команды вывода на экран выберите Открыть форму для изменения и ПРОДУКТ ГЛАВНАЯ ПОДЧИНЕННАЯ. Для печати – Открыть отчет и ПРОДУКТЫ. Для вывода в Word и Excel – Выполнить макрос.

4. Создайте команду возвращения на главную страницу. Для этого:

– в поле Текст: введите “На Главную страницу…”;– в поле Команда: выберите Перейти к кнопочной форме;– в поле Кнопочная форма: выберите Главная кнопочная

форма (Switchboard).

V. Самостоятельная работа

1. Заполните страницы кнопочных форм Вопросы о поставщиках… и Вопросы о договорах… командами вызова соответствующих форм и отчетов.

2. Закройте все окна Диспетчера кнопочных форм.3. Перейдите на вкладку Формы и откройте Кнопочную форму.4. Закажите каждую из команд на каждой странице Кнопочной

формы.5. Закончите сеанс работы с базой через команду Конец работы в

Кнопочной форме.

VI. Настройка автоматического вывода Кнопочной формы на экран

1. Откройте базу.2. Выполните команду Сервис→ Параметры запуска… .3. В окне Параметры запуска в поле Вывод формы/страницы

выберите Кнопочная форма (Switchboard) и снимите флажок Окно базы данных.

4. Закройте окно Параметры запуска (кнопка <OK>) и базу.5. Снова откройте базу. Вывод. Кнопочная форма, удобная для

пользователя, автоматически появилась на экране, а рабочее окно базы, нужное для разработки новых приложений, теперь скрыто. Если в дальнейшем потребуется внести какие-то изменения в имеющиеся программы или создать новые, можно открыть окно базы данных кнопкой <Окно базы данных> на панели

43

инструментовРежим формы (кнопка справа от кнопки <Свойства>).

Лабораторная работа №7Возможности стандартного меню Access

Стандартное меню Access содержит ряд команд, которые позволяют при работе с готовой базой оперативно решать некоторые вопросы, не предусмотренные в командах Кнопочной формы. В этой лабораторной работе мы рассмотрим возможности сортировки и фильтрации информации по непредусмотренным заранее полям и перевод выдаваемых в Кнопочной форме данных в Word и Excel. Эти команды можно вызывать из панели инструментов или из контекстного меню. Ими можно пользоваться в таблицах, запросах и формах. Так как из кнопочной формы таблицы и запросы вызывают обычно через формы, рассмотрим только последний вариант.

I. Сортировка

1. В Кнопочной форме выберите команду Вопросы о продуктах… Договоры по продуктам (экран).

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

Нажмите в панели Режим формы кнопку сортировки по возрастанию, затем – по убыванию (кнопки с буквами A↓Я или Я↓A). Посмотрите, как меняется расположение записей о договорах.

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

II. Фильтрация с помощью контекстного меню

1. Откройте в Кнопочной форме команду Вопросы о продуктах… Договоры по продуктам (экран).

2. В окне подчиненной формы поставьте курсор в поле Фирма на элемент с нужной Вам фирмой.

3. В контекстном меню выберите команду Фильтр по выделенному. Посмотрите, какие записи остались на экране.

44

4. В контекстном меню выберите команду Удалить фильтр.5. Повторите фильтрацию с помощью команды Исключить

выделенное. Посмотрите, какие записи остались на экране в этом случае.

6. В контекстном меню выберите команду Удалить фильтр.7. В окне подчиненной формы поставьте курсор на любой элемент

в поле Дата поставки.8. В контекстном меню выберите команду Фильтр для:. В

текстовое поле этой команды введите какое-нибудь условие по датам, например, “>01.02” (Ваша дата должна быть выбрана из середины того диапазона дат, которые Вы вводили в таблицу ДОГОВОРЫ). Посмотрите, какие записи остались на экране.

9. В контекстном меню выберите команду Удалить фильтр.10. Самостоятельная работа. Наложите какие-нибудь

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

III. Фильтрация с помощью основного меню

1. В Кнопочной форме выберите команду Вопросы о продуктах… Договоры по продуктам (экран).

2. Выполните п.п.2–5 из задания II, используя команды основного меню Записи Фильтр Фильтр по выделенному, Записи Фильтр Исключить выделенное, Записи Удалить фильтр. Вывод. Эти команды предоставляют пользователю те же возможности, что и контекстное меню.

3. Закажите команду Записи Фильтр Изменить фильтр. На экране появился макет формы с пустыми полями.

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

45

5. Перейдите на вкладки <ИЛИ> в обоих окнах и повторите заказы для каких-нибудь других значений полей.

6. Выполните команду Записи Применить фильтр. Посмотрите записи, которые остались на экране. Вывод. Команда Записи Фильтр Изменить фильтр существенно расширяет набор условий, по которым можно отбирать записи, не прибегая к составлению специальных программ.

7. Самостоятельная работа . Найдите на панели Режим формы кнопки, выполняющие фильтрацию, и поупражняйтесь в их использовании.

IV. Перевод данных из базы Access в документы Microsoft Office

1. В Кнопочной форме выберите команду Вопросы о продуктах… Нормы запаса.

2. Выполните команду Сервис Связи с Office Анализ в Microsoft Office Excel. Отформатируйте средствами Excel полученный список. Сохраните Excel-файл в папке своей группы, добавив к имени свою фамилию.

3. На этой же странице Кнопочной формы выберите команду Договоры по продуктам (печать).

4. Выполните команду Сервис Связи с Office Публикация в Microsoft Office Word.

5. Внесите средствами Word изменения в Word-файл: передвиньте даты и номера страниц на нижнюю строку листа, преобразуйте списки договоров на каждый продукт в таблицу (команда Таблица Преобразовать в таблицу…), выделите цветом названия фирм. Сохраните Word-файл в папке своей группы, добавив к имени свою фамилию.

Вывод. В случае необходимости данные из базы Access легко переносятся в тот документ Microsoft Office, в котором пользователь привык работать. При передаче данных в Excel привычные названия полей не всегда сохраняются. При передаче данных в Word разлиновка таблиц пропадает.

46

ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОГО ПРОЕКТИРОВАНИЯ БАЗ

1. База «Успеваемость». Включить сведения об учебных курсах и семестрах, в которые они читаются, студентах, времени их поступления в институт, сроке сдачи и оценках по пройденным дисциплинам. Надо обеспечить ответы на следующие вопросы: какие дисциплины и с какими оценками сдал тот или иной студент, каков средний балл его успеваемости, какие дисциплины сданы до того или иного срока. Подготовить отчеты по успеваемости каждого студента за последний семестр, выдать список неуспевающих студентов.

2. База «Продовольственный магазин». Включить сведения о товарах, времени их поступления, сроке реализации, количестве поступившего и проданного каждый день товара. Надо обеспечить ответы на следующие вопросы: какое общее количество каждого товара осталось в магазине на сегодняшний день, для каких партий товаров срок реализации заканчивается через два дня, каков максимальный и минимальный спрос за день на каждый товар. Оформить эти сведения в виде экранной формы и отчета.

3. База «Кинофильмы». Включить сведения об актерах, фильмах, распределении ролей. Надо обеспечить ответы на следующие вопросы: какие роли исполнял тот или иной актер, какие актеры удовлетворяют требованиям на новую роль, какие фильмы были выпущены до той или иной даты, начиная с какой-то даты, кто самый «снимающийся» актер. Оформить в виде отчета подборку фильмов и ролей всех актеров с автоматическим подсчетом общего количества всех ролей каждого актера.

4. База «Предприятие». Включить сведения о сотрудниках, проектах, принятых к исполнению, их стоимости, распределении сотрудников по проектам. Надо обеспечить ответы на следующие вопросы: какие сотрудники заняты в том или ином проекте, для каких проектов срок завершения наступит через месяц, какова общая сумма завершенных и незавершенных проектов. Подготовить отчет по всем завершенным проектам с указанием суммы каждого и общей суммы всех этих проектов.

5. База «Клуб». Включить сведения о типах мероприятий, расписании их проведения, посещаемости прошедших. Надо обеспечить ответы на следующие вопросы: какие мероприятия назначены на сегодняшний день, когда проводились мероприятия

47

того или иного типа, какое мероприятие обеспечило максимальную посещаемость. Подготовить отчет по типам, количеству, средней посещаемости этих мероприятий.

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

7. База «Гостиница». Включить сведения о номерах, их типах и категориях, журнал размещения гостей, сведения о гостях. Обеспечить ответы на следующие вопросы: какие одноместные номера заданной категории свободны в данный момент, в какие двухместные номера можно подселить мужчину, женщину, в каких номерах проживают туристы заданной группы, какие гости выезжают завтра. Составить отчет, отражающий популярность номеров каждого типа и категории по общему количеству человеко-дней, приходящихся на них, выделив в нем отдельно занятость от индивидуальных гостей и членов туристических групп.

8. База «Больница». Включить сведения о врачах, их специализации, палатах, их специализации, больных, их диагнозах, журнал состояния больных и консультации их разными врачами. Обеспечить ответы на следующие вопросы: какие больные размещены в той или иной палате, каково состояние больного и какие консультации он получил, сколько больных закреплено за каждым врачом. Подготовить отчет, показывающий, сколько мест занято в каждой палате и сколько больных она может вместить по нормативу. Подготовить отчет по больным каждого врача с подсчетом общего количества его больных и общего количества больных в больнице.

9. База «Издательство». Включить сведения об изданиях, готовящихся к печати, авторах, переводчиках, художниках, их координаты, сроки и гонорары договоров с ними. Обеспечить ответы на следующие вопросы: кто занят в том или ином издании, какова общая сумма гонораров по нему, по каким договорам до срока окончания осталось меньше месяца, в скольких договорах срок окончания истек. Подготовить отчет по всем изданиям, сгруппировав

48

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

10. База «Поручения». Включить следующие сведения о производственных поручениях: содержание поручения, дата выдачи, нормативная и реальная даты исполнения, фамилия сотрудника, выдавшего поручение, фамилия исполнителя. Обеспечить ответы на следующие вопросы: какие поручения выдал тот или иной сотрудник, какие поручения исполняет тот или иной сотрудник, кто из сотрудников выполняет в данный момент меньше всего поручений, какие поручения выданы в тот или иной день, исполнение каких поручений просрочено. Подготовить к печати перечень и все сведения о поручениях, срок исполнения которых оканчивается сегодня, завтра, через неделю.

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

12. База «Туризм». Включить сведения о маршрутах (место, способ проживания, даты начала и окончания, вид транспорта, количество запланированных мероприятий, цена, количество путевок). Обеспечить ответы на следующие вопросы: какие маршруты используют или не используют тот или иной вид транспорта, ориентированы на заданное место, попадают в тот или иной временной интервал. Подготовить к печати перечень «горящих» путевок и описание всех маршрутов, систематизированное по месту назначения, датам начала и окончания, цене.

13. База «Услуги». Включить сведения об услугах, фирмах, которые их предоставляют, ценах, по которым они отпускаются в каждой фирме. Обеспечить ответы на следующие вопросы: какие фирмы предоставляют ту или иную услугу, среднюю, минимальную и максимальную цену на каждую услугу, сведения о фирмах, предоставляющих услугу за минимальную и максимальную цену, сколько фирм предоставляет ту или иную услугу. Подготовить к

49

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

14. База «Любимая ВИА-группа». Включить сведения о членах группы (возраст, телефон,с какого года в составе, функции в группе), выпущенных альбомах, концертах, месте их проведения. Обеспечить ответы на следующие вопросы: какие альбомы были выпущены за последние пять лет, в каких городах и на каких площадках проходили гастроли в заданном промежутке времени, сколько концертов было отработано на площадках заданного типа.

15. База «Любимая спортивная команда»: Включить сведения о членах команды (возраст, телефон,с какого года в составе, функции в команде), соревнованиях, в которых они принимали участие, спортивных наградах. Обеспечить ответы на следующие вопросы: в каких соревнованиях участвовал тот или иной спортсмен в заданном диапазоне времени, какие соревнования планируются на ближайший год, кто из команды участвовал в заданном соревновании. Отсортировать спортсменов по совокупному рейтингу наград каждого.

16. База «Мобильные телефоны»: Включить сведения о марках мобильных телефонов, фирме, их кратких характеристиках, пунктах продажи, ценах на тот или иной телефон в разных пунктах. Подготовить ответы на следующие вопросы: в каких пунктах можно купить телефон нужной марки, с нужными характеристиками или в заданном диапазоне цен. Сколько марок телефонов той или иной фирмы представлено в данный момент на рынке. Подготовить отчет, включающий марки телефонов, их характеристики, пункты их продаж и цены, сгруппировав сведения по маркам телефонов и отсортировав сведения в каждой группе по ценам.

ЛИТЕРАТУРА

1. Степанов А.Н. Информатика: Учебник для вузов. 5-е изд. – СПб: Питер. 2007. – 765 с.

2. Информатика для экономистов: Учебник/Под общ. Ред. В.М. Матюшка. – М.: ИНФРА-М, 2007. – 880 с. – (Учебники РУДН)

3. Гурвиц Г.А. Microsoft® Access 2007. Разработка приложений на реальном примере. – СПб: БХВ-Петербург, 2007. –672 с.

4. Гончаров А.Ю. Access 2007 Справочник с примерами. – М.: Кудиц-Пресс, 2008. – 296 с.

50

5. Сергеев А.А. Access 2007. Новые возможности. – СПб.:Питер, 2008, – 176 с.

6. Сенов А.С. – Access 2007. Учебный курс (+СD). СПб.: Питер, 2007, – 267 с.

7. http :// www . accessoft . ru / Lit / Lit 100. html 8. http :// www . look - by . info / index . php ? cap = access

ПРИЛОЖЕНИЕ 1

Основные термины

Курсивом в тексте определений выделены термины, включенные в это приложение.

Автоформа в столбец – выводит на экран записи по одной. Каждое поле занимает строку экрана. Названия полей образуют один столбец, значения – другой.Автоформа ленточная – размещает информацию по аналогии с таблицами: под каждую запись отводит одну строку экрана так, что можно просматривать содержание сразу нескольких записей. Названия полей выводятся только в верхней строке.Автоформа табличная – представляет информацию в виде неформатированной таблицы.Атрибут – любая характеристика тех объектов, сведения о которых хранятся в базе.Запись – строка таблицы, содержащая сведения об одном объекте таблицы.Запрос групповой – запрос, который группирует записи с одинаковыми значениями в указанных пользователем полях и для каждой группы выводит на экран заказанные пользователем итоги.Запрос на выборку – запрос, выводящий на экран временную таблицу с нужными пользователю сведениями из одной или нескольких таблиц, которые могут быть дополнены расчетными полями и упорядочены с помощью сортировки.Запрос – программа, выполняющая нужные пользователю манипуляции с информацией из таблиц.Ключ первичный (ключ таблицы) – одно или несколько полей, содержание которых однозначно определяет, о каком объекте идет речь в очередной записи.

51

Ключ простой – ключ таблицы, состоящий из одного поля.Ключ составной – ключ таблицы, состоящий из нескольких полей.Нормализация   – процесс построения оптимальной структуры таблиц и связей в реляционной базе данных. Оптимальной считается структура, в которой дублирование информации сведено к минимуму.Отчет – программа, подготавливающая информацию к печати.Панель элементов – строка кнопок для вставки элементов управления в форму/отчет.Поле – столбец таблицы, содержащий значения одного и того же атрибута для разных записей.Реляционная база данных – база, в которой данные организованы по реляционной модели, то есть представляются в виде совокупности таблиц, связанных между собою полями, содержащими значения одинаковых атрибутов.Связанная таблица – содержит поле, соответствующее атрибуту, введенному в другую таблицу.Сортировка – вывод записей на экран в таком порядке, при котором значения в указанных пользователем полях меняются либо по возрастанию, либо по убыванию.Структура таблицы – сведения о порядке расположения атрибутов в таблице, названиях соответствующих им полей, способе кодирования и представления на экране их значений.Схема данных – графическое изображение связей между полями разных таблиц, которые содержат одни и те же атрибуты.Таблица – исходное понятие реляционной модели данных. Таблица – это совокупность сведений об объектах, характеризующихся одними и теми же атрибутами и расположенных в следующем порядке: строка (запись) содержит сведения об одном объекте, столбец (поле) содержит значения одного и того же атрибута для разных объектов.Фильтр параметрический – указано поле для фильтрации и тип фильтра. Конкретные значения, которые надо использовать в фильтре, вводятся в момент открытия запроса.Фильтр по маске – применяется для текстовых полей. Указана только часть символов, входящих в нужное значение атрибута. Остальные символы заменены шаблонными: ”*” или “?”.Фильтр по совпадению – указано точное значение атрибута в нужных записях.

52

Фильтр по условию – указан диапазон значений атрибута в нужных записях.Фильтр – совокупность условий фильтрации.Фильтрация – вывод на экран только тех записей, в которых удовлетворяются заказанные пользователем условия.Форма подчиненная – выводит информацию по группам в два окна: в главное – значения, по которым создавалась группа, в подчиненное  – записи из этой группы. Место для подчиненного окна жестко фиксируется внутри главного окна на этапе создания формы, и во время ее просмотра изменять его с учетом размеров группы уже нельзя.Форма связанная – выводит информацию по группам в два окна: в главное – значения, по которым создавалась группа, в связанное  – записи из этой группы. Положение и размеры обоих окон можно менять во время просмотра информации так, чтобы получить максимальную комфортность при ее просмотреФорма – программа, которая размещает на экране нужную пользователю информацию в удобном для восприятия виде. Формы, созданные для просмотра таблиц, можно использовать также и для ввода новых или коррекции уже существующих записей.Элемент управления – составляющая формы или отчета, через которую выводится на экран или печать некоторая информация и создается удобный для пользователя интерфейс. Элементы управления вводятся в форму/отчет из панели элементов или через команду Вид Список полей в режиме конструктора.

ПРИЛОЖЕНИЕ 2

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

1. Выделение : – один элемент: щелчок внутри элемента;– выборочное выделение нескольких элементов: щелчки на

втором, третьем и т. д. элементе делают при нажатой клавише <Shift>;

– все элементы одной или нескольких строк (столбцов): щелчок или протяжка вдоль вертикальной или горизонтальной линеек на краях бланка;

53

– группа рядом стоящих элементов: протягивание мыши по тем элементам, которые надо выделить. Выделится все, что хотя бы частично задето мышью.

2. Перемещение :– строго горизонтально или вертикально крупными шагами:

клавишами перемещения курсора;– строго горизонтально или вертикально с шагом 1 пкс:

клавишами перемещения курсора при нажатом <Ctrl>;– в произвольном направлении: поместить курсор в виде

раскрытой ладони на границе любого из выделенных элементов и буксировать всю группу на нужное место.

3. Перемещение одного из выделенных элементов : поместить курсор в виде указательного пальца в верхнем левом углу нужного элемента (на маркере в виде большого квадрата) и буксировать его на нужное место.

4. Улучшение взаимного расположения элементов и выравнивание их размеров (только для группы выделенных элементов): команды меню Формат: Выровнять, Размер, Интервал по горизонтали, Интервал по вертикали.

5. Изменение размеров :– для крупных шагов изменения: клавишами перемещения

курсора при нажатом <Shift>;– для изменения с шагом 1 пкс: то же, но при дополнительно

нажатом <Ctrl>;– поместить курсор в виде двунаправленной стрелки на

мелком квадратном маркере на границе любого элемента и перетащить его так, как это делается во всех окнах Windows.

6. Изменение содержания :– сделать щелчок внутри выделенного элемента так, чтобы в

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

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

7. Форматирование :

54

– можно пользоваться всеми доступными кнопками на панели Форматирование;

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

8. Внесение нового элемента в бланк : сделать щелчок на кнопке нужного элемента в панели Элементы управления и затем – в нужной точке бланка. Перед элементом Поле автоматически вставляется присоединенный к нему элемент Надпись, поэтому при выборе места для Поля перед ним следует оставить три-четыре пустых клетки бланка.Удаление : нажать клавишу <Delete>. Если выделен элемент Поле, то вместе с ним удаляется и присоединенный к нему элемент Надпись.

55

СОДЕРЖАНИЕ

Стр.ВВЕДЕНИЕ………………………………………………………… 3

Условные обозначения………………………………………….. 3Структура баз.……………………………………………………. 4Разработка проекта базы.………………………………………... 5Пример проектирования таблиц для учебного задания……….. 6

ЗАДАНИЯ ДЛЯ ЛАБОРАТОРНЫХ РАБОТ……………………... 8Лабораторная №1. Создание таблиц в ACCESS………………. 8Лабораторная работа №2. Разработка запросов в режиме конструктора.…………………………………………………………

13

Лабораторная работа №3. Создание форм……………………... 21Лабораторная работа №4. Создание отчётов…………………... 30Лабораторная работа №5. Составление простейших макросов. 36Лабораторная работа №6. Разработка Кнопочной формы……..

38

Лабораторная работа №7. Возможности стандартного меню Access.……………………………………………………………..

42

ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОГО ПРОЕКТИРОВАНИЯ БАЗ……………………………………………………………………

44

ЛИТЕРАТУРА………………………………………………………. 48ПРИЛОЖЕНИЕ 1 49ПРИЛОЖЕНИЕ 2 52

56