Учебное приложение «Заказы»

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

•	Управление запуском приложения с помощью параметров запуска.

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

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

•	Изменение элементов управления путем изменения значений элементов и их свойств, а также путем добавления строк в список поля со списком.

•	Отбор и сортировка данных в форме.

Примеры использования большинства из этих приемов можно найти в главе 3 «Применение форм для ввода, вывода и отбора данных» книги Разработка приложений для Microsoft Access 97.

Советы по работе с приложением «Заказы»

При запуске приложения окно базы данных будет скрыто, форма «Заказы» откроется в режиме ввода данных и на экране появится окно справки.

•	Чтобы вывести на экран окно базы данных, нажмите кнопку Окно базы данных  [image]  на панели инструментов или клавишу F11.

•	Чтобы перейти в форме «Заказы» из режима ввода нового заказа к работе с существующими заказами, нажмите кнопку Отбор записей на панели инструментов, выберите из меню Записи команду Применить фильтр, а затем Удалить фильтр.

•	Чтобы закрыть справку приложения, нажмите кнопку Закрыть [image]  в правом верхнем углу окна справки. Раздел справки всегда можно вывести на экран нажатием кнопки Справка на панели инструментов приложения.

Другие средства приложения «Заказы»

Наряду с объектами, иллюстрирующими перечисленные выше приемы разработки баз данных, приложение «Заказы» содержит следующие средства разработчика.

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

Модуль «СлужебныеФункции» включает несколько специальных функций Visual Basic, автоматизирующих выполнение следующих задач:

•	проверка того, является ли указанная форма открытой;

•	перевод первой буквы каждого слова на верхний регистр;

•	возвращение первого дня месяца, следующего за указанным месяцем;

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


Управление запуском приложения

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

Указание параметров запуска

Чтобы указать параметры запуска, нажмите F11 для перехода в окно базы данных, выберите в меню Сервис команду Параметры запуска и определите значения параметров в диалоговом окне. Приложение «Заказы» использует параметры запуска для:

•	открытия при запуске формы «Заставка»;

•	вывода специального имени в строке заголовка приложения;

•	скрытия окна базы данных при помощи снятия флажка Окно базы данных.

Совет.   Чтобы вывести окно базы данных на экран, нажмите кнопку Окно базы данных  [image]  на панели инструментов или клавишу F11.

Использование процедур обработки событий при запуске приложения

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

•	Проверка и обновление связей с внешними таблицами. В форме «Заставка» процедура обработки события «Form_Load» вызывает функции «ПроверкаСвязей» и «ОбновлениеСвязей» в модуле «ОбновлениеСвязейТаблиц», которые проверяют и, при необходимости, позволяют обновить связи с таблицами из базы данных «Борей».

•	Предоставление пользователям возможности отключить вывод формы «Заставка». При нажатии пользователем кнопки «OK» в форме процедура обработки события кнопки OK_Click проверяет состояние флажка. Если флажок установлен, процедура обработки события изменяет значение специального свойства базы данных, в результате чего вместо формы «Заставка» при запуске приложения открывается форма «Заказы». Необходимо заметить, что программный код формы «Заставка» проверяет и при необходимости обновляет связи с присоединенными таблицами даже если форма не выводится на экран.

Замечание.   При отключении вывода на экран формы «Заставка», ее повторный вызов из окна базы данных невозможен.

Дополнительные сведения приведены в книге Разработка приложений для Microsoft Access 97.

Тема	Глава	Раздел
Задание параметров запуска	Глава 1 «Создание приложений»	«Установка параметров запуска»
Использование процедур обработки событий	Глава 2 «Введение в Visual Basic»	«Создание первой процедуры обработки событий»


Настройка интерфейса пользователя

Разработчик имеет возможность изменить интерфейс пользователя приложения, создавая и присоединяя к формам и отчетам специальные строки меню и панели инструментов, назначая макрокоманды для сочетаний клавиш и заменяя встроенные сообщения об ошибках Microsoft Access специальными сообщениями. В приложении «Заказы» показано применение следующих приемов:

•	Форма «Заказы» имеет специальную строку меню и панель инструментов. В свойстве формы Строка меню (MenuBar) задается имя макроса «ЗаказыСтрокаМеню», который определяет специальное меню.

•	С помощью сочетания клавиш CTRL+R запускается макрос, печатающий текущую запись в форме. Сочетания клавиш определяются в макросе AutoKeys.

•	Если пользователь делает попытку сохранить заказ, не указав клиента, форма «Заказы» выводит специальное сообщение об ошибке, которое задается в процедуре обработки события формы Ошибка (Error).

•	Форма «Заказы» разрешает просмотр только записей с прошедшим сроком отгрузки, что предотвращает случайные изменения уже отгруженных заказов. Допустимо изменение еще не отгруженных заказов или заказов с неопределенными сроками отгрузки.

•	По умолчанию в форме «Заказы» разрешается ввод новых заказов. Для просмотра существующих записей о клиентах, нажмите кнопку Отбор записей на панели инструментов, выберите клиента из поля со списком «КОплате» и команду Применить фильтр меню Записи. Для просмотра всех существующих записей после нажатия кнопки Отбор записей выберите из меню Записи команду Удалить фильтр.

Дополнительные сведения приведены в книге Разработка приложений для Microsoft Access 97.

Тема	Глава	Раздел
Создание и присоединение специальной строки меню	Глава 1 «Создание приложений»	«Создание меню и панелей инструментов»
Создание и присоединение специальной панели инструментов	Глава 1	«Использование специальных панелей инструментов»
Создание назначенных клавиш	Глава 1	«Создание назначенных клавиш»
Вывод специальных сообщений об ошибках	Глава 8 «Обработка ошибок при выполнении программ»	«Применение события Ошибка (Error)»


Связывание объектов

Связывание объектов в приложении осуществляется путем открытия или закрытия формы или отчета в ответ на событие в форме. В приложении «Заказы» выполняются следующие действия.

•	Кнопка «Сведения» (с подписью «Сведения о товаре») в форме «Заказы» открывает форму «Товары», в которой выводятся сведения о товаре, соответствующем текущей записи в подчиненной форме. В процедуре обработки события кнопки Нажатие кнопки (Click) для открытия формы используется метод OpenForm, а вывод нужной записи определяется ссылкой на поле «КодТовара» в подчиненной форме.

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

•	Форма «ПечатьСчета» содержит кнопки «Просмотр» и «Печать», позволяющие выводить на просмотр или на печать выбранный заказ. В процедурах обработки события Нажатие кнопки (Click) этих кнопок используется метод OpenReport для открытия отчета и ссылка на элемент управления «КодЗаказа» в окне диалога для предварительного просмотра или печати нужной записи.

•	Процедура обработки события Закрытие (Close) формы «Заказы» с помощью метода Close закрывает форму «Товары», если эта форма открыта. Процедура обработки события Закрытие (Close) отчета «Счет» с помощью метода Close закрывает форму «ПечатьСчета».

Дополнительные сведения приведены в книге Разработка приложений для Microsoft Access 97.

Тема	Глава	Раздел
Ссылки на элементы управления и свойства	Глава 1 «Создание приложений»	«Ссылки на объекты и их значения»
	Глава 3 «Применение форм для ввода, вывода и отбора данных»	«Пример: Настройка кнопки открытия формы»; «Пример: Отключение кнопки во время работы приложения»
Использование всплывающих форм для вывода данных	Глава 3	«Использование всплывающих форм и окон диалога»
Использование окон диалога для приема данных от пользователя	Глава 3	«Использование специальных окон диалога для ввода данных»


Настройка элементов управления

Существует ряд способов настройки элементов управления. В приложении «Заказы» используются следующие.

•	Кнопка «Сведения» (с подписью «Сведения о товаре») в форме «Заказы» доступна, если имеется запись о товаре в подчиненной форме, и недоступна, если такой записи нет. Процедура обработки события Текущая запись (Current) подчиненной формы «ЗаказыПодчиненная» задает значение свойства кнопки Доступ (Enabled) в зависимости от существования значения в поле «КодТовара» в подчиненной форме.

•	Значение свойства Данные (ControlSource) поля «ДатаОплаты» в форме «Заказы» определяется значением, которое возвращает функция «ПервыйДень» из модуля «СлужебныеФункции». Эта функция рассчитывает дату первого дня месяца, следующего за датой размещения заказа по значению поля «ДатаРазмещения».

•	Значения других элементов управления определяются с помощью автоподстановки или инструкций присваивания. Автоподстановка используется в полях, в которых выводятся адрес получателя счета и фамилия сотрудника. Инструкции присваивания используются в процедуре обработки события После обновления (AfterUpdate) поля со списком «КОплате» (первый элемент управления в форме) для заполнения полей о получателе товара.

•	При вводе первого заказа для нового клиента пользователь приложения имеет возможность автоматически добавить клиента в список поля со списком «КОплате» с помощью процедуры обработки события поля со списком Отсутствие в списке (NotInList). Поле со списком обновляется и запись о новом клиенте добавляется в список в процедуре обработки события формы После обновления (AfterUpdate).

•	Когда пользователь выбирает товар в подчиненной форме «ЗаказыПодчиненная» автоматически заполняется поле «Цена». Процедура обработки события После обновления (AfterUpdate) поля «КодТовара» с помощью функции DLookup вводит в поле «Цена» в подчиненной форме значение из поля «Цена» в таблице «Товары».

Дополнительные сведения приведены в книге Разработка приложений для Microsoft Access 97.

Тема	Глава	Раздел
Включение и отключение элементов управления	Глава 3 «Применение форм для ввода, вывода и отбора данных»	«Пример: Отключение кнопки во время работы приложения»
Создание функции для выполнения расчетов	Глава 2 «Введение в Visual Basic»	«Создание первой функции»
Ввод значений в элементы управления	Глава 3	Пример: Присвоение значений элементам правления в форме «Заказы»; Пример: Использование автоподстановки для заполнения полей данных о клиенте в форме «Заказы»
Добавление строки в поле со списком	Глава 3	«Добавление строки в поле со списком»


Отбор и сортировка данных

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

•	Кнопка «Выбор заказов» на панели инструментов формы «Заказы» переключает форму в окно обычного фильтра, в котором пользователи имеют возможность вводить или выбирать условия отбора записей.

•	Процедура обработки события формы Фильтрация (Filter) делает недоступными поля формы, которые не используются при определении фильтра.

•	Процедура обработки события формы ПрименениеФильтра (ApplyFilter) восстанавливает доступ к отключенным полям после применения фильтра.

•	Процедура обработки события Текущая запись (Current) формы «Заказы» устанавливает свойства Разрешить удаление (AllowDeletions) и Разрешить изменения (AllowEdits) для запрещения изменения заказов с прошедшим сроком отгрузки.

•	Процедуры обработки событий Текущая запись (Current) подчиненной формы «ЗаказыПодчиненная» и После обновления (AfterUpdate) поля со списком «КодТовара» обеспечивают синхронизацию формы «СтрокиЗаказов» и всплывающей формы «Товары» с помощью значений, задаваемых для свойства Фильтр (Filter) формы «Товары».

Дополнительные сведения приведены в книге Разработка приложений для Microsoft Access 97.

Тема	Глава	Раздел
Применение фильтров и сортировки	Глава 3 «Применение форм для ввода, вывода и отбора данных»	«Изменение фильтра и порядка сортировки в формах и отчетах»