Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

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






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





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

 

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

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

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

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

 

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

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

 

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

DoCmd.Requery

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

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

DoCmd.Requery

End Sub

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

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

 

 

Date: 2016-07-25; view: 273; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию