ТОП 10:

Создание поля со списком для поиска записей



Мастер списков Access позволяет создавать новый, третий тип полей со списками - поля со списками для поиска записи в форме, используя значение, выбранное в списке. Такой тип полей со списками можно использовать, например, для создания поля "Найти" в форме "Ввод персонального мероприятия", которое будет содержать фамилии всех сотрудников из таблицы "Сотрудники", что позволит осуществлять быстрый поиск записей для конкретного сотрудника.

 

Задание 3.17.

Для создания поля со списком, осуществляющего поиск записи в форме, используя значение, выбранное в списке этого поля:

1. Если необходимо, на панели элементов нажмите кнопку "Мастера элементов" для использования Мастера списков при создании поля со списком.

2. На панели элементов нажмите кнопку "Поле со списком", а затем поместите указатель мыши в область данных под полем "Рейтинг" и щелкните левой кнопкой мыши. Появится первое диалоговое окно Мастера списков.

3. В первом диалоговом окне Мастера списков выберите переключатель "Поиск записи в форме на основе значения, которое содержит поле со списком". Нажмите кнопку "Далее". Появится второе диалоговое окно Мастера списков.

4. В списке "Доступные поля" второго диалогового окна Мастера списков с помощью полосы прокрутки найдите элемент "Фамилия" и выделите его, затем нажмите кнопку ">" для перемещения выделенного поля в список "Выбранные поля". Нажмите кнопку "Далее". Появится третье диалоговое окно Мастера списков.

5. В третьем диалоговом окне Мастера списков отображен список всех значений выбранного поля. Дважды щелкните левой кнопкой мыши по правой границе заголовка столбца "Фамилия" для выравнивания ширины столбца по данным, содержащимся в нем. Затем нажмите кнопку "Далее". Появится последнее диалоговое окно Мастера списков.

6. В поле ввода последнего диалогового окна Мастера списков введите подпись создаваемого поля со списком:Найти:. Теперь нажмите кнопку "Готово" для завершения создания нового поля со списком.

При создании такого типа полей со списками Мастер списков автоматически создаст процедуру обработки событий Access VBA для свойства "После обновления" этого поля со списком. Процедура обработки событий является процедурой VBA, которую Access выполняет автоматически всякий раз, когда происходит конкретное событие (в нашем случае эта процедура обновляет поле со списком). Написание программ Access VBA - это довольно сложная тема, обсуждение которой выходит за рамки данной лабораторной работы.

Для просмотра процедуры обработки событий, которую Мастер списков создал для нового поля со списком, откройте окно свойств для этого поля со списком, в этом окне раскройте вкладку "События", выделите свойство "После обновления", а затем нажмите кнопку "...". Access откроет окно создания процедур.

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

' Поиск записи, соответствующей этому элементу управления.

Me.RecordsetClone.FindFirst "[LastName] = '" & Me![ПолеСоСписком53] & "'"

Me.Bookmark = Me.RecordsetClone.Bookmark

End Sub

3.1.8. Завершение разработки главной формы "Ввод персонального мероприятия"

Перед тем как добавлять подчиненную форму, необходимо завершить создание главной формы "Ввод персонального мероприятия". Целью этой формы является отображение записей таблицы "Персональные мероприятия", чтобы обеспечить пользователю возможность просмотра персональных мероприятий сотрудника, а также возможность добавления данных для новых персональных мероприятий.

В форме, созданной с помощью Мастера форм ранее, можно просмотреть записи по сотрудникам, а также добавить новые записи в табличную подчиненную форму, в то время как информация из таблицы "Сотрудники" отображается только в главной форме. В этой пользовательской форме для того, чтобы облегчить процесс добавления новых записей в таблицу "Персональные мероприятия", поля из этой таблицы были помещены в главную форму, а область подчиненной формы используется только для ретроспективного отображения записей о персональных мероприятиях. Форма "Ввод персонального мероприятия" будет содержать поля таблицы "Персональные мероприятия" в обеих - главной и подчиненной - формах, а в качестве источника данных использовать запрос "Персональные мероприятия для форм".

 

Задание 3.18.

Для завершения разработки главной формы "Ввод персонального мероприятия" (окончательное размещение полей см. на рисунке в конце работы):

1. Если необходимо, на панели элементов нажмите кнопку "Мастера элементов" (она должна быть утопленной) для возможности использования Мастера элементов. На панели инструментов нажмите кнопку "Список полей".

2. В появившемся окне списка полей выделите элемент "Фамилия". Перетащите элемент списка в раздел области данных. Поместите указатель мыши под полем "Код" и отпустите левую кнопку мыши. Access создаст для поля элемент управления "Поле". Измените подпись этого элемента управления на:Сотрудник:

3. Из списка полей с помощью мыши перетащите поле "Имя" и поместите его ниже поля "Сотрудник"; удалите метку поля "Имя".

4. Из списка полей с помощью мыши перетащите поле "Должность" и поместите его ниже поля "Имя".

5. Повторите инструкции пункта 4 для полей "ТипМероприятия", "ДатаПлан", "ДатаФакт" и "Сумма" Возможно, возникнет необходимость в изменении положения полей "Начальник", "Рейтинг" и "Найти", ранее в этой главе размещенных в форме.

6. В центр формы перетащите с помощью мыши поле "Фотография" и удалите его метку (для определения типа этого поля достаточно того, что оно отображает фотографию сотрудника). Поместите это поле по центру формы, в случае необходимости изменив его размеры.

7. Дважды щелкните левой кнопкой мыши по полю "Фотография" для отображения на экране окна его свойств. В этом окне раскройте вкладку "Макет" и выделите свойство "Установка размеров". В списке этого поля выберите элемент "Вписать в рамку" для того, чтобы фотография сотрудника уместилась в выделенном для нее поле.

Главная форма готова.

 







Последнее изменение этой страницы: 2017-02-22; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 34.239.167.74 (0.004 с.)