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