Доработка форм Клиенты и Товары. Создание Функции IsLoaded
Откройте форму Клиенты в режиме Конструктора и сделайте ее ленточной (закладка Макет, свойство Режим по умолчанию). На забудьте предварительно выделить форму кнопкой. Далее расположите поля в строку. Закройте и сохраните форму Клиенты. Проделайте аналогичные действия с формой Товары.
Проверьте совместную работу формы Заказы с формами Клиенты и Товары. Добавляемые новые клиенты и товары в формах Клиенты и Товары будут присутствовать в списках формы Заказы. Формы Клиенты и Товары будут закрываться автоматически при переключении на форму Заказы.
Создание функции IsLoaded.
Это единственная часть нашей ИС, требующая программирования на языке Visual Basic. Задача функции IsLoaded состоит в том, чтобы проверить, загружена ли указанная форма или нет. Если форма загружена, то функция получает значение True, иначе — False. Приведенный ниже текст функции следует создать и ввести в закладку Модули главного окна базы данных:
Function IsLoaded{MyFormName) Dim i
IsLoaded = False
For i = 0 to Forms.Count-1
If Forms(i).FormName=MyFormName Then
IsLoaded = True
Exit Function
End if
Next
End Function
Создание отчетов
Отчет Заказы фактически повторяет форму Заказы, поэтому и содержание действий по его созданию во многом сходно с тем, что мы проделали, создавая форму Заказы. Здесь нам также потребуется создать отчет и подчиненный отчет, определив для них запросы, вставить подотчет в отчет. Выполните такие действия:
1. Перейдите в закладку Отчеты главного окна Access и создайте новый отчет. В качестве источника данных укажите таблицу Заказы. В режиме Конструктора, в первую очередь, видоизмените источник данных, добавив (закладка Данные, свойство Источник записей) в него поля из таблицы Клиенты.
Поле КодКлиента в запрос не включено. По желанию, сохраните запрос с именем ЗаказыДляОтчетаЗапрос. Таким образом, источник данных скорректирован.
Далее перетащите поля в создаваемый отчет. Надписи и поля разместите, как на рисунке. Обратите внимание — все поля размещены в области заголовка и примечания отчета.
Поэтому, перед перетаскиванием полей, следует отобразить эти области в отчете, одновременно исключив колонтитулы (используйте меню Вид).
2. Создайте подчиненный отчет на базе имеющегося запроса ЗаказаноТовараЗапрос (он создавался для формы ЗаказаноТовараПодформа) в качестве источника данных. Надписи и поля разместите в подотчете в строку следующим образом: Название, Цена, ЦенаПродажи, Количество, Сумма
Обратите внимание, что поля размещены в области данных, а надписи к полям — в области верхнего колонтитула отчета. Присвойте подчиненному отчету при сохранении имя 3аказаноТовара Подотчет.
3. Теперь, когда отчет и подотчет подготовлены, следует внедрить подотчет в отчет в уже отведенное для него место в области данных. Откройте отчет Заказы в режиме Конструктора. Включите Мастерана Панели элементов,выберите элемент Подчиненная форма/отчет,установите указатель мыши на область данных и растяните его до нужных размеров. В этом месте будет запущен Мастерсоздания подчиненного отчета, который попросит уточнить некоторые данные. В первом окне уточняется источник данных для подотчета: выберите пункт Отчеты, выберите из списка ЗаказаноТовараПодотчет и нажмите кнопку Далее. Следующее окно уточняет имена основных и подчиненных полей: выберите Выбор из списка, строку «ЗаказаноТовараЗапрос для каждой записи ЗаказыДля-ОтчетаЗапрос» и нажмите Далее. В следующем окне запрашивается надпись к подчиненному отчету: введите Состав заказа и нажмите Готово.
Подкорректируйте размеры области данных и местоположение подотчета. Высоту подотчета сделайте минимальной: 0,3...0,4 см. Обратите внимание, что свойству Расширение (закладка Макет) подотчета присвоено значение Да. Это означает, что его размер при необходимости будет увеличиваться, чтобы вместить все данные, содержащиеся в подотчете.
Сохраните отчет Заказы.
Теперь просмотрим результат наших разработок: откройте отчет Заказы и вы увидите, что в перечне товаров присутствуют записи из всех заказов сразу (а не одного заказа). Условие, отбирающее записи только текущего заказа, указано в макросе ПечатьЗаказа, который выполняется при нажатии кнопки Печать заказа на форме Заказы. Теперь попробуйте вызвать созданный отчет из формы Заказы (нажмите кнопку Печать заказа): в отчет попадут строки только текущего заказа.
Отметим, для того, чтобы иметь возможность просматривать на экране отчет перед выводом на принтер, в макросе для печати установлен режим Просмотр, а не Печать.
Дата добавления: 2016-04-14; просмотров: 747;