Внимание! задания 4 и 5 позволяют создать таблицы клиенты, услуги, исполнители и заказы.

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

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

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

Задание 4. Определите структуру таблицы «Клиенты» в окне конструктора, выполнив следующие операции:

1. Установите курсор в столбец «Имя поля» первой строки окна Конструктора таблиц. Введите имя столбца создаваемой таблицы НомерКлиента.

2. Переведите курсор в поле «Тип данных» той же строки. Из списка возможных типов выберите тип «Счетчик».

3. Щелкните по кнопке Ключевое поле панели инструментов Access, указывая, что данное поле будет первичным ключом таблицы (слева от имени поля появится значок ключа). По ключевому полю автоматически будет выполняться индексация. Все значения счетчика будут автоматически определяться Access и будут уникальными для таблицы.

Повторите шаги 1 и 2 для второй строки, указав имя поля «ФИО» и выбрав для него текстовый тип. Укажите, что максимальная длина поля должна быть равна 30, установив курсор в строчку «Размер поля» на вкладке «Общие» в разделе «Свойства поля» окна конструктора. Для данного поля можно указать маску ввода, которая позволит контролировать правильность ввода данных. Введенная с клавиатуры маска

L.L.L

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

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

Закройте окно Конструктора с помощью кнопки r, подтвердив сохранение внесенных изменений. При закрытии задайте имя таблицы — Клиенты.

Задание 5. Определите самостоятельно структуру таблицы «Услуги» (используются следующие типы полей: «КодУслуги» – счетчик (ключевое поле); «Наименование» – текстовое поле (длина до 20, обязательное поле, пустые строки не допускаются, совпадения не допускаются); «Стоимость» – числовое поле, целое, положительное (Условие на значение — 0), сообщение об ошибке – «Допустимы целые положительные значения»).

Определите структуру таблицы «Исполнители» («НомерИсполнителя» – счетчик, ключевое поле; «ФИО» задается аналогично соответствующему полю в таблице «Клиенты»).

Определите структуру таблицы «Заказы». Поле «НомерЗаказа» имеет тип «Счетчик» и является ключевым, поля «НомерКлиента», «КодУслуги» и «НомерИсполнителя» являются внешними ключами. Они соответствуют ключевым полям из связанных таблиц, поэтому необходимо выполнить индексацию по этим полям. Типы этих полей должны быть толькочисловыми и соответствовать типам полей в основных таблицах (числовые автоматические поля — счетчики). Так как связи между таблицами имеют тип «один-ко-многим», в данной таблице допускается совпадение значений в этих полях, они могут иметь только числовой тип (размер «Длинное целое»). Поля «ДатаПриема» и «ДатаИсполнения» являются обязательными, они имеют тип «Дата/время» и для них может быть определена маска «00/00/0000;0;_» (ее можно выбрать в диалоговом окне создания масок ввода, вызываемом щелчком по кнопке … в соответствующей строке – «Краткий формат даты»). Получится маска, показанная на рисунке.

Обязательное поле «Оплачен» имеет логический тип. Значение, принимаемое по умолчанию, для этого поля не задается.

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

Вопросы для самоконтроля:

4. Какие режимы создания таблиц используются в СУБД?

5. Назначение Конструктора таблиц.

6. Какие типы данных используются в БД? Как выбрать тип данных?

7. Что такое свойства поля? Как их задать?

8. Что такое Условие не значение? С помощью какого диалогового окна оно задается?

9. Как вызвать Построитель выражений? Как им пользоваться?

10. Что такое Маска ввода? Какие возможности она предоставляет пользователю и как ее задать?

11. Что такое ключ? Как определить ключевое поле (составное ключевое поле)7Как создать новую пустую базу данных?

Установка связей между таблицами и ввод данных в таблицы

4.2.1. Установка связей между таблицами

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

Для добавления таблицы БД в схему используется диалоговое окно «Добавление таблицы»,

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

Задание 1. Выполните команду Схема данных и добавьте в схему все таблицы, созданные в БД (для добавления таблицу или таблицы следует выделить и щелкнуть по кнопке Добавить). После того, как все таблицы будут включены в схему окно «Добавление таблицы» следует закрыть.

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

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

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

Задание 2. Создайте связь между таблицей «Клиенты» (главная таблица) и таблицей «Заказы» (подчиненная таблица). Для этого выполните следующие действия:

1. Установите курсор мыши на поле «НомерКлиента» в списке полей таблицы «Клиенты» в окне «Схема данных». Нажмите левую кнопку мыши и, удерживая кнопку нажатой, переместите курсор в окне, совместив перемещаемый значок с названием поля «НомерКлиента» в таблице «Заказы». Отпустите кнопку мыши.

2. В открывшемся диалоговом окне «Связи» проверьте информацию о создаваемой связи: таблица «Клиенты» (поле «НомерКлиента») связывается с таблицей «Заказы» (по полю «НомерКлиента»). Тип устанавливаемого отношения (связи) – «один-ко-многим». Если информация, отображаемая в окне, не соответствует тому, что показано на приведенном выше рисунке, следует исправить ошибку.

3. Включите флажок «Обеспечение целостности данных» и флажки «Каскадное обновление связанных полей» и «Каскадное удаление связанных полей».

4. Щелкните кнопку Создать, завершая выполнение операции.

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

Задание 3. Создайте связи между таблицами «Услуги» и «Заказы», «Исполнители» и «Заказы» по полям «КодУслуги» и «НомерИсполнителя» соответственно Закройте схему, подтвердив сохранение изменений.

Вопросы для самоконтроля:

1. Какие связи могут существовать между таблицами в СУБД?

2. Что обеспечивает создание связей?

3. Как разместить в схему данных все необходимые связываемые таблицы?

4. Как установить связь между таблицами?

5. Зачем выставляется флажок Обеспечение целостности данных?

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

4.2.2. Ввод данных в таблицы БД

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

Задание 4. Откройте таблицу «Услуги» (для этого можно дважды щелкнуть по значку таблицы в окне БД или выделить нужную таблицу и щелкнуть кнопку Открыть) и введите данные (перечень оказываемых услуг и их стоимость – см. рис.) в записи таблицы (значение поля «КодУслуги» Access определяет автоматически, присваивая при создании новой записи очередной номер). Закройте таблицу, сохранив изменения.

Задание 5. Введите в таблицу «Исполнители» список исполнителей заказов. Вводить нужно только данные (инициалы и фамилию) в поле ФИО. Например: «ооосипов» (в соответствии с маской будет введено «О.О.Осипов»), «кккукушкин» – «К.К.Кукушкин», «иогришина» – «И.О.Гришина. Значение счетчика определяется автоматически.

Фирма готова к работе: определен перечень оказываемых услуг и их исполнители – сотрудники фирмы!

Такой способ ввода данных оказывается неудобным для ввода данных в подчиненные таблицы (например, в таблицу «Заказы»), так как для ввода данных в нее нужно знать значения ключевых полей соответствующих записей из главных таблиц. Например: заказ относится к конкретному клиенту, следовательно, чтобы связать его с клиентом необходимо знать номер клиента, заказ делается на конкретную услугу, следовательно, нужно знать ее код, заказ поручается конкретному исполнителю, следовательно, нужно знать его номер. Реальные таблицы базы данных обычно достаточно большие и содержат десятки столбцов и сотни строк. Естественно, что такая таблица целиком не помещается на экране. Кроме того, в таких таблицах, как правило, заполняются или редактируются не все столбцы. Выполнять такие операции в большой таблице неудобно. Для удобства работы с данными в БД создаются формы.

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

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

Наиболее простой способ создания формы (диалогового окна для просмотра и редактирования информации, содержащейся в отдельной записи БД) – использование автоформ

(Автоформа: в столбец, Автоформа ленточная, автоформа: табличная). В этом случае форма для выбранной из списка таблицы создается автоматически по описанию таблицы (см. рис.).

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

Задание 6. Создайте в режиме «Автоформа: в столбец» формы для таблиц «Клиенты» и «Услуги». Для этого нужно выполнить следующие шаги:

1. В окне базы данных перейти на вкладку «Формы».

2. Щелкнуть кнопку Создать.

3. В диалоговом окне «Новая форма» выбрать режим «Автоформа: в столбец»

4. Выбрать из списка в качестве источника нужную таблицу.

5. Щелкнуть кнопку ОК.

6. Закрыть появившуюся форму с помощью кнопки r.

7. Подтвердить сохранение формы щелчком по кнопке Да в окне, открываемом Access.

8. Ввести имя формы в окне «Сохранение» и щелкнуть кнопку ОК.

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

Задание 7. Создайте форму для таблицы «Исполнители» (включите в нее все поля) с помощью Мастера создания форм. Для этого нужно выполнить команду создания формы и выбрать в окне «Новая форма» режим «Мастер форм». После выбора в качестве источника таблицы «Исполнители» и щелчка по кнопке ОК открывается диалоговое окно Мастера, далее нужно следовать его указаниям.

Вопросы для самоконтроля:

1. Что такое форма? Зачем она нужна?

2. Какие способы создания форм существуют в СУБД?

3. Когда целесообразно использовать Автоформу?

4. Как работает Мастер форм?

4.4. Создание сложных форм для работы с базой данных

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

Задание 1. Добавьте в форму «Исполнители» командные кнопки для выполнения операций удаления отображаемой в форме записи и поиска записей. Для этого нужно выполнить следующие действия:

1. На вкладке «Формы» окна БД выделите форму «Исполнители» и щелкните кнопку Конструктор.

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

3. На панели инструментов «Панель элементов» выбрать с помощью мыши элемент «Кнопка».

4. «Нарисовать» кнопку на форме с помощью мыши.

5. В открывшемся диалоговом окне «Создание кнопок» (см. рис. Ниже) выбрать категорию команды «Обработка записей», которая будет назначена кнопке, и выбрать конкретное действие «Удаление записи», которое будет выполняться по щелчку по кнопке, щелкните кнопку Далее.

6. В следующем диалоговом окне «оформите кнопку»: назначьте ей рисунок или введите текст («Удалить»), который будет отображаться на кнопке, и щелкните кнопку Готово.

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

Задание 2. Добавьте кнопки удаления и поиска в формы «Услуги» и «Клиенты».

Вопросы для самоконтроля:

1. Какие элементы управления можно разместить в форме?

2. Как разместить и оформить кнопку в форме?

4.5. Работа с данными с помощью формы

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

Задание 3. Добавление новых записей в таблицу.

Откройте построенную форму «Исполнители». Внесите в список исполнителей несколько новых записей (переход к новой записи выполняется щелчком по кнопке со значком 4h ): А.А.Андреев, А.А.Александров, М.К.Сергеев, А.П.Аркадьев, А.А.Антонов.

Переключитесь на первую запись и удалите ее из списка записей щелчком по внедренной в форму кнопке «Удалить».

Задание 4. Найдите в списке исполнителей исполнителя, инициалы которого ААА. Для этого следует:

1. Перейти к первой записи.

2. Установить курсор в поле ввода «ФИО».

3. Щелкнуть кнопку «Поиск».

4. В диалоговом окне Поиск в поле в качестве образца для поиска задайте инициалы и укажите условия: раскрывающийся список Просмотр – Все; раскрывающийся список Совпадение – С начала поля; выставьте флажок Только в текущем поле и щелкните кнопку «Найти».

5. Для поиска следующей записи, удовлетворяющей заданным условиям, нужно щелкнуть кнопку «Найти далее».

6. После завершения поиска закройте диалоговое окно команды поиска.

Задание 5. Отсортируйте записи в списке исполнителей, упорядочив по полю «ФИО» в алфавитном порядке. Для этого нужно установить курсор в поле ФИО и выполнить команду Сортировка по возрастанию на панели инструментов.

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

Задание 6. Скопируйте форму Клиенты, записав копию в БД под именем Данные о клиентах.

Вопросы для самоконтроля:

1. Как с помощью формы внести новую запись в таблицу?

2. Порядок поиска записи с помощью формы.

4.6. Создание сложных форм

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

Создание сложных форм рассмотрим на примере формы для работы с подчиненной таблицей Заказы. Для таблицы «Заказы» можно создать форму с помощью Мастера создания форми «доработать» ее с помощью Конструктора.

Задание 7. Создайте с помощью Мастераформу для таблицы «Заказы», включив в нее только поля «НомерЗаказа», «ДатаПриема» и «ДатаИсполнения». В последнем диалоговом окне установите переключатель «Изменение макета формы» (это приведет к переключению в режим Конструктора) и щелкните кнопку Готово.

В окне конструктора расширьте форму так, чтобы в ней можно было разместить новые элементы (переместите поле Примечание формы вниз с помощью мыши).

Измените надписи перед полями «НомерЗаказа», «ДатаПриема» и «ДатаИсполнения», установив курсор в надпись двойным щелчком и введя с клавиатуры строки «Номер заказа», «Дата приема» и «Дата исполнения» соответственно.

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

1) щелкните по полю, находящемуся за надписью «Дата приема» правой кнопкой мыши и в открывшемся контекстном меню выберите строку Свойства;

2) в диалоговом окне команды на вкладке «Данные» выберите строку «Значение по умолчанию» и щелчком по кнопке … вызовите Построитель выражений (см. рис.);

3) в окне программы-построителя раскройте щелчком по значку + папку «Функции» и двойным щелчком вложенную в нее папку «Встроенные функции»;

4) в списке категорий встроенных функций выберите категорию «Дата/время» и в перечне функций этой категории – функцию «Date», задающую текущую системную дату, установленную в компьютере;

5) вставьте эту функцию щелчком по кнопке Вставить в выражение, вычисляющее значение по умолчанию;

6) закройте построитель выражений (см. рис.);

7) в диалоговом окне свойств поля установите, что к полю нет доступа, и есть блокировка;

8) закройте окно.

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

1. Выберите на панели элементов управления элемент «Поле со списком». Разместите поле на форме с помощью мыши.

2. В открывшемся диалоговом окне установите переключатель «Поле со списком использует значения из таблицы или запроса» и щелкните кнопку Далее.

3. В следующем диалоговом окне установите в группе «Показать» переключатель «Таблицы» и выберите в открытом списке таблиц таблицу «Услуги». Щелкните кнопку Далее.

4. Выберите в очередном окне поля «КодУслуги» и «Наименование» таблицы «Услуги» для включения в форму и щелкните кнопку Далее.

5. В следующем окне установите флажок «Скрыть ключевой столбец» и щелкните кнопку Далее для перехода к очередному окну Мастера.

6. Установите переключатель «Сохранить в поле» и выберите из списка поле «КодУслуги» таблицы «Заказы». Щелчком по кнопке Далее перейдите в следующее окно.

7. Задайте имя «Услуга» и щелкните кнопку Готово.

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

Задание 9. Для включения поля Стоимость в форму заказа выполните следующие операции:

1. На Панели элементов выберите элемент Поле и введите поле в форму.

3. Щелкните по полю правой кнопкой мыши и в открывшемся контекстном меню выберите строку Свойства;

2. В диалоговом окне команды на вкладке «Данные» выберите строку «Данные» и щелчком по кнопке … вызовите Построитель выражений

3. Запишите формулу для определения стоимости (выбора из таблицы «Услуги» стоимости по коду услуги). Для этого нужно ввести выражение, содержащее, например, следующую функцию:

=DLookUp([Стоимость];Услуги;[Услуги]![КодУслуги] = [Forms]![Данные о клиентах]![Заказы]![КодУслуги])

(стоимость выбирается из поля «Стоимость» таблицы «Услуги», причем выбирается стоимость той услуги, код которой будет зафиксирован при оформлении заказа клиентом – см. рис. ниже).

4. Установите блокировку и отсутствие доступа в свойствах поля (стоимость нельзя менять при оформлении заказа).

Задание 10. Разместите самостоятельно на форме поле со списком для выбора исполнителя заказа.

Для отображения информации о том, оплачен ли заказ, на форме следует разместить Флажок.

Задание 11. Для размещения флажка выполните следующие операции:

1. Выбрать элемент управления «Флажок» на Панели элементов и с помощью мыши разместить его на форме.

2. Щелчком мыши установить текстовый курсор в поле подписи флажка и ввести подпись «Оплачено».

3. Щелчком правой кнопки мыши по флажку вызвать контекстное меню и выполнить в нем команду Свойства. На вкладке «Данные» диалогового окна свойств флажка выбрать строку «Данные» и в списке выбрать поле «Оплачен» (таким образом значение флажка связывается в полем таблицы «Заказы»). После ввода этой информации диалоговое окно нужно закрыть.

4. Закройте Конструктор и подтвердите сохранение внесенных в форму изменений.

5. Откройте форму Заказы для просмотра (рис.).

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

Задание 12. Создать реляционную форму путем внедрения формы «Заказы» в форму «Данные о клиентах». Для этого:

1. Выделите форму «Данные о клиентах» и щелкните кнопку Конструктор; перетяните значок формы «Заказы» в нижнюю часть формы «Данные о клиентах» (копия формы «Клиенты») на свободное место;

2. Отформатируйте элементы формы так, чтобы все они размещались на ней, и закройте конструктор.

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

Задание 13. Введите с помощью формы Данные о клиентах данные о нескольких заказчиках и «оформите» заказы для них, используя ранее введенную информацию из таблиц «Услуги» и «Исполнители».

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

Вопросы для самоконтроля:

1. Как в форму вставить текущую дату или формулу?

2. Как вставить в форму раскрывающийся список и флажок?

3. Как создать реляционную форму из нескольких форм?

Задание для самостоятельной работы:

1. Ответить на все вопросы для самоконтроля.

2. Изучить структуру электронного справочника Access 2000, ознакомиться с разделом справочника Формы.

4.7. Работа с запросами и отчетами

4.7.1. Создание и фильтрация запросов

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

Задание 1. Создайте запрос, выполнив следующие операции:

1. В окне БД переключиться на вкладку «Запросы».

2. Щелкнуть кнопку Создать.

3. В диалоговом окне «Новый запрос» выбрать тип запроса (выберем наиболее простой вариант – «Простой запрос») и щелкнуть кнопку ОК.

4. В списке «Таблицы/Запросы» выберите строку «Таблица: Заказы». С помощью кнопкивыберите из списка доступных в таблице полей поля «НомерЗаказа», «ДатаПриема», «ДатаИсполнения» и «Оплачен» для включения их в запрос.

5. В списке «Таблицы/Запросы» выберите строку «Таблица: Клиенты». С помощью кнопкивыберите из списка доступных в таблице полей поле «ФИО» для включения их в запрос.

6. В списке «Таблицы/Запросы» выберите строку «Таблица: Услуги». С помощью кнопкивыберите из списка доступных в таблице полей поля «Наименование» и «Стоимость» для включения их в запрос.

7. Щелкните кнопку Далее.

8. В следующем диалоговом окне установите переключатель «Подробный…» и щелкните кнопку Далее.

9. Задайте имя запроса «Оплата заказов», установите переключатель «Открытие результатов…» и щелкните кнопку Готово.

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

Задание 2. С помощью фильтра выведите информацию только об оплаченных заказах. Для этого необходимо:

1. Выполнить команду Записи4 Фильтр 4 Изменить фильтр.

2. Установить с помощью мыши флажок в поле «Оплачен».

3. Выполнить команду Записи4 Применить фильтр.

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

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

Вопросы для самоконтроля:

1. Как создать запрос к БД?

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

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

Для вывода результатов выполнения запроса можно использовать отчеты.

Задание 3. Для создания отчета выполните следующие действия:

1. Переключитесь на вкладку «Отчеты» диалогового окна базы данных заказов.

2. Щелкните кнопку «Создать».

3. В диалоговом окне «Новый отчет» выберите строку «Автоотчет: ленточный», а в качестве источника – запрос «Оплата заказов».

4. Щелкните кнопку ОК и сохраните созданный отчет под именем «Оплата заказов».

Обычно отчет создается с помощью Мастера отчетов или Автоотчета. Если отчет, предоставленный компьютером, пользователя не устраивает, то такой отчет можно доработать с помощью Конструктора.

Задание 4. Внесите в отчет итоговые данные по оплаченным и неоплаченным заказам. Для модификации отчета выполните следующие шаги:

1. Выделите значок отчета и щелкните кнопку Конструктор.

2. В окне конструктора щелкните правой кнопкой мыши по вертикальной линейке (слева) и в контекстном меню выберите команду «Сортировка и группировка».

3. В диалоговом окне команды выберите в столбце (списке) «Поле/выражение» поле «ФИО» и выберите порядок группировки «По возрастанию».

4. В свойствах группы «включите» заголовок и примечание, установив в соответствующих строках значение «Да».

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

5. Закройте диалоговое окно.

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

7. На панели элементов выберите элемент «Поле» и разместите его ниже полосы «Примечание группы ФИО».

8. Измените текст надписи (подписи) к полю, введя строку «Всего заказов».

9. Правой кнопкой мыши щелкните по самому полю и выберите в контекстном меню строку «Свойства».

10. В диалоговом окне свойств поля выберите вкладку «Данные» и в строке «Данные» щелкните кнопку … для вызова построителя выражений.

11. Двойным щелчком по значку + раскройте папку «Функции» и вложенную в нее папку «Встроенные функции».

12. Выберите в расположенном справа окне категорию функций «Статистические» и в данной категории выберите функцию Count, вставьте ее в выражение двойным щелчком или щелчком по кнопке «Вставить» после выбора (в окне построителя выражений должно появиться выражение = Count («expr»)).

13. Выражение в скобках нужно заменить на название поля, количество которых будет подсчитываться. Для этого дважды щелкните мышью по строке «expr» (она будет выделена) и раскройте в расположенном ниже окне папку «Оплата заказов». Для отчета с таким именем в окне справа будут выведены все включенные в него элементы. Найдите элемент «Стоимость» и дважды щелкните по нему. Построитель выражений сформирует строку «=Count([Стоимость])».

14. Закройте окно построителя выражений.

15. Закройте диалоговое окно свойств поля.

16. Аналогичным образом разместите рядом вычисляемое поле «Общая стоимость», задав для вычисления данных выражение «=Sum([Стоимость])» (его можно ввести с клавиатуры или построить с помощью построителя выражений).

17. Закройте окно конструктора отчетов.

Итоговые данные по группе (по каждому клиенту) внесены в отчет. Просмотрите его с помощью соответствующей кнопки.

Задание 5. Внесте в отчет итоговые данные по всем заказам. Для этого снова откройте конструктор отчетов и выполните следующие шаги:

1. Расширьте в окне конструктора область примечания отчета.

2. Выделите в области примечания группы «ФИО» размещенные в этой области вычисляемые поля и скопируйте их с помощью команды копировать.

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

4. Переименуйте первое поле, введя в надпись строку «Итого заказов» вместо «Всего заказов».

5. Разместите новое поле, присвоив ему имя «Оплачено» и задав для вычисления данных выражение

=DSum([Стоимость];[Оплата заказов];[Оплата заказов]![Оплачен])

(суммируется стоимость оплаченных заказов, данные для суммирования выбираются из поля «Стоимость» отчета «Оплата заказов» по полю «Оплачен»).

6. Скопируйте это поле и вставьте его ниже, изменив надпись на «Не оплачено» и выражение для вычисления значения соответственно на

=DSum([Стоимость];[Оплата заказов]; not [Оплата заказов]![Оплачен])

Отчет готов. Его можно дополнительно отформатировать, просмотреть и выполнить для обработки в Word или Excel с помощью команды Связь с Officeиз меню Сервис. Файл отчета в Word прилагается.

Вопросы для самоконтроля:

1. Как создать и оформить отчет с помощью Мастера отчетов?

2. Зачем используется команда Сортировка и группировка?

3. Как и зачем используются в отчетах встроенные функции?

4. Составьте запрос и отчет по заказам, выполненным конкретным исполнителем.

Задание для самостоятельной работы:

3. Ответить на все вопросы для самоконтроля.

4. Изучить структуру электронного справочника Access 2000, ознакомиться с разделом справочника Запросы и Отчеты

5. Разработка приложений для информационных систем

5.1. Приложения на основе текстового процессора Word

Документы Word могут быть основанием для разработки приложений к базам данных. Связывание документов с базой данных осуществляется при помощи механизма «Слияние». Для настройки документов- приложений используются поля и макросы. Ниже приведены сведения, необходимые для создания приложений в Word.

5.1.1. Основные средства разработки приложений

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

5.1.2. Использование полей

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

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

Над полями выполняется четыре операции:

— вставка поля в документ с помощью диалогового окна Поле (команда Вставка, Поле…) или с помощью специальной команды для соответствующего типа поля (номеров страниц, даты и времени и т.п.));

— обновление поля (информации, вычисляемой полем) осуществляется командой Обновить поле, выполняемой в контекстном меню, вызываемом щелчком правой кнопки мыши по полю;

— просмотр полей (значения и коды можно просмотреть, установив указатель мыши на поле и выполнив в его контекстном меню команду Коды/значения полей);

— переход к следующему полю можно выполнить, нажав клавишу F11, а к предыдущему — Shift+F11.

5.2. Слияние документов

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

Для создания большого тиража какого-либо документа (письма, распоряжения, приказа и т.д.), все экземпляры которого отличаются только несколькими словами, можно использовать команду слияния, которая позволяет создать множество экземпляров документа на основе одного подготовленного «образца».

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

— основной документ, являющийся «образцом», «макетом», с которого «печатается тираж»;

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

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

Источником данных может служить таблица, содержащаяся в документе Word, или внешняя база данных.

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

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

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

Рис. Действие команды слияния

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

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

5.3. Разработка и использование макросов

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

Создание макроса состоит из нескольких шагов:

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

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

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

Записанный макрос можно выполнить несколькими способами:

— с помощью размещенной на панели инструментов кнопки;

— с помощью команды меню;

— с помощью назначенной комбинации клавиш;

— с помощью команды Макрос, Макросы… меню Сервис (в диалоговом окне команды можно просмотреть список созданных макросов и выполнить выбранный из списка макрос с помощью соответствующей командной кнопки).

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

5.4. Создание серии документов с помощью операции слияния

Рассмотрим процесс слияния на примере создания серии справок. Для подготовки к печати большого тиража документов можно использовать специальное средство — Мастер слияния.

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

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

Рис. 62. Окно программы Word после запуска Мастера слияния

Прежде всего, Мастер задач предложит вам выбрать тип создаваемого документа: Письма, Электронное сообщение, Конверты, Наклейка, Каталог.

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

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

— использовать текущий документ;

— создать на основе шаблона;

— создать на основе существующего документа.

Если в качестве основного используется текущий документ, то просто введите в него нужный текст. Кроме текста основной документ может содержать картинки, границы, цвета, заливки, таблицы и т.д. Если текущий документ вас не устраивает, можно воспользоваться шаблоном. В Word встроено 10 шаблонов слияния (Изысканное составное письмо, Изысканный составной факс, Изысканный список адресов, Простое составное письмо, Современное составное письмо и т.д.), которые можно отредактировать, чтобы

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

В разделе Выбор документов выберите Текущий документ и введите в качестве основного документа текст справки:

Справка №

Дана

в том, что он(а) повысил(а) квалификацию в центре профессиональной переподготовки, пройдя курс в объеме 72 часов.

Директор центра Петров П.П.

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

Таблица 11. Источник данных

Номер Фамилия Имя Отчество
Иванову Ивану Ивановичу
Кузнецовой Ирине Эдуардовне
Яснову Дмитрию Ивановичу

Выберите вставку Далее. В разделе Выбор получателей выберите пункт Создание списка и щелкните на ссылке Создать.

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

— Чтобы добавить новое поле, щелкните на кнопке Добавить. Введите название поля в диалоговом окне Добавить поле и нажмите кнопку ОК.

— Чтобы удалить поле и содержащуюся в нем информацию, выделите поле, нажмите кнопку Удалить и подтвердите удаление в появившемся диалоговом окне.

— Чтобы изменить название поля, выделите его и нажмите кнопку Переименовать. Введите новое название и нажмите кнопку ОК.

— Чтобы переместить поле в списке, выделите его и используйте кнопки Вверх или Вниз.

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

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

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

В диалоговом окне Получатели слияния нажмите кнопку ОК для возвращения к работе с Мастером слияния.

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

Щелкните на ссылке Далее.

Мастер слияния представит список ссылок на поля слияния, которые можно вставить в документ:

1. Блок адреса отображает на экране диалоговое окно Вставка блока адреса, где можно выбрать формат имени и адреса получателя;

2. Строка приветствия отражает на экране одноименное диалоговое окно, позволяющее выбрать тип приветствия и формат имени;

3. Почтовая марка отражает на экране диалоговое окно Вставка почтовой марки, в котором можно выбрать место расположения электронной почтовой марки;

4. Другие элементывыводит на экран диалоговое окно Добавление поля слияния, позволяющее добавить к документу дополнительные поля.

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

1. Расположите текстовый курсор в том месте документа, в которое нужно вставить поле (например, после слов Справка №).

2. Щелкните на ссылке Другие элементы. Изучите содержимое появившегося диалогового окна Добавление полей слияния

3. Установите флажок Поля базы данных.

4. Щелкните на нужном поле (например, Номер) и нажмите кнопку Вставка. Закройте окно Добавление полей слияния.

5. Повторите пункты 1, 3 и 4 для вставки остальных полей (Фамилия, Имя Отчество).

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

В основном документе появится поля: «Номер», «Фамилия», «Имя», Отчество».

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

Таблица 12. Поля для слияния

Поле Описание Параметры
Ask Добавление диалогового окна, запрашивающего дополнительную информацию в процессе слияния Можно воспользоваться уже существующей закладкой или создать новую для пометки места расположения поля
Fill-ln Обращение к пользователю за дополнительной информацией Можно выбрать между появлением запроса на каждую запись слияния или только один раз, в самом начале слияния
If..Then..Else Создание условия, в котором предполагается вставка различных фраз при выполнении или невыполнении этого условия Существует возможность управления как сравнительными полями, так и уровнем сравнения.
Merge Record # Добавление нумерации текущей записи к документу Диалоговое окно отсутствует; нужно расположить текстовый курсор в том месте документа. Где должен находиться номер
и другие…

Более подробно с полями Word можно познакомиться в [1].

Для того, чтобы решить задачу правильной записи окончаний надо в источник данных добавить новую колонку (Пол) и заполнить ее данными (он, она), а в основной документ вставить новое поле Пол вместо фрагмента «он(а)» и удалить окончание «(а)» у глагола «повысил».

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

В основном документе вставьте поле Пол вместо фрагмента «он(а)».

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

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

1. Установить точку вставки сразу за словом «повысил», удалив фрагмент (а).

2. На панели инструментов Слияние раскройте список Добавить полеWord.

3. Выберите поле If..Then…Else. В открывшемся диалоговом окне а разделе Если выберите из списка поле Пол, из списка Оператор вариант Равно, а в поле ввода Значение введите вариант — она.

4. В поле ввода Вставить следующий текст впишите окончание – а, поле В противном случае вставить следующий текст – оставьте пустым. Закройте диалоговое окно условия, нажав кнопку ОК.

5. Сохраните полученный документ в своей папке под именем Основной документ.

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

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

Просмотрите все созданные программой справки.

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

Если после этого все же потребуется включить получателя обратно в список, щелкните на ссылке Изменить список, чтобы вывести на экран диалоговое окно Получатели слияния. Найдите в списке вычеркнутого получателя и установите напротив его имени флажок. Щелкните на кнопке ОК, чтобы закрыть диалоговое окно.

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

Статьи к прочтению:

5. Создание таблицы \


Похожие статьи: