Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).
В Access вы можете создать Многозначное поле, содержащее несколько значений (до 100). Вы также можете создать поле подСтановки, в котором отображается понятное значение, связанное со значением в другом источнике данных. При запросе поля "подСтановка" или "многозначный" необходимо учитывать уникальные требования. Дополнительные сведения можно найти в разделе Создание или удаление многозначного поля и Создание или удаление поляподстановки.
В этой статье
Просмотр связанного значения поля подСтановки в запросе
Отображаемое значение поля подСтановки автоматически отображается в режиме таблицы запроса по умолчанию. Когда вы создаете запрос, вы можете переопределить это поведение таким образом, чтобы вместо него отображалось связанное значение. Предположим, что в этом примере требуется просмотреть связанное значение поля подСтановки в таблице "Центральный офис", которое "проявляет" имя нового состояния "Англия".

-
Откройте запрос в режиме конструктора.
-
В диалоговом окне Добавление таблицы выберите таблицу, содержащую поле подстановки, щелкните другой источник данных, используемый в поле подстановки, нажмите кнопку Добавить, а затем — Закрыть. В этом примере добавьте главные и невенгланд таблицы.
Обе таблицы должны быть объединены.
Дополнительные сведения можно найти в разделе объединение таблиц и запросов.
-
Перетащите поле и поле подСтановки в бланк запроса. В этом примере добавьте поле City и нестате .
-
Щелкните поле подСтановки, а затем на вкладке конструктор в группе Показать или скрыть выберите пункт Страница свойств. В этом примере используйте поле нестате .
-
На странице свойств откройте вкладку подСтановка, а затем в свойстве Display Control (элемент управления ) выберите пункт текстовое поле.
Результат Теперь при просмотре запроса в режиме таблицы отображается соответствующее значение, связанное с отображаемым значением.

Использование отображаемого значения для поля подСтановки в запросе
Когда вы создаете поле подСтановки, создается соединение между ним и отображаемым значением. Несмотря на то, что вы не можете напрямую использовать отображаемое значение в запросе, вы можете использовать соответствующее значение из другого источника данных. В этом примере предполагается, что вы хотите использовать отображаемое значение поля подСтановки нестатев таблице центрального офиса в запросе в качестве условия.
-
Откройте запрос в режиме конструктора.
-
В диалоговом окне Добавление таблицы щелкните таблицу, содержащую поле подстановки, Shift, выберите другой источник данных, используемый в поле подстановки, нажмите кнопку Добавить, а затем — Закрыть. В этом примере добавьте таблицы " Центральный офис " и " невенгланд ".
Обе таблицы должны быть объединены. Дополнительные сведения можно найти в разделе объединение таблиц и запросов.
-
Перетащите поля, которые вы хотите использовать, в сетку запроса. В этом примере перетащите город из таблицы центрального офиса в первый столбец, Нестате из таблицы центрального офиса в второй столбец и статенаме из таблицы невенгланд в третий столбец.
-
Снимите флажок Показатьстатенаме в сетке запроса.
-
В сетке запроса в разделе статенамев строке Условие отбора введите Вермонт.
Условия запроса основываются на столбце статенаме , то есть значение, совпадающее со значением Display, нестате, но не отображается в режиме таблицы.
-
На вкладке Конструктор в группе Результаты нажмите кнопку Выполнить.
Результат Отображается только строка, содержащая Вермонт .

Использование многозначного поля в запросе
При отображении многозначного поля в запросе можно отобразить полное Многозначное поле, содержащее все значения, разделенные запятыми, в одной строке или сведенные данные с отдельной строкой для каждого значения. Например, предположим, что у вас есть таблица проблем , в которой есть поле заголовка для каждой проблемы и AssignedTo Многозначное поле для назначения проблем людям.
Отображение всех значений в многозначном поле в одной строке
-
Откройте запрос в режиме конструктора.
-
В диалоговом окне Добавление таблицы выберите таблицу, содержащую Многозначное поле, нажмите кнопку Добавить, а затем — Закрыть. В этом примере добавьте таблицу " проблемы ".
-
Перетащите поля в бланк запроса. В этом примере перетащите поле Title и AssignedTo Многозначное поле.
-
На вкладке Конструктор в группе Результаты нажмите кнопку Выполнить.
Результат Как и прежде всего, в одном столбце отображается поле название , а во втором — поле AssignedTo с несколькими значениями:

Отображение каждого значения многозначного поля в одной строке (плоское представление)
-
Откройте запрос в режиме конструктора.
-
В диалоговом окне Добавление таблицы выберите таблицу, содержащую Многозначное поле, нажмите кнопку Добавить, а затем — Закрыть. В этом примере добавьте таблицу " проблемы ".
-
Перетащите поля в сетку запроса. В этом примере перетащите поле Title и поле AssignedTo. Value , допускающее несколько значений.
Формат _Лт_фиелднаме_гт_. Value добавляет в качестве строки свойство value. Значение в поле AssignedTo .
-
На вкладке Конструктор в группе Результаты нажмите кнопку Выполнить.
Результат Данные сведены таким образом, что поле названия повторяется, а каждое значение в поле AssignedTo с многозначным значением отображается в соответствующей строке.

Добавление условий в многозначное поле в запросе
Расположение одного и того же условия в сетке запроса в разных столбцах сетки значительно влияет на результаты запроса.
Добавление условий для отображения всех значений в многозначном поле в одной строке
Access сначала создает набор результатов, а затем добавляет условия.
-
Откройте запрос в режиме конструктора.
-
В диалоговом окне Добавление таблицы выберите таблицу, содержащую Многозначное поле, нажмите кнопку Добавить, а затем — Закрыть. В этом примере добавьте таблицу " проблемы ".
-
Перетащите поля в сетку запроса. В этом примере перетащите поле Title , AssignedTo в многозначное поле и AssignedTo. Value Многозначное поле.
-
Снимите флажок Показать в таблице " AssignedTo. Value " в сетке запроса.
-
В сетке запроса в разделе AssignedTo. Valueв строке Условие отбора введите "not" David Hamilton ".
Представление SQL полезно просматривать:
Выберите Title (название), AssignedTo из проблем, где не AssignedTo. Value = "David Hamilton";
-
На вкладке Конструктор в группе Результаты нажмите кнопку Выполнить.
Результат Три проблемы, не присвоенные Дэвида Hamilton, отображаются в значении по умолчанию.

Добавьте условия для отображения всех значений в многозначном поле одной строки (плоское представление).
Access сначала создает плоский набор результатов, а затем добавляет условия.
-
Откройте запрос в режиме конструктора.
-
В диалоговом окне Добавление таблицы выберите таблицу, содержащую Многозначное поле, нажмите кнопку Добавить, а затем — Закрыть. В этом примере добавьте таблицу " проблемы ".
-
Перетащите поля в сетку запроса. В этом примере перетащите поле Title и поле AssignedTo. Value , допускающее несколько значений.
-
В сетке запроса в разделе AssignedTo. Valueв строке Условие отбора введите Not "David Hamilton".
Представление SQL полезно просматривать:
Выберите вопросы. Title, AssignedTo. Value из проблем, в которых не AssignedTo. Value = "David Hamilton"
-
На вкладке Конструктор в группе Результаты нажмите кнопку Выполнить.
Результат Каждая неполадка, не назначенная в Дэвида Hamilton, отображается в виде сведенного значения.

Добавление нескольких условий в многозначное поле в запросе
Иногда необходимо найти соответствие на нескольких значениях в многозначном поле. Например, предположим, что вы хотите просмотреть те проблемы, в которых значения полей "Юлия" и "Лайза Миллер" указаны в поле " AssignedTo ".
-
Откройте запрос в режиме конструктора.
-
В диалоговом окне Добавление таблицы выберите таблицу, содержащую Многозначное поле, нажмите кнопку Добавить, а затем — Закрыть. В этом примере добавьте таблицу " проблемы ".
-
Перетащите поля в сетку запроса. В этом примере перетащите поле Title и AssignedTo Многозначное поле.
-
В сетке запроса в разделе AssignedToв строке Условие отбора введите слово "Юлия" и "Лайза Миллер".
-
На вкладке Конструктор в группе Результаты нажмите кнопку Выполнить.
Результат Эти две проблемы, которые назначены "Юлия", и "Лайза Миллер".
Группировка и подсчет многозначного поля в запросе
Для выполнения вычислений, группировки и сортировки значений, хранящихся в многозначном поле, используйте _Лт_фиелднаме_гт_. Поле значения. Дополнительные сведения о запросах на групповые запросы можно найти в разделе подсчет данных с помощью запроса.
Подсчет количества задач, назначенных каждому пользователю
-
Откройте запрос в режиме конструктора.
-
В диалоговом окне Добавление таблицы выберите таблицу, содержащую Многозначное поле, нажмите кнопку Добавить, а затем — Закрыть. В этом примере добавьте таблицу " проблемы ".
-
Перетащите поля, которые вы хотите использовать, в сетку запроса. В этом примере перетащите AssignedTo. Value в первый столбец и заголовок во второй столбец.
-
На вкладке Конструктор в группе Показать или скрыть нажмите кнопку Итоги.
В сетке запроса появится строка итог . По умолчанию в ячейке итога в каждом поле запроса отображается Группировка .
-
В сетке запроса в разделе заголовокв строке итог нажмите кнопку подсчет.
-
На вкладке Конструктор в группе Результаты нажмите кнопку Выполнить.
Результат Количество проблем, назначенных каждому пользователю, отображается в плоском представлении.
Подсчет количества пользователей, назначенных каждому вопросу
-
Откройте запрос в режиме конструктора.
-
В диалоговом окне Добавление таблицы выберите таблицу, содержащую Многозначное поле, нажмите кнопку Добавить, а затем — Закрыть. В этом примере добавьте таблицу " проблемы ".
-
Перетащите поля, которые вы хотите использовать, в сетку запроса. В этом примере перетащите заголовок в первый столбец и перетащите AssignedTo во второй столбец.
-
На вкладке Конструктор в группе Показать или скрыть нажмите кнопку Итоги.
В сетке запроса появится строка итог . По умолчанию в ячейке " итог " в поле "название" запроса отображается группировка. Выражение по умолчанию отображается в ячейке Total под полем AssignedTo , так как вы не можете выполнить группировку по операции непосредственно в многозначном поле, а только в _лт_фиелднаме_гт_. Поле значения.
-
В сетке запроса в разделе AssignedToв строке итог нажмите кнопку подсчет.
-
На вкладке Конструктор в группе Результаты нажмите кнопку Выполнить.
Результат Количество пользователей, назначенных на вопрос, выводится в плоском представлении.
Использование запроса на добавление для многозначного поля
Вы можете вставить одно значение в многозначное поле с помощью запроса на добавление. Например, предположим, что вы хотите добавить "Tom Мичаелс" в поле AssignedTo "многозначный" в таблице "проблемы".
Примечание Это единственный тип запроса на добавление, который работает с многозначным полем.
-
Откройте запрос в режиме конструктора.
-
В диалоговом окне Добавление таблицы добавьте таблицу проблемы , а затем нажмите кнопку Закрыть.
-
На вкладке конструктор нажмите кнопку Добавить.
-
В диалоговом окне Добавление выберите пункт проблемы, а затем нажмите кнопку ОК.
-
В строке Добавить в бланке бланка нажмите кнопку AssignedTo. Value.
-
В строке поле бланка запроса введите "Tom мичаелс".
-
Чтобы ограничить операцию добавления определенных проблем, добавьте в бланк запроса поле, например название, удалите заголовок из строки Добавить в , а затем введите условия, например "проблема 3".
-
На вкладке Конструктор в группе Результаты нажмите кнопку Выполнить.
Access может попросить вас подтвердить, что нужно добавить выбранную строку. Нажмите кнопку Да , чтобы вставить строку, или кнопку нет , чтобы отменить.
Result (результат ) "Tom Мичаелс" теперь добавляется в поле " AssignedTo " для выпуска 3.
Важно! Нельзя использовать запрос на добавление, который ссылается на таблицу, содержащую Многозначное поле. Например, следующий запрос является недопустимым:
INSERT INTO [NewIssues] ( ID, Title, AssignedTo ) SELECT Issues.ID, Issues.Title, Issues.AssignedTo FROM Issues;
Использование запроса на обновление для многозначного поля
Вы можете использовать запрос на обновление, чтобы изменить одно значение многозначного поля на другое. В этом примере нужно обновить поле AssignedTo с многозначными значениями, чтобы заменить "Юлия" на "Лайза Миллер".
-
Откройте запрос в режиме конструктора.
-
В диалоговом окне Добавление таблицы добавьте таблицу проблемы , а затем нажмите кнопку Закрыть.
-
На вкладке конструктор нажмите кнопку Обновить.
-
Перетащите AssignedTo. Value в сетку запроса.
-
В строке Обновление введите "Лайза Миллер".
-
В строке Условие отбора введите "Юлия in" (накаed).
-
На вкладке Конструктор в группе Результаты нажмите кнопку Выполнить.
Access может попросить вас подтвердить, что нужно добавить выбранную строку. Нажмите кнопку Да , чтобы вставить строку, или кнопку нет , чтобы отменить.
Результат Лайза Миллер заменяет Юлия в поле AssignedTo для всех соответствующих проблем.
Использование запроса на удаление для многозначного поля
При работе с таблицей, содержащей Многозначное поле, можно использовать запрос на удаление для удаления записей, содержащих определенное значение в многозначном поле, или для удаления определенного значения из многозначного поля во всех записях таблицы. Предположим, что в приведенном ниже примере вы хотите удалить "Дэвида Hamilton" из таблицы "вопросы".
Важно! При использовании запроса на удаление для удаления многозначного поля, содержащего данные, эти данные теряются окончательно, и вы не сможете отменить удаление. Поэтому перед удалением каких-либо полей или других компонентов базы данных создавайте резервную копию базы данных.
Удаление определенного значения из многозначного поля во всех записях
-
На вкладке Создание в группе Запросы нажмите кнопку Конструктор запросов.
-
В диалоговом окне Добавление таблицы добавьте таблицу проблемы , а затем нажмите кнопку Закрыть.
-
Откройте запрос в режиме конструктора.
-
На вкладке конструктор нажмите кнопку Удалить.
-
В строке Условие отбора введите "David Hamilton".
-
На вкладке Конструктор в группе Результаты нажмите кнопку Выполнить.
Access может попросить вас подтвердить, что вы хотите удалить записи. Нажмите кнопку Да , чтобы удалить записи, или кнопку нет , чтобы отменить.
Результат Дэвид Hamilton удаляется из всех соответствующих проблем.
Удаление записей, содержащих определенное значение в многозначном поле
-
На вкладке Создание в группе Запросы нажмите кнопку Конструктор запросов.
-
В диалоговом окне Добавление таблицы добавьте таблицу проблемы , а затем нажмите кнопку Закрыть.
-
Откройте запрос в режиме конструктора.
-
На вкладке конструктор нажмите кнопку Удалить группу.
-
На вкладке конструктор в группе результаты щелкните стрелку рядом с кнопкой вид и выберите пункт режим SQL.
-
Введите следующую инструкцию SQL:
DELETE FROM Issues WHERE (((Issues.AssignedTo.Value)="David Hamilton"));
Примечание В этом случае вы можете использовать только инструкцию SQL, а не бланк запроса. При переходе к представлению бланка запроса в Access добавляется звездочка (*) после инструкции DELETE, которую необходимо удалить из режима SQL.
-
На вкладке Конструктор в группе Результаты нажмите кнопку Выполнить.
Access может попросить вас подтвердить, что вы хотите удалить записи. Нажмите кнопку Да , чтобы удалить записи, или кнопку нет , чтобы отменить.
Результат Все проблемы, в которых назначен Дэвида Hamilton, удаляются.