Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Проектирование учебной БД.doc
Скачиваний:
26
Добавлен:
15.03.2015
Размер:
2.57 Mб
Скачать

Описание создания формы «Заказы»

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

Создание макета формы «Заказы»

Особенностью создания формы «Заказы» является то, что после запуска мастера построения форм необходимо выбрать внешний вид «В один столбец». Это позволяет разместить в форме данные одной записи. При создании макета формы в него необходимо включить поля «Код заказа», «Код клиента», «Дата заказа» и «Дата доставки» и переместить их в раздел заголовка формы, как указано на рисунке. При этом текст надписи к полю «Код заказа» лучше заменить на «Заказ N».

Поле «Код клиента» лучше заменить на поле со списком. Проще всего сначала удалить поле «Код клиента» (выделив его и нажав клавишу Del), а затем вставить «Поле со списком». В форме «Товар» мы уже вставляли поле со списком. И там был выбран вариант «Будет введен фиксированный набор значений». Теперь в поле со списком нужно выбирать имена клиентов, которые ранее были введены в таблицу «Клиенты». Причем строку таблицы «Заказ» должен попадать «Код заказа», а в экранной форме отражалось бы название организации клиента. Это возможно сделать, выбрав в первом появившемся окне мастера создания поля со списком вариант «Объект «поле со списком» будет использовать значения из таблицы или запроса». Окна дальнейшего диалога построения поля со списком показаны ниже.

После нажатия кнопки «Готово» в последнем окне в форму «Заказ» будет вставлено поле со списком и она примет следующий вид.

При закрытии формы СУБД сохранит ее с именем той таблицы, на которой она была создана, то есть «Заказ».

Внимание! Вставленное поле со списком будет иметь имя не «Код клиента», а другое, назначенное системой. В нашем случае «ПолеСоСписком8». Эта информация пригодится далее.Пака приостановим работу с формой «Заказ» и приступим к созданию формы «Спецификация».

Создание подчиненной формы «Спецификация»

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

Такая форма получается в результате следующих действий:

  • Создайте ленточную форму «Спецификация» для одноименной таблицы;

  • Упорядочите поля и надписи, предварительно убрав надпись «Код заказа» и скрыв одноименное поле;

  • Удалите поле «Код товара», создав вместо него поле со списком, как описано выше. Только в качестве таблицы выбора используйте таблицу «Товар», а выбранные поля: «Код товара» и «Наименование»;

  • В область данных введите несвязное поле, введя в свойство «Данные» выражение =[Количество]*(1+[Наценка]-[Скидка])*[Цена] . Это удобнее сделать воспользовавшись построителем выражений.

  • В область заголовка введите текстовое поле «Стоимость», соответствующее только что введенному полю с расчетом;

  • В примечание формы введите несвязное поле ( имя поля «Поле15»), введя в свойство «Данные» выражение =Sum([Количество]*(1+[Наценка]-[Скидка])*[Цена]). Не забывайте про построитель выражений. При его использовании возникает меньше ошибок. В этом поле будет рассчитываться сумма всего заказа. Поле лучше скрыть, задав в свойстве «Вывод на экран» значение «Нет». Это поле будет использовано для дальнейших построений. Запомните имя поля, которое создаст СУБД в вашем случае.

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

[Цена]=DLookup("[Цена]", "[Товар]", "[Код товара]=" & [Код товара]) Здесь полю «Цена» присваивается значение, возвращаемое функцией Dlookup , которая использует три параметра: имя поля с ценой, имя таблицы, условие отбора. Функция Dlookup выбирается из встроенных функций, предоставляемых построителем выражений в группе «По подмножеству». Условие представляет совой вычисляемое выражение, включающее текстовую константу и код товара из поля «Код товара». Если введенный код товара будет, например, равен 2, то выражение даст "[Код товара]=2", и в таком виде будет передано функции Dlookup для поиска.

После внесения всех изменений сохраните форму «Спецификация».