Усовершенствование формы Заказы.
В первую очередь в форму Заказы следует ввести кнопку Печать заказа,по которой будет выводиться на бумагу копия текущего заказа.
Для быстрого ввода новых клиентов и товаров, которых еще нет в базе данных, удобно иметь на форме кнопки Новый клиенти Новый товар.Это даст возможность вызывать соответствующие формы и вводить данные о новых клиентах и товарах, не выходя из формы Заказы.
При закрытии форм Клиенты и Товары, списки клиентов (товаров) в форме Заказы не будут обновляться, если она в этот момент открыта. Поэтому при каждом включении формы Заказы следует делать ее обновление: свойству Включение формы Заказы надо присвоить макрос ее обновления. Одновременно этот же макрос должен закрывать формы Клиенты и Товары на случай, если пользователь забыл их закрыть и перешел в форму Заказы.
Выполните эти усовершенствования в следующей последовательности:
1. Вначале создайте макросы для этих трех кнопок.
Первые два макроса используют макрокоманду ОткрытьФорму.Как видно, первый макрос открывает форму Клиенты, второй — Товары.
Третий макрос использует макрокоманду ОткрытьОтчетс соответствующими аргументами: открывается отчет Заказы (который еще предстоит создать) в режиме предварительного просмотра на экране, условие отбора [КодЗаказа]=[Forms]![Заказы]![КодЗаказа] предписывает распечатать конкретно текущий заказ. Здесь сравниваются коды заказов: код заказа [КодЗаказа] в отчете икод заказа [Forms]![Заказы]![КодЗаказа] в форме Заказы, из которой печатается отчет Заказы.
2.Вставьте три кнопки в раздел Примечания формы Заказы, введите названия кнопок (закладка Макетокна Свойства,свойство Подпись).Далее припишите кнопкам (закладка Событияокна Свойства,свойство Нажатие кнопки)созданные макросы — Заказы. Клиенты, Заказы.Товары, Заказы.ПечатьЗаказа.
3. Закройте форму и проверьте работу кнопок. Кнопки Новый Клиенти Новый Товардолжны вызывать соответствующие формы. Нажатие кнопки Печать заказабудет вызывать ошибку, поскольку отчет Заказы нами еще не создан.
Смысл задуманного при вводе нового клиента (товара) пока не достигнут: при открытой форме Заказы после закрытия формы Клиенты (Товары) новый клиент (товар) сразу не попадает всписок клиентов (товаров) формы Заказы. Убедитесь в этом, проделав следующую последовательность действий: в форме Заказы нажмите кнопку НовыйКлиент, воткрывшейся форме Клиенты введите новую фамилию и закройте форму, в форме Заказы откройте список Клиенты, чтоб найти эту фамилию — ее нет в списке.
Этот недостаток устраните присвоением свойству Включение формы Заказы макроса ее обновления. На рисунке показано создание соответствующего макроса ОбновитьЗаказы. Он состоит из трех макрокоманд: первые две закрывают формы Клиенты и Товары на случай, если пользователь забыл их закрыть и перешел в форму Заказы, а третья — Обновить Объект, непосредственно обновляет форму Заказы.
Из рисунка видно, что условие выполнения макрокоманд Закрыть задано функцией IsLoaded(). Она не входит в состав стандартных функций Access и будет определена ниже. Она проверяет, загружена ли форма Клиенты (Товары), если нет, то макрокоманда Закрыть не выполняется (во избежание ошибки закрытия закрытой формы).
Проверьте совместную работу формы Заказы с формами Клиенты и Товары.
Дата добавления: 2016-04-14; просмотров: 706;