
МетодичкаРГР
.pdf
Рис. 12. Создание запроса действия
Следующий запрос (Рис. 13) «зпДобавитьПринято» добавляет в таблицу «При-
нято» запись, соответствующую накладной на принятый товар. Данные для добав-
ления берутся в форме «фрмТовары».
Рис. 13. Запрос на добавление
Запрос «зпДобавитьКоличество» (Рис. 14) увеличивает значение поля «Количе-
ство» в таблице «Товары» на величину количества принятого по накладной товара.
21

Рис. 14. Запрос на обновление
ФОРМЫ
ПРОСТЫЕ ФОРМЫ
Простые формы предназначены для более удобного ввода и просмотра данных.
В качестве источника записей может выступать таблица или запрос. Для создания простой формы нужно перейти на вкладку «Формы» и выбрать инструмент «Со-
здать». Откроется окно диалога (Рис. 15).
Далее следует выбрать режим конструктора и задать источник записей. Источ-
ником записей может быть таблица, сохраненный запрос или запрос в виде ин-
струкции SQL. Если форма не имеет источника записей, она становится свободной.
Свободные формы используют для расположения в них элементов управления (ча-
ще кнопок), поэтому их еще называют кнопочными.
22

Рис. 15. Окно диалога при создании формы
Рис. 16. Форма в режиме конструктора
Рис. 17. Список полей
Простая форма кроме режима конструктора (Рис. 16) при работе с ней может иметь режимы форма, таблицы или ленточной формы. Режим задается в окне свойств формы на вкладке «Макет».
Форма может содержать свободные или связанные поля. Связанное поле пред-
ставляет данные из источника записей. Для создания такого поля его нужно просто
23

перетащить мышкой из списка полей (Рис. 17). Вместе с полем в форме автомати-
чески создается надпись. Используя окно свойств можно изменить свойства поля.
Свободное поле в форме создается, как и все элементы управления.
ЭЛЕМЕНТЫ УПРАВЛЕНИЯ В ФОРМЕ
Основные элементы управления в форме – это надписи, поля, рамки, списки,
выключатели, переключатели, флажки, поля со списками, списки, кнопки, рисунки,
подчиненная форма (отчет). Все они расположены на панели элементов (Рис. 18).
Рис. 18. Панель элементов
Для создания элементов управления в форме необходимо выбрать мышкой на панели элементов нужный элемент управления и так же мышкой нарисовать его контуры на форме в режиме конструктора. Если не отключен мастер элементов управления, то появится окно диалога. Например, при создании кнопки будет пред-
ложен выбор категории и действия (Рис. 19), после чего, если, например, выбран просмотр отчета, останется выбрать имя отчета и надпись или рисунок на кнопке.
Списки и поля со списками (Рис. 20) позволяют выбирать одну из нескольких строк данных. Источниками этих строк могут быть таблицы или фиксированный набор значений. Если источником строк служит таблица, то обязательно нужно ис-
пользовать ключевое поле, так как при использовании выбранного значения в каче-
стве условия отбора сравниваться будут ключевые поля. Ключевое поле можно скрыть, тогда в списке будет показано поле, следующее за ключевым. Но даже в этом случае выбор строки в списке будет означать выбор ключевого поля. Все эти параметры задаются в режиме диалога при создании списка.
24

Рис. 19. Окно диалога при создании кнопок
Рис. 20. Поле со списком
Элементы управления могут использоваться для открывания других объектов базы данных, задания условий отбора для запросов, ввода данных, вычисления зна-
чений выражений, запуска программ.
ПОДЧИНЕННЫЕ ФОРМЫ
Часто появляется необходимость просмотреть не только содержание записи из источника записей со стороны «один», что позволяет сделать простая форма, но и соответствующие ей записи из источника записей со стороны «многие». Например,
данные о заказе будут в текущей записи со стороны «один», а заказанные в нем то-
вары в другой форме со стороны «многие». Форма со стороны «один» называется главной, а со стороны «многие» - подчиненной. Главная форма может быть пред-
25

ставлена только в режиме формы. В отличие от главной, подчиненная форма может
иметь любой режим (Рис. 21, рис. 22).
Рис. 21. Форма, содержащая подчиненную форму
Рис. 22. Форма, содержащая подчиненную форму в режиме конструктора
Прядок создания подчиненной формы следующий:
26

сначала создайте форму, имеющую источник записей со стороны «мно-
гие», в примере это форма «пфЗаказано». Режим по умолчанию для этой формы сделаете «таблица». В этой форме обязательно должно быть одно или несколько полей для связи с главной формой, называемых подчинен-
ными полями. Подчиненная форма будет показывать только те записи,
значения подчиненных полей которых совпадают со значениями связан-
ных с ними полей главной формы, называемыми основными;
затем создайте главную форму, имеющую источник записей со стороны
«один». В примере это «фрмЗаказы». В режиме конструктора используйте инструмент «Подчиненная форма/Отчет». Нарисуйте мышкой контуры подчиненной формы на главной форме и ответьте на вопросы диалога. На предложение создать связь между формами выберите «самостоятельное определение» и задайте основные и подчиненные поля (Рис. 23). Подчи-
ненная форма готова.
Рис. 23. Задание основных и подчиненных полей
ВЫРАЖЕНИЯ
Выражения используются для получения результата с использованием значений объявленных констант, переменных, встроенных функций, функций пользователя и значений полей в форме или отчете. Выражения используются в полях формы или в запросах. Они могут быть логическими, арифметическими или текстовыми. Резуль-
татом логического выражения всегда будет «истина» или «ложь», арифметического
- число (дата это тоже число), а результатом текстового выражения – цепочка сим-
волов (пробел это тоже символ).
27
Выражение можно вводить непосредственно с клавиатуры, но это удобнее де-
лать с использованием построителя выражений (Рис. 10). Окно построителя выра-
жений позволяет автоматически вставлять в конструируемое выражение ссылки на поля, функции, константы, операнды. Если поле, содержащее выражение, находит-
ся в области данных формы или отчета, то это выражение может использовать ссылки только на поля формы или отчета из текущей записи. Напротив, выражение,
содержащееся в поле, расположенном в области примечаний, может использовать значения указанного поля во всех записях. Это делает возможным использование агрегатных функций (Sum(), Count(), Avg(), Min(), Max() и других), аргументом ко-
торых будет имя поля и обрабатывать они будут все записи из источника записей указанного поля. Например, нам нужно в главной форме показать значение суммы стоимостей заказанных товаров (Рис. 21). Проблема в том, что суммируемые значе-
ния находятся в подчиненной форме. Поэтому в подчиненной форме в области примечаний следует создать свободное поле с выражением “=Sum([Стоимость])” (Рис. 24). Заметим, что поле «Стоимость» в запросе «зпЗаказано» так же содержит выражение “=[Цена]*[Количество]”. Но для подчиненной формы у нас режим по умолчанию определен «Таблица», а в этом режиме примечания не показываются.
Поэтому поля с именем «плИтого» (Поле7 на рисунке – это только надпись) при просмотре мы не увидим, но это не значит что его нет. Для того чтобы увидеть нужное значение, в главной форме создаем свободное поле с именем «Поле12», со-
держащее выражение =[пфЗаказано].[Form]![плИтого]. Это выражение создано при помощи построителя выражений и ссылается на значение поля «плИтого» в подчи-
ненной форме «пфЗаказано» (Рис. 22).
28

Рис. 24. Поле с итоговым значением в подчиненной форме
29

РАЗРАБОТКА БАЗЫ ДАННЫХ
В этом разделе приведены примеры решения конкретных задач в БД с использо-
ванием описанных в предыдущем разделе инструментов. Целиком рассматривае-
мый пример базы данных можно скачать с домашней страницы курса WebCT «Ин-
форматика. СУБД», используя инструмент «Пример РГР».
ПРЕДМЕТНАЯ ОБЛАСТЬ БАЗЫ ДАННЫХ
Предметная область базы данных представляет собой предприятие розничной торговли, имеющее склад, несколько специализированных отделов, персонал, рабо-
тающий в этих отделах, работающее с ограниченным количеством поставщиков. У
каждого поставщика свой ассортимент поставляемых товаров. Склад ведет учет то-
варов, принимает товары от поставщиков, отпускает товары в отделы для реализа-
ции по заявкам заведующих отделами.
ЦЕЛЬ И ЗАДАЧИ РАБОТЫ
Цель работы – разработка элементов базы данных для склада предприятия роз-
ничной торговли, обеспечивающей хранение и автоматизированную обработку ин-
формации о складских операциях.
Разрабатываемая база данных должна решать следующие задачи:
Работа с товарами на складе (просмотр данных о товарах на складе, возмож-
ность отбора товаров одного поставщика, возможность добавления новых товаров в ассортимент, прием товаров на слад);
Работа с поставщиками (просмотр данных о поставщиках, добавление постав-
щиков, просмотр поставляемых выбранным поставщиком товаров);
Автоматизация оформления отпуска товаров со склада (просмотр и оформление заказов);
Работа с сотрудниками (просмотр данных о сотрудниках, добавление сотрудни-
ков).