На форму можно добавлять, кроме полей таблицы или запроса, по которым форма создавалась, другие элементы для улучшения вида формы, удобства пользователей или задания реакции на действия пользователя.
Создание поля со списком
Поле со списком обеспечивает возможность выбора готового значения из предоставляемого пользователю списка или ввода другого значения в поле этого элемента. Источником выбираемых значений может служить либо поле таблицы или запроса, либо набор заданных при построении списка значений.
þ Для полей с подстановкой элемент Поле со списком создается автоматически при создании формы. Такие поля часто организуются для внешних ключей, например, в БД «Учебная» - это поле Отдел в таблице «МоиСотрудники» (проверьте для формы «МоиСотрудники»).
В зависимости от того, что является источником значений поля со списком и каковы его функции, могут существенно измениться некоторые свойства этого объекта.
Рассмотрим несколько назначений этого элемента.
Откройте таблицу «Отделы» в режиме конструктора и добавьте поле Статус типа Текстовый. Закройте таблицу, сохранив изменения.
Пример 15. Создать на форме «Отделы» поле со списком фиксированных значений для заполнения поля Статус таблицы Отделы.
Откройте форму, созданную по таблице «Отделы» в режиме Конструктора. Нажмите кнопку Мастера на панели элементов, затем кнопку Поле со списком . Нарисуйте мышью на форме область для поля со списком. Далее следуем инструкциям мастера:
1. В первом окне Создание полей со списком отметим переключатель Будет введен фиксированный набор значений. Далее.
2. Во втором окне оставим число столбцов 1, а сам столбец 1 заполним значениями (построчно): высокий, средний, низкий, высший, без права подписи (рис. 93). Далее.
3. В следующем окне отмечаем переключатель Сохранить в поле, а в выпадающем списке рядом выбираем поле Статус. Далее.
4. Назначаем название (подпись) для этого элемента: Статус. Готово.
5. Перейдите в режим Формы и выберите из поля со списком значения статуса для каждой записи.
Просмотрите (в форме в режиме Конструктора) Свойства полученного поля со списком.
Пример 16. Создать на форме «Отделы» поле со списком, значения которого могут быть заданы свободно или выбираться из поля Телефон и сохраняться в этом же поле.
1. В первом окне Мастера выберите переключатель Объект «поле со списком» будет использовать значения из таблицы или запроса таблицу «Отделы».
2. В следующих окнах Мастера выберите таблицу «Отделы» и поле Телефон.
3. В следующем окне обратите внимание, что число столбцов будет 2: один (первый) – ключевой (он, как правило, скрывается) и другой (второй) – тот, значения которого вы планируете увидеть в списке.
4. Далее отметьте переключатель Сохранить в поле и выберите поле Телефон.
5. Задайте имя поля со списком и нажмите Готово.
6. Перейдите в режим Формы и попробуйте воспользоваться созданным инструментом; в случае «непредвиденной аварии» исправьте свойства:
Пример 17. Создать на форме «Рекруты» поле со списком заданных значений Назначаемый разряд, не связанное ни с одним объектом БД.
Выведите на форму в режиме Конструктора элемент Поле со списком.
1. В первом окне Создание полей со списком отметим переключатель Будет введен фиксированный набор значений. Далее.
2. Во втором окне заполним столбец 1 значениями 1, 2, 3, 4, 5, 6, 7.
3. В следующем окне отметим переключатель Запомнить значение.
4. Далее назовем элемент «Назначаемый разряд», Готово.
5. Войдите в Свойства этого поля со списком и выберите значение Да для свойства Ограничиться списком (рис. 96). Обратите внимание, что свойство Данные осталось пустым.
6. Перейдите в режим Формы и убедитесь, что любое выбранное для любой записи значение остается тем же самым для всех остальных записей.
Сравните свойства полученных полей со списком (рис. 94, 95, 96), обратите внимание на зависимость значений свойств Данные, Тип источника строк, Источник строк, Присоединенный столбец и Ограничиться списком от постановки задачи.
Задание
45. Создайте поле со списком Хобби для каждого сотрудника организации. Попробуйте для разных копий формы три способа задания списка.