как сделать поле со списком в access
Создание или удаление поля списка значений
Используйте поле списка значений, если имеется ограниченный набор значений, которые изменяются не часто, например шкалы оценок или категории расходов.
Примечание. В Access существуют другие типы полей списков: поле подстановки, которое ищет соответствующие данные в таблице (например, поле идентификатора, которое ищет полное имя), и многозначное поле, в котором может храниться до 100 значений, разделенных запятой (,). За дополнительной информацией обращайтесь к статьям Создание и удаление поля подстановки и Создание и удаление многозначного поля.
В этой статье
Создание поля списка значений
Откройте таблицу в режиме Конструктор.
Щелкните в столбце Тип данных ячейку, соответствующую столбцу, который будет задан как поле подстановки, щелкните стрелку вниз и выберите пункт Мастер подстановок.
Примечание. Мастер подстановок в зависимости от выбранных в нем настроек создает списки трех типов: поле подстановки, поле списка значений и многозначное поле.
Внимательно следуйте указаниям мастера.
На первой странице выберите вариант Будет введен фиксированный набор значений и нажмите кнопку Далее.
На второй странице оставьте первый столбец выбранным, введите несколько значений (по одному значению на каждую строку под заголовком столбца), а затем нажмите кнопку Далее.
На третьей странице на вопрос Ограничить записи вариантами из списка? выберите вариант ответа Ограничиться списком, а затем нажмите кнопку Готово.
Обновление свойств поля списка значений
При создании поля списка значений с помощью мастера подстановок свойства подстановки для этого поля задаются автоматически. Чтобы изменить структуру поля списка значений, задайте его свойства Подстановка.
Откройте таблицу в Конструкторе.
Щелкните имя поля подстановки в столбце Имя поля.
В разделе Свойства поля откройте вкладку Подстановка.
Задайте свойству Тип элемента управления значение Поле со списком, чтобы видеть все доступные изменения свойств, отражающие ваш выбор. За дополнительной информацией обращайтесь к статье Свойства поля подстановки.
Редактировать список значений можно непосредственно в свойстве Источник строк.
Удаление поля списка значений
Важно! При удалении поля списка значений, в котором содержатся данные, эти данные теряются без возможности восстановления, отменить это действие нельзя. Поэтому перед удалением каких-либо полей или других компонентов базы данных создавайте резервную копию базы данных.
Удаление из режима таблицы
Откройте таблицу в режиме Режим таблицы.
Найдите поле списка значений, щелкните правой кнопкой мыши строку заголовка и выберите команду Удалить поле.
Нажмите кнопку Да, чтобы подтвердить удаление.
Удаление из конструктора
Откройте таблицу в режиме Конструктор.
Щелкните область выделения строки рядом с полем списка значений, а затем нажмите клавишу DELETE, либо щелкните правой кнопкой мыши область выделения строки и выберите команду Удалить строки.
Нажмите кнопку Да, чтобы подтвердить удаление.
Свойства поля подстановки
Тип элемента управления
Укажите это свойство, чтобы задать отображаемые свойства:
Поле со списком содержит список всех доступных свойств.
Список содержит список всех доступных свойств кроме свойств Число строк списка, Ширина списка и Ограничиться списком.
Текстовое поле не отображает свойства и преобразует поле в поле, доступное только для чтения.
Тип источника строк
Определяет, откуда брать значения для поля подстановки: из другой таблицы или запроса либо из списка указанных вами значений. В качестве источника вы также можете выбрать имена полей таблицы или запроса.
Указывает таблицу, запрос или список значений, из которых извлекаются значения для поля подстановки. Если свойство Тип источника строк имеет значение Таблица или запрос или Список полей, в этом свойстве должно быть указано имя таблицы или запроса либо инструкция SQL, представляющая запрос. Если свойство Тип источника строк имеет значение Список значений, это свойство должно содержать список значений, разделенных точками с запятой.
Указывает столбец в источнике строк, в котором содержится значение, хранящееся в столбце подстановок. Может принимать любое значение в диапазоне между 1 и числом столбцов в источнике строк.
Столбец, из которого извлекается значение, может отличаться от отображаемого столбца.
Определяет число столбцов в источнике строк, которые можно отобразить в поле подстановки. Чтобы выбрать столбцы для отображения, нужно задать ширину столбцов в свойстве Ширина столбцов.
Определяет, нужно ли отображать заголовки столбцов.
Задает ширину каждого столбца. Отображаемое значение в поле подстановки — это один или несколько столбцов, для которых в свойстве Ширина столбцов указано значение, отличное от нуля.
Если столбец не нужно отображать, например столбец «Код», укажите значение «0» для его ширины.
Число строк списка
Определяет количество строк, отображаемых в поле подстановки.
Определяет ширину элемента управления, появляющегося при отображении поля подстановки.
Определяет возможность ввода значения, отсутствующего в списке.
Разрешить несколько значений
Определяет возможность выбора нескольких значений в поле подстановки.
Нельзя изменить значение этого свойства с «Да» на «Нет».
Разрешить изменение списка значений
Определяет возможность редактирования элементов поля подстановки, основанного на списке значений. Если это свойство имеет значение Да, при щелчке правой кнопкой мыши поля подстановки, основанного на списке значений из одного столбца, в меню появится команда Изменение элементов списка. Если поле подстановки содержит несколько столбцов, это свойство игнорируется.
Форма изменения элементов списка
Указывает существующую форму, используемую для изменения элементов списка в поле подстановки, основанном на таблице или запросе.
Только значения источника строк
Показывает только значения, соответствующие текущему источнику строк, если свойство Разрешить несколько значений имеет значение Да.
Добавление списка или списка со списком
При вводе информации в формы баз данных классического приложения Access быстрее и легче выбирать значение из списка, чем вводить его по памяти. Кроме того, благодаря использованию списка вариантов в поле будут вводиться только допустимые значения. Список может быть подключен к существующим данным или содержать фиксированные значения, указанные при его создании. В данной статье описаны списки, доступные в формах программы Access, а также способы их создания и настройки.
В этой статье
Типы списков
Программой Access предусмотрены два типа элементов управления «Список»: список и поле со списком.
Список. Данный элемент управления отображает список значений или вариантов. Список содержит строки данных и обычно имеет такой размер, чтобы всегда были видны несколько строк. Строки могут содержать один или несколько столбцов с заголовками или без них. Если список содержит больше строк, чем может быть отображено в элементе управления, появится полоса прокрутки. Выбор ограничен вариантами, представленными в списке; ввести значение в список невозможно.
Поле со списком. Данный элемент управления является более компактным способом отображения списка вариантов: список скрыт до тех пор, пока пользователь не нажмет кнопку раскрытия списка. Кроме того, поле со списком позволяет вводить значения, не содержащиеся в списке. Таким образом, этот элемент управления объединяет в себе функции текстового поля и списка.
1. Нажмите стрелку, чтобы отобразить раскрывающийся список.
2. Выберите необходимый вариант из раскрывающегося списка.
Списки или поля со списками могут быть связанными и свободными элементами управления. Эти элементы управления могут содержать значения из фиксированного списка, который вводится пользователем, либо из таблицы или запроса. Создать связанный список или поле со списком, в который подставляются значения из таблицы или запроса, можно только в том случае, если основой для формы служит источник записей, содержащий поле внешний ключ или поле подстановки. Это позволяет создавать отношения, необходимые для связывания данных в списке или в поле со списком с данными в форме.
Создание списка или поля со списком с помощью мастера
В области навигации щелкните форму правой кнопкой мыши и выберите команду Конструктор.
Примечание: Предполагается, при выполнении этой процедуры форма связана с таблицей или запросом. Некоторые из шагов неприменимы к свободным формам. Чтобы узнать, связана ли данная форма с таблицей или запросом, нажмите клавишу F4, после чего откроется страница свойств. На вкладке Данные страницы свойств в поле свойства Источник записей отображаются таблица или запрос, с которыми связана данная форма.
На вкладке Конструктор в группе Элементы управления выберите параметр Использовать мастера 
Выберите либо средство 


Нажмите в форме место, в которое нужно поместить список или поле со списком.
В зависимости от сделанного выбора запустится мастер списков или мастер полей со списком.
В ответ на запрос мастера о способе получения значений элементом управления выполните одно из следующих действий.
Чтобы использовать текущие данные из источника записей, выберите вариант Объект «список» будет использовать значения из таблицы или запроса.
Чтобы использовать фиксированный (редко изменяемый) список значений, выберите вариант Будет введен фиксированный набор значений.
Чтобы использовать элемент управления для выполнения поиска, а не как инструмент для ввода данных, выберите вариант Поиск записи в форме на основе значения, выбранного в списке или поле со списком. Будет создан свободный элемент управления с внедренным макросом, выполняющим поиск по значению, вводимому пользователем.
Следуйте инструкциям для указания способа отображения значений.
Если выбран один из двух первых вариантов на первой странице мастера, вам будет предложено указать действие, которое должна выполнять программа Access при выборе значения. Выполните одно из указанных ниже действий.
Чтобы создать свободный элемент управления, выберите параметр Запомнить значение. Это означает, что программа сохранит выбранное значение, пока пользователь не изменит его или не закроет форму, но при этом значение не будет внесено в таблицу.
Чтобы создать связанный элемент управления, выберите параметр Сохранить в поле и укажите поле, к которому должен быть присоединен элемент управления.
Нажмите кнопку Далее и введите подпись для элемента управления. Подпись будет отображена рядом с элементом управления.
Нажмите кнопку Готово.
Создание списка или поля со списком путем добавления поля подстановок в форму
Связанные списки или поля со списком можно создавать путем добавления поля подстановок в форму.
Создайте в таблице поле подстановок. Можно создать поле подстановок, одновременно допускающее несколько значений или содержащее только одно значение.
Дополнительные сведения о создании многофаентных полей подпапок см. в статье «Создание и удаление многоценного поля».
Выполните одно из следующих действий:
Создайте форму, основанную на источнике записей, который содержит поле подстановок. Например, в области навигации выберите таблицу или запрос, которые содержат поле подытожа, а затем на вкладке «Создание» в группе «Формы» нажмите кнопку «Форма» 
Программа Access автоматически создаст поле со списком для поля подстановок.
Добавьте в форму список или поле со списком.
В режиме конструктора откройте форму, основанную на источнике записей, который содержит поле подстановок.
Если область Список полей не отображается, нажмите клавиши ALT+F8, чтобы открыть ее.
Дважды нажмите поле подстановок или перетащите его из области Список полей в форму. Программа Access автоматически создаст поле со списком, связанное с этим полем.
Совет: Чтобы заменить поле со списком на список (или наоборот), щелкните правой кнопкой мыши элемент управления, выделите в контекстном меню пункт Преобразовать элемент в и выберите нужный тип элемента управления.
Создание списка или поля со списком без использования мастера
При создании списка или поля со списком без использования мастера необходимо вручную задать ряд свойств элемента управления. Для получения дополнительных сведений об определенном свойстве нажмите это свойство, а затем — клавишу F1.
Откройте форму в режиме конструктора.
На вкладке Конструктор в группе Элементы управления отмените выбор параметра Использовать мастера.
Щелкните инструмент «Список 

Чтобы создать элемент управления стандартного размера, нажмите любое место в форме. Чтобы создать элемент управления необходимого размера, перетащите указатель с нажатой кнопкой мыши.
Чтобы открыть станицу свойств элемента управления, при выделенном элементе управления нажмите клавишу F4.
Задайте значения для свойств Тип источника строк и Источник строк, руководствуясь данными следующей таблицы.
Значение свойства «Тип источника строк».
Задайте следующее значение свойства «Источник строк»:
Показать значения из таблицы или запроса либо результатов инструкции SQL
В раскрывающемся списке выберите таблицу или запрос, содержащие значения, которые нужно отобразить в списке или поле со списком.
Введите инструкцию SQL.
На вкладке «Данные» в окне свойств щелкните 
Показать фиксированный список значений
Введите список фиксированных значений, разделенных точками с за semicolons (;). Например, «Север»; Южный; Восток; Запад
На вкладке «Данные» окна свойств щелкните 
Показать список полей из таблицы или запроса
В раскрывающемся списке выберите таблицу или запрос, содержащие имена полей, которые нужно отобразить в списке или поле со списком.
Если вы хотите включить в элемент управления несколько столбцов, перейдите к ячейке свойства Число столбцов и введите их число. Задайте ширину столбцов с помощью свойства Ширина столбцов. Чтобы получить дополнительные сведения о каждом свойстве установите курсор в поле этого свойства и нажмите клавишу F1.
Если вы хотите, чтобы программа Access сохранила выбранное значение, нажмите поле свойства Данные и укажите поле, к которому нужно присоединить список или поле со списком.
Настройка списка или поля со списком
В форме, открытой в режиме конструктора, выделите список или поле со списком и нажмите клавишу F4, чтобы открыть страницу свойств элемента управления. Затем выполните одно из указанных ниже действий.
Изменение порядка сортировки в списке или в поле со списком. Если для создания списка или поля со списком использовался мастер, программа Access автоматически сортирует строки, составляющие список, по первому видимому столбцу. Если требуется задать другой порядок сортировки или если в свойстве Источник строк элемента управления был выбран сохраненный запрос, используйте следующую процедуру.
Перейдите на вкладку Данные и нажмите поле свойства Источник строк.
На вкладке «Данные» в окне свойств щелкните 
В строке Сортировка для столбца, данные в котором нужно отсортировать, укажите требуемый порядок сортировки.
Присоединение столбца списка или поля со списком
В поле свойства Присоединенный столбец списка или поля со списком укажите число, соответствующее номеру столбца списка или поля со списком. Например, введите 1, чтобы присоединить первый столбец списка или поля со списком к базовому полю, заданному в свойстве Данные. При определении номера столбца необходимо учитывать скрытые столбцы.
Если для свойства Присоединенный столбец задано значение «0», программа Access будет сохранять индекс списка, а не значения одного из столбцов. Это удобно, если нужно вместо значений списка сохранить последовательность чисел.
Скрытие столбца в списке или в поле со списком в форме
В поле свойства Ширина столбцов введите значение 0 для столбцов, которые нужно скрыть.
Предположим, что у вас есть присоединенное поле со списком из двух столбцов: «КодПоставщика» шириной 1 см и «ИмяПоставщика» шириной 5 см. Столбец «КодПоставщика» — первый столбец списка, поэтому для свойства Ширина столбцов задано значение 1см;5см. Чтобы скрыть столбец «КодПоставщика», установите для свойства Ширина столбцов значение 0см;5см. Столбец «КодПоставщика» остается присоединенным, несмотря на то, что он скрыт.
Примечание: Если список не раскрыт, в поле со списком отображается первый видимый столбец списка. Например, в предыдущем примере будет отображаться столбец «ИмяПоставщика», поскольку столбец «КодПоставщика» скрыт. Если бы он не был скрытым, в поле отображались бы значения из этого столбца, а не столбца «ИмяПоставщика».
Добавление заголовков столбцов в поле со списком в форме
Чтобы отобразить заголовки столбцов, задайте для свойства Заголовки столбцов значение Да. В полях со списком заголовки списка отображаются только при его раскрытии.
Если поле со списком или список созданы на основе источника записей, программа Access будет использовать имена полей этого источника записей в качестве заголовков столбцов. Если поле со списком или список созданы на основе списка фиксированных значений, то в качестве заголовков столбцов программа Access будет использовать первые n элементов списка значений (заданных в свойстве Источник строк), где n равно значению свойства Число столбцов.
Отключение автозавершения при вводе для поля со списком в форме
В поле свойства Автоподстановка задайте значение Нет.
В этом случае нужно будет выбирать значение из списка или вводить его целиком.
Настройка ширины списка для поля со списком в форме
Введите в поле свойства Ширина списка значение ширины в текущих единицах измерения (заданных в панели управления Windows). Чтобы использовать единицы измерения, отличные от принятых по умолчанию, введите обозначение единиц измерения. Например, введите значение 2 см. Убедитесь, что оставлено достаточно места для полосы прокрутки.
Список поля со списком может быть шире его текстового поля, но не может быть более узким. Значение по умолчанию ( Авто) обеспечивает одинаковую ширину текстового поля и списка.
Настройка максимального числа строк, отображаемых в поле со списком в форме
Введите число в поле свойства Число строк списка.
Если фактическое количество строк списка превышает значение, указанное в свойстве Число строк списка, при раскрытии списка отображается вертикальная полоса прокрутки.
Ограничение значений поля со списком элементами, присутствующими в списке в форме
В поле свойства Ограничиться списком выберите значение Да.
Если первый столбец, отображаемый в поле со списком, не является присоединенным, нельзя вводить в поле значения, отсутствующие в списке, даже если для свойства Ограничиться списком задано значение Нет.
Если для свойства Ограничиться списком задано значение Нет, то при вводе в присоединенное поле со списком значения, которого нет в списке, это значение заносится в базовое поле, но не добавляется в список. Чтобы добавить в список элементы, используйте свойство Отсутствие в списке и событие Нет в списке.
Как сделать поле со списком в access
Поле со списком access – составной элемент управления, объединяющий поле и раскрывающийся список, позволяющий не только выбирать (как в простом списке), но и вводить значения.
Поле со списком позволяет экономить место в объекте базы данных (форме, таблице и др.), так как по умолчанию оно отображает одну строку списка.
Открывается список нажатием на кнопке (в правом углу элемента управления «Поле со списком access») или клавишами Alt+«стрелка вниз». При помощи простого макроса можно сделать так, чтобы поле со списком раскрывалось само при входе в него.
Чтобы ввести значение в поле со списком access, можно начать вводить значение в поле с клавиатуры или выбрать нужное значение в выпадающем списке. При вводе значений с клавиатуры помогает свойство «Автоподстановка». Если установить его как «да», то при вводе информации Access автоматически будет предлагать значения из списка, выделяя буквы предлагаемого значения после последнего введённого символа.
Если значение подходит, для его ввода надо лишь нажать клавишу Enter или Tab. Свойство «Ограничиться списком» не разрешит ввести значения, которого нет в списке. Ограничивать списком вводимые значения стоит в первую очередь для снижения вероятности ввода ошибочной информации.
Например, слово «детектив» в поле «литературный жанр» можно написать «детиктив» или «дитиктив», или ещё как-нибудь (неважно, опечатка это или следствие неграмотности оператора. Любой человек может ошибаться и даже имеет на это право).
Поле, содержащее ошибочные значения, уже нельзя правильно ни отсортировать, ни использовать в запросе. Мы зададим запрос с фильтром Like «детектив» и будет найдено, предположим, 120 книг этого жанра. Но вследствие неправильного ввода информации запрос «не увидел», к примеру, 18 книг.
Такая ситуация просто недопустима. Гораздо проще один раз и в одном месте (в базовой таблице подстановки) правильно ввести название жанра и связать эту запись с полем подстановки в таблице поставок книг отношением «один-ко-многим» (можно и не связывать. Но этот вопрос не представляется возможным обсудить в пределах одной статьи, так как слишком много информации о типах полей, связях и др.).
Другой вопрос состоит в том, стоит ли разрешать оператору добавлять новые значения в базовую таблицу подстановки (со стороны «один»). Всё зависит от конкретных задач и типа информации. Не всегда можно предугадать все возможные варианты для значений поля подстановки. Например, поле подстановки для указания пола сотрудника может принимать два значения: «мужской» и «женский». А вот попробуйте создать поле подстановки мужских или женских имён (например, мужские имена: Андрей, Андриан, Андрон, Анджей и т. д.; женские имена: Наталья, Наталия, Наталея, Натали и т. д.).
Во-первых, некоторые родители дают такие имена, которых не было раньше в природе (а это имя ещё надо ввести в базовую таблицу подстановки).
Во-вторых, схожие имена будут «рябить» перед глазами (могут быть десятки очень похожих имён, отличающихся только одной буквой).
В-третьих, быстрее ввести имя вручную побуквенно, чем искать в большом списке.
В-четвёртых, вряд ли придётся включать поле имени в простой или составной ключ, так как одних Ивановых Иванов Ивановичей в России не сосчитать (обычно для этого используют числовой код, однозначно идентифицирующий запись в таблице).
В-пятых, неправильно введённое имя, как правило, не даёт критических ошибок при фильтрации или сортировке (по причине своей неуникальности имя редко используется для таких случаев).
К тому же оно чаще всего используется в инициалах. Например, я ввёл значение «Иванов Андриан Иванович», хотя имя человека «Андрей». В поле «ФИО» получим «Иванов А. И.». Вроде как и ошибки нет.)
Создаётся поле со списком access, как правило, в режиме конструктора объекта базы данных:
— в таблицах – в области «Свойства поля» на вкладке «Подстановка» есть такой аргумент «Тип элемента управления» с выпадающим списком. Выбираем значение «Поле со списком» и выбираем следующие аргументы: тип источника строк, сам базовый источник строк, номер присоединённого столбца и другие необходимые элементы;


