Использование операций поиска и многозначных полей в запросах

Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).

В Access вы можете создать Многозначное поле, содержащее несколько значений (до 100). Вы также можете создать поле подСтановки, в котором отображается понятное значение, связанное со значением в другом источнике данных. При запросе поля "подСтановка" или "многозначный" необходимо учитывать уникальные требования. Дополнительные сведения можно найти в разделе Создание или удаление многозначного поля и Создание или удаление поляподстановки.

В этой статье

Просмотр связанного значения поля подСтановки в запросе

Использование отображаемого значения для поля подСтановки в запросе

Использование многозначного поля в запросе

Добавление условий в многозначное поле в запросе

Добавление нескольких условий в многозначное поле в запросе

Группировка и подсчет многозначного поля в запросе

Использование запроса на добавление для многозначного поля

Использование запроса на обновление для многозначного поля

Использование запроса на удаление для многозначного поля

Просмотр связанного значения поля подСтановки в запросе

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

Таблицы полей подСтановки
  1. Откройте запрос в режиме конструктора.

  2. В диалоговом окне Добавление таблицы выберите таблицу, содержащую поле подстановки, щелкните другой источник данных, используемый в поле подстановки, нажмите кнопку Добавить, а затем — Закрыть. В этом примере добавьте главные и невенгланд таблицы.

    Обе таблицы должны быть объединены.

    Схема поля подСтановки

    Дополнительные сведения можно найти в разделе объединение таблиц и запросов.

  3. Перетащите поле и поле подСтановки в бланк запроса. В этом примере добавьте поле City и нестате .

  4. Щелкните поле подСтановки, а затем на вкладке конструктор в группе Показать или скрыть выберите пункт Страница свойств. В этом примере используйте поле нестате .

  5. На странице свойств откройте вкладку подСтановка, а затем в свойстве Display Control (элемент управления ) выберите пункт текстовое поле.

    Свойство «Тип элемента управления (Display Control)» в конструкторе запросов

Результат   Теперь при просмотре запроса в режиме таблицы отображается соответствующее значение, связанное с отображаемым значением.

Результат запроса, отображающий связанное значение

К началу страницы

Использование отображаемого значения для поля подСтановки в запросе

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

  1. Откройте запрос в режиме конструктора.

  2. В диалоговом окне Добавление таблицы щелкните таблицу, содержащую поле подстановки, Shift, выберите другой источник данных, используемый в поле подстановки, нажмите кнопку Добавить, а затем — Закрыть. В этом примере добавьте таблицы " Центральный офис " и " невенгланд ".

    Обе таблицы должны быть объединены. Дополнительные сведения можно найти в разделе объединение таблиц и запросов.

  3. Перетащите поля, которые вы хотите использовать, в сетку запроса. В этом примере перетащите город из таблицы центрального офиса в первый столбец, Нестате из таблицы центрального офиса в второй столбец и статенаме из таблицы невенгланд в третий столбец.

  4. Снимите флажок Показатьстатенаме в сетке запроса.

  5. В сетке запроса в разделе статенамев строке Условие отбора введите Вермонт.

    Сетка запроса, отображающая присоединенное значение поля подСтановки

    Условия запроса основываются на столбце статенаме , то есть значение, совпадающее со значением Display, нестате, но не отображается в режиме таблицы.

  6. На вкладке Конструктор в группе Результаты нажмите кнопку Выполнить.

Результат    Отображается только строка, содержащая Вермонт .

Результаты запроса

К началу страницы

Использование многозначного поля в запросе

При отображении многозначного поля в запросе можно отобразить полное Многозначное поле, содержащее все значения, разделенные запятыми, в одной строке или сведенные данные с отдельной строкой для каждого значения. Например, предположим, что у вас есть таблица проблем , в которой есть поле заголовка для каждой проблемы и AssignedTo Многозначное поле для назначения проблем людям.

Отображение всех значений в многозначном поле в одной строке

  1. Откройте запрос в режиме конструктора.

  2. В диалоговом окне Добавление таблицы выберите таблицу, содержащую Многозначное поле, нажмите кнопку Добавить, а затем — Закрыть. В этом примере добавьте таблицу " проблемы ".

  3. Перетащите поля в бланк запроса. В этом примере перетащите поле Title и AssignedTo Многозначное поле.

  4. На вкладке Конструктор в группе Результаты нажмите кнопку Выполнить.

Результат    Как и прежде всего, в одном столбце отображается поле название , а во втором — поле AssignedTo с несколькими значениями:

Запрос многозначных полей с несведенными результатами

Отображение каждого значения многозначного поля в одной строке (плоское представление)

  1. Откройте запрос в режиме конструктора.

  2. В диалоговом окне Добавление таблицы выберите таблицу, содержащую Многозначное поле, нажмите кнопку Добавить, а затем — Закрыть. В этом примере добавьте таблицу " проблемы ".

  3. Перетащите поля в сетку запроса. В этом примере перетащите поле Title и поле AssignedTo. Value , допускающее несколько значений.

    Формат _Лт_фиелднаме_гт_. Value добавляет в качестве строки свойство value. Значение в поле AssignedTo .

  4. На вкладке Конструктор в группе Результаты нажмите кнопку Выполнить.

Результат    Данные сведены таким образом, что поле названия повторяется, а каждое значение в поле AssignedTo с многозначным значением отображается в соответствующей строке.

Запрос многозначных полей с выровненными результатами

К началу страницы

Добавление условий в многозначное поле в запросе

Расположение одного и того же условия в сетке запроса в разных столбцах сетки значительно влияет на результаты запроса.

Добавление условий для отображения всех значений в многозначном поле в одной строке

Access сначала создает набор результатов, а затем добавляет условия.

  1. Откройте запрос в режиме конструктора.

  2. В диалоговом окне Добавление таблицы выберите таблицу, содержащую Многозначное поле, нажмите кнопку Добавить, а затем — Закрыть. В этом примере добавьте таблицу " проблемы ".

  3. Перетащите поля в сетку запроса. В этом примере перетащите поле Title , AssignedTo в многозначное поле и AssignedTo. Value Многозначное поле.

  4. Снимите флажок Показать в таблице " AssignedTo. Value " в сетке запроса.

  5. В сетке запроса в разделе AssignedTo. Valueв строке Условие отбора введите "not" David Hamilton ".

    Бланк запроса с прямым полем подСтановки

    Представление SQL полезно просматривать:

    Выберите Title (название), AssignedTo из проблем, где не AssignedTo. Value = "David Hamilton";

  6. На вкладке Конструктор в группе Результаты нажмите кнопку Выполнить.

Результат    Три проблемы, не присвоенные Дэвида Hamilton, отображаются в значении по умолчанию.

Результаты для многозначного поля с помощью _Лт_фиелднаме_гт_

Добавьте условия для отображения всех значений в многозначном поле одной строки (плоское представление).

Access сначала создает плоский набор результатов, а затем добавляет условия.

  1. Откройте запрос в режиме конструктора.

  2. В диалоговом окне Добавление таблицы выберите таблицу, содержащую Многозначное поле, нажмите кнопку Добавить, а затем — Закрыть. В этом примере добавьте таблицу " проблемы ".

  3. Перетащите поля в сетку запроса. В этом примере перетащите поле Title и поле AssignedTo. Value , допускающее несколько значений.

  4. В сетке запроса в разделе AssignedTo. Valueв строке Условие отбора введите Not "David Hamilton".

    Бланк запроса. Формат значения для поля подСтановки

    Представление SQL полезно просматривать:

    Выберите вопросы. Title, AssignedTo. Value из проблем, в которых не AssignedTo. Value = "David Hamilton"

  5. На вкладке Конструктор в группе Результаты нажмите кнопку Выполнить.

Результат    Каждая неполадка, не назначенная в Дэвида Hamilton, отображается в виде сведенного значения.

Результаты для многозначного поля с помощью _Лт_фиелднаме_гт_. Значение

К началу страницы

Добавление нескольких условий в многозначное поле в запросе

Иногда необходимо найти соответствие на нескольких значениях в многозначном поле. Например, предположим, что вы хотите просмотреть те проблемы, в которых значения полей "Юлия" и "Лайза Миллер" указаны в поле " AssignedTo ".

  1. Откройте запрос в режиме конструктора.

  2. В диалоговом окне Добавление таблицы выберите таблицу, содержащую Многозначное поле, нажмите кнопку Добавить, а затем — Закрыть. В этом примере добавьте таблицу " проблемы ".

  3. Перетащите поля в сетку запроса. В этом примере перетащите поле Title и AssignedTo Многозначное поле.

  4. В сетке запроса в разделе AssignedToв строке Условие отбора введите слово "Юлия" и "Лайза Миллер".

  5. На вкладке Конструктор в группе Результаты нажмите кнопку Выполнить.

Результат    Эти две проблемы, которые назначены "Юлия", и "Лайза Миллер".

Результат запроса, демонстрирующий использование оператора AND в поле, одновременно допускающем несколько значений

К началу страницы

Группировка и подсчет многозначного поля в запросе

Для выполнения вычислений, группировки и сортировки значений, хранящихся в многозначном поле, используйте _Лт_фиелднаме_гт_. Поле значения. Дополнительные сведения о запросах на групповые запросы можно найти в разделе подсчет данных с помощью запроса.

Подсчет количества задач, назначенных каждому пользователю

  1. Откройте запрос в режиме конструктора.

  2. В диалоговом окне Добавление таблицы выберите таблицу, содержащую Многозначное поле, нажмите кнопку Добавить, а затем — Закрыть. В этом примере добавьте таблицу " проблемы ".

  3. Перетащите поля, которые вы хотите использовать, в сетку запроса. В этом примере перетащите AssignedTo. Value в первый столбец и заголовок во второй столбец.

  4. На вкладке Конструктор в группе Показать или скрыть нажмите кнопку Итоги.

    В сетке запроса появится строка итог . По умолчанию в ячейке итога в каждом поле запроса отображается Группировка .

  5. В сетке запроса в разделе заголовокв строке итог нажмите кнопку подсчет.

  6. На вкладке Конструктор в группе Результаты нажмите кнопку Выполнить.

Результат    Количество проблем, назначенных каждому пользователю, отображается в плоском представлении.

Запрос, в котором подсчитываются вопросы, назначенные каждому лицу

Подсчет количества пользователей, назначенных каждому вопросу

  1. Откройте запрос в режиме конструктора.

  2. В диалоговом окне Добавление таблицы выберите таблицу, содержащую Многозначное поле, нажмите кнопку Добавить, а затем — Закрыть. В этом примере добавьте таблицу " проблемы ".

  3. Перетащите поля, которые вы хотите использовать, в сетку запроса. В этом примере перетащите заголовок в первый столбец и перетащите AssignedTo во второй столбец.

  4. На вкладке Конструктор в группе Показать или скрыть нажмите кнопку Итоги.

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

  5. В сетке запроса в разделе AssignedToв строке итог нажмите кнопку подсчет.

  6. На вкладке Конструктор в группе Результаты нажмите кнопку Выполнить.

Результат    Количество пользователей, назначенных на вопрос, выводится в плоском представлении.

Результат запроса, в котором отображается расчет числа людей, занимающихся одним вопросом

К началу страницы

Использование запроса на добавление для многозначного поля

Вы можете вставить одно значение в многозначное поле с помощью запроса на добавление. Например, предположим, что вы хотите добавить "Tom Мичаелс" в поле AssignedTo "многозначный" в таблице "проблемы".

Примечание   Это единственный тип запроса на добавление, который работает с многозначным полем.

  1. Откройте запрос в режиме конструктора.

  2. В диалоговом окне Добавление таблицы добавьте таблицу проблемы , а затем нажмите кнопку Закрыть.

  3. На вкладке конструктор нажмите кнопку Добавить.

  4. В диалоговом окне Добавление выберите пункт проблемы, а затем нажмите кнопку ОК.

  5. В строке Добавить в бланке бланка нажмите кнопку AssignedTo. Value.

  6. В строке поле бланка запроса введите "Tom мичаелс".

  7. Чтобы ограничить операцию добавления определенных проблем, добавьте в бланк запроса поле, например название, удалите заголовок из строки Добавить в , а затем введите условия, например "проблема 3".

  8. На вкладке Конструктор в группе Результаты нажмите кнопку Выполнить.

    Access может попросить вас подтвердить, что нужно добавить выбранную строку. Нажмите кнопку Да , чтобы вставить строку, или кнопку нет , чтобы отменить.

Result (результат    ) "Tom Мичаелс" теперь добавляется в поле " AssignedTo " для выпуска 3.

Важно!    Нельзя использовать запрос на добавление, который ссылается на таблицу, содержащую Многозначное поле. Например, следующий запрос является недопустимым:

INSERT INTO [NewIssues] ( ID, Title, AssignedTo ) SELECT Issues.ID, Issues.Title, Issues.AssignedTo FROM Issues;

К началу страницы

Использование запроса на обновление для многозначного поля

Вы можете использовать запрос на обновление, чтобы изменить одно значение многозначного поля на другое. В этом примере нужно обновить поле AssignedTo с многозначными значениями, чтобы заменить "Юлия" на "Лайза Миллер".

  1. Откройте запрос в режиме конструктора.

  2. В диалоговом окне Добавление таблицы добавьте таблицу проблемы , а затем нажмите кнопку Закрыть.

  3. На вкладке конструктор нажмите кнопку Обновить.

  4. Перетащите AssignedTo. Value в сетку запроса.

  5. В строке Обновление введите "Лайза Миллер".

  6. В строке Условие отбора введите "Юлия in" (накаed).

  7. На вкладке Конструктор в группе Результаты нажмите кнопку Выполнить.

    Access может попросить вас подтвердить, что нужно добавить выбранную строку. Нажмите кнопку Да , чтобы вставить строку, или кнопку нет , чтобы отменить.

Результат    Лайза Миллер заменяет Юлия в поле AssignedTo для всех соответствующих проблем.

К началу страницы

Использование запроса на удаление для многозначного поля

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

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

Удаление определенного значения из многозначного поля во всех записях

  1. На вкладке Создание в группе Запросы нажмите кнопку Конструктор запросов.

  2. В диалоговом окне Добавление таблицы добавьте таблицу проблемы , а затем нажмите кнопку Закрыть.

  3. Откройте запрос в режиме конструктора.

  4. На вкладке конструктор нажмите кнопку Удалить.

  5. В строке Условие отбора введите "David Hamilton".

  6. На вкладке Конструктор в группе Результаты нажмите кнопку Выполнить.

    Access может попросить вас подтвердить, что вы хотите удалить записи. Нажмите кнопку Да , чтобы удалить записи, или кнопку нет , чтобы отменить.

Результат    Дэвид Hamilton удаляется из всех соответствующих проблем.

Удаление записей, содержащих определенное значение в многозначном поле

  1. На вкладке Создание в группе Запросы нажмите кнопку Конструктор запросов.

  2. В диалоговом окне Добавление таблицы добавьте таблицу проблемы , а затем нажмите кнопку Закрыть.

  3. Откройте запрос в режиме конструктора.

  4. На вкладке конструктор нажмите кнопку Удалить группу.

  5. На вкладке конструктор в группе результаты щелкните стрелку рядом с кнопкой вид и выберите пункт режим SQL.

  6. Введите следующую инструкцию SQL:

    DELETE FROM Issues WHERE (((Issues.AssignedTo.Value)="David Hamilton"));

    Примечание    В этом случае вы можете использовать только инструкцию SQL, а не бланк запроса. При переходе к представлению бланка запроса в Access добавляется звездочка (*) после инструкции DELETE, которую необходимо удалить из режима SQL.

  7. На вкладке Конструктор в группе Результаты нажмите кнопку Выполнить.

    Access может попросить вас подтвердить, что вы хотите удалить записи. Нажмите кнопку Да , чтобы удалить записи, или кнопку нет , чтобы отменить.

Результат    Все проблемы, в которых назначен Дэвида Hamilton, удаляются.

К началу страницы

Совершенствование навыков работы с Office
Перейти к обучению
Первоочередный доступ к новым возможностям
Присоединиться к программе предварительной оценки Office

Были ли сведения полезными?

Спасибо за ваш отзыв!

Благодарим за отзыв! Возможно, будет полезно связать вас с одним из наших специалистов службы поддержки Office.

×