Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Построение формы по результатам запроса




Одним из вариантов создания такой формы может быть выполнение действий в следующей последовательности. Напомним, на рисунках показаны панели инструментов Access 2007. Вначале создается макет пустой формы. Для этого в закладке «Создание» следует нажать кнопку «Конструктор форм». Появившуюся пустую форму необходимо настроить следующим образом. Добавить заголовок и примечание формы, нажав кнопку «Заголовок» в закладке «Конструктор», в свойствах формы установить следующую позицию макета: Режим по умолчанию в «Ленточные формы», Полученная форма и её свойства представлены на последующих двух рисунках.

 

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

Сохраните эту форму задав ей имя, например, «Товары в заказах». Затем откройте её снова в режиме конструктора.

Как отмечалось, содержимое формы базируется на данных таблиц базы или запросов. Данные в проектируемую форму поставляются запросом, который сформулирован в начале раздела и описан в разделе Создание третьего запроса. Но теперь запрос нужно создать как источник данных для формы. Для этого нужно в свойствах на уровне формы выбрать вкладку «Данные» и в позиции «Источник записей» нажать кнопку построителя запросов (). В отличие от ранее описанного запроса в условии отбора нужно сослаться на поле со списком. В примере это ПолеСоСписком0. При создании условия отбора необходимо учесть, что поле со списком возвращает не наименование, а код товара. Поэтому условие отбора надо ставить в поле «Код_товара» запроса. Ссылка в условии отбора по коду товара создаётся следующим образом. Курсор устанавливается в позицию «Условие отбора» для поля «Код_товара» и нажимается кнопка «Построитель» конструктора. После появление окна построителя выражений, надо установить ссылку на ПолеСоСписком0 формы как показано на рисунке.

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

 

Теперь нужно закрыть запрос и согласиться на сохранение изменений в появившемся окне.

Далее в форму нужно перенести поля формируемые запросом. Для этого в панели инструментов конструктора нужно нажать кнопку «Добавить поля» и из появившегося списка полей в раздел формы «Область данных» перетащить требуемые в запросе поля. В результате форма в режиме конструктора примет следующий вид.

 

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

DoCmd.Requery

Вместе с заголовком процедуры обработки события фрагмент кода дожжен выглядеть так:

Private Sub ПолеСоСписком0_AfterUpdate()

DoCmd.Requery

End Sub

Второй недостаток ликвидируется установкой свойства «Разрешить добавления» в закладке «Данные» свойств формы в состояние «Нет».

Итоговый вид получившейся формы выглядит так.

 

 





Поделиться с друзьями:


Дата добавления: 2016-11-12; Мы поможем в написании ваших работ!; просмотров: 363 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Бутерброд по-студенчески - кусок черного хлеба, а на него кусок белого. © Неизвестно
==> читать все изречения...

2414 - | 2334 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.009 с.