У програмі Access можна створити багатозначне поле, яке містить кілька значень (до 100). Також можна створити поле підстановки, у якому відображатиметься зрозуміле користувачу значення, прив'язане до значення в іншому джерелі даних. Створення запиту до поля підстановки або багатозначного поля має свої особливості. Докладні відомості див. в статтях "Створення або видалення багатозначного поля " та "Створення або видалення поля підстановки".
У цій статті
- Перегляд приєднаного значення поля підстановки в запиті
- Використання відображуваного значення для поля підстановки в запиті
- Використання багатозначного поля в запиті
- Додавання умов до багатозначного поля в запиті
- Додавання кількох умов до багатозначного поля в запиті
- Групування та підрахунок багатозначного поля в запиті
- Використання запиту на додавання з багатозначним полем
- Використання запиту на оновлення з багатозначним полем
- Використання запиту на видалення з багатозначним полем
Перегляд приєднаного значення поля підстановки в запиті
За замовчуванням відображуване значення поля підстановки автоматично відображається у вікні табличного подання даних запиту. Під час створення запиту цю поведінку можна змінити, щоб замість нього відображалося приєднане значення. Припустімо, у цьому прикладі потрібно побачити приєднане значення поля підстановки в таблиці штаб-квартири, яка "шукає" назву штату Нова Англія.
Відкрийте запит у режимі конструктора.
У цьому прикладі додайте таблиці "Штаб-квартира " та "Нова Англія ".
Ці дві таблиці мають бути об'єднані.
Докладні відомості див. в статті "Об'єднання таблиць і запитів".
Перетягніть поле А разом із полем підстановки до сітки макета запиту. У цьому прикладі додайте поле "Місто " та "Таблиця ".
Клацніть поле "Підстановка", а потім на вкладці "Конструктор " у групі "Відобразити або приховати " натисніть кнопку "Аркуш властивостей". У цьому прикладі використовується поле NEState .
У вікні властивостей перейдіть на вкладку "Підстановка ", а потім у властивості "Відобразити елемент керування " виберіть "Текстове поле".
Підсумок Тепер під час перегляду запиту у вікні табличного подання даних відображатиметься відповідне приєднане до відображуваного значення.
Використання відображуваного значення для поля підстановки в запиті
Коли ви створюєте поле підстановки, створюється об'єднання між приєднаним і відображуваним значеннями. Хоча відображуване значення не можна безпосередньо використовувати в запиті, відповідне значення можна використати з іншого джерела даних. Припустімо, що в цьому прикладі як умову потрібно використати в запиті відображуване значення поля підстановки ( NEState) у таблиці штаб-квартири .
Відкрийте запит у режимі конструктора.
У цьому прикладі додайте таблиці "Штаб-квартира " та "Нова Англія ".
Ці дві таблиці мають бути об'єднані. Докладні відомості див. в статті "Об'єднання таблиць і запитів".Перетягніть потрібні поля до сітки запиту. У цьому прикладі перетягніть " Місто " з таблиці "Штаб-квартира" до першого стовпця, "NEState " – із таблиці "Штаб-квартира" – до другого стовпця, а стовпець "StateName" – із таблиці "NewEngland" до третього стовпця.
Зніміть прапорець поруч із параметром "Назва_області " в сітці запиту.
У сітці запиту в розділі "Назва_області" в рядку "Критерії" введіть "Вермонт".
Умови запиту базуються на стовпці StateName , який, звичайно, має те саме значення, що й відображуване значення NEState, але не відображається в поданні таблиці.
На вкладці Конструктор у групі Результати натисніть кнопку Запуск.
Підсумок Відображається лише рядок, який містить слово "Вермонт ".
початок сторінки результатів запиту
Використання багатозначного поля в запиті
Коли ви відображаєте багатозначне поле в запиті, ви можете відобразити повне багатозначне поле, яке містить усі значення, розділені комами в одному рядку, або зведені дані з окремим рядком для кожного значення. Наприклад, у вас є таблиця "Питання ", яка містить поле "Назва " для кожного питання та багатозначне поле " Призначено", де можна призначати питання користувачам.
Відображення всіх значень багатозначного поля в одному рядку
- Відкрийте запит у режимі конструктора.
- У цьому прикладі додайте таблицю "Питання ".
- Перетягніть поля до бланка запиту. У цьому прикладі перетягніть поле "Назва " та багатозначне поле " Призначено ".
- На вкладці Конструктор у групі Результати натисніть кнопку Запуск.
Підсумок Як ви, можливо, і сподівалися, в одному стовпці відображається поле "Назва ", а в другому – багатозначне поле " Призначено" :
Відображення всіх значень багатозначного поля в одному рядку (зведене подання)
- Відкрийте запит у режимі конструктора.
- У цьому прикладі додайте таблицю "Питання ".
- Перетягніть потрібні поля до сітки запиту. У цьому прикладі перетягніть поле "Назва " та багатозначне поле "Призначено.Value ".
Формат, <Ім'я> поля. Value, додає властивість Value як рядок . Значення поля «Призначено ». - На вкладці Конструктор у групі Результати натисніть кнопку Запуск.
Підсумок Дані буде зведено таким чином, що поле "Назва " повторюватиметься, а кожне значення в багатозначному полі " Призначено " відображатиметься у відповідному рядку:
Додавання умов до багатозначного поля в запиті
Розміщення однакових умов у сітці запиту в різних стовпцях дуже впливає на результати запиту.
Додавання умови, яка відображає всі значення в багатозначному полі в одному рядку
Спочатку Access створює набір результатів, а потім додає умови.
Відкрийте запит у режимі конструктора.
У цьому прикладі додайте таблицю "Питання ".
Перетягніть потрібні поля до сітки запиту. У цьому прикладі перетягніть поле "Посада ", багатозначне поле " Призначено " та багатозначне поле " Призначено.Значення ".
Зніміть прапорець біля поля «Призначено.значення.» у сітці запиту.
У сітці запиту в розділі AssignedTo.Value у рядку Умови введіть "NOT "David Hamilton".
Корисно бачити режим SQL:
SELECT Title, AssignedTo FROM Issues WHERE NOT AssignedTo.Value = "David Hamilton";На вкладці Конструктор у групі Результати натисніть кнопку Запуск.
Підсумок Три питання, не призначені Девіду Гамільтону, відображаються в значенні за замовчуванням.
Додавання умови, за якої всі значення багатозначного поля відображаються в одному рядку (подання зі зведенням)
Спочатку в Access створюється зведений набір результатів, а потім додаються умови.
Відкрийте запит у режимі конструктора.
У цьому прикладі додайте таблицю "Питання ".
Перетягніть потрібні поля до сітки запиту. У цьому прикладі перетягніть поле "Назва " та багатозначне поле "Призначено.Value ".
У сітці запиту в полі "Призначено.Значення" в рядку "Критерії " введіть NOT "Давид Гамільтон".
Корисно бачити режим SQL:
SELECT Issues.Title, AssignedTo.Value FROM Issues WHERE NOT AssignedTo.Value = "David Hamilton"На вкладці Конструктор у групі Результати натисніть кнопку Запуск.
Підсумок Кожна проблема, не призначена Девіду Гамільтону, відображається у зведеному вигляді.
Додавання кількох умов до багатозначного поля в запиті
Іноді потрібно шукати відповідність за кількома значеннями в багатозначному полі. Наприклад, припустімо, що потрібно переглянути питання, у яких значення в полі "Призначено " належать "Катерина Валлін" і "Тараса Петренко"
- Відкрийте запит у режимі конструктора.
- У цьому прикладі додайте таблицю "Питання ".
- Перетягніть потрібні поля до сітки запиту. У цьому прикладі перетягніть поле "Назва " та багатозначне поле " Призначено ".
- У сітці запиту в розділі "Призначено" в рядку "Критерії " введіть "Катерина Роллін" ТА "Ліза Мельник".
- На вкладці Конструктор у групі Результати натисніть кнопку Запуск.
Підсумок Відображаються ті два випуски, які призначені "Келлі Роллін" і "Лізі Міллер".
Групування та підрахунок багатозначного поля в запиті
Для обчислень, групування та сортування значень, які зберігаються в багатозначному полі, використовуйте поле <Fieldname>. Поле значення. Докладні відомості про групові запити див. в статті "Обчислення даних за допомогою запиту".
Підрахунок кількості завдань, призначених кожному користувачу
- Відкрийте запит у режимі конструктора.
- У цьому прикладі додайте таблицю "Питання ".
- Перетягніть потрібні поля до сітки запиту. У цьому прикладі перетягніть елемент AssignedTo.Value до першого стовпця, а Title – до другого.
- На вкладці Конструктор у групі Відображення або приховання натисніть кнопку Підсумки.
На сітці запиту з'явиться рядок підсумків . Прапорець "Групувати за " відображається за замовчуванням у клітинці підсумків під кожним полем у запиті. - У сітці запиту в розділі "Назва" в рядку підсумків клацніть елемент "Кількість".
- На вкладці Конструктор у групі Результати натисніть кнопку Запуск.
Підсумок Кількість завдань, призначених кожному користувачеві, відображається у зведеному поданні.
Підрахунок кількості користувачів, призначених кожному питанню
- Відкрийте запит у режимі конструктора.
- У цьому прикладі додайте таблицю "Питання ".
- Перетягніть потрібні поля до сітки запиту. У цьому прикладі перетягніть поле Title до першого стовпця, а потім – до другого.
- На вкладці Конструктор у групі Відображення або приховання натисніть кнопку Підсумки.
На сітці запиту з'явиться рядок підсумків . Поле "Групувати за" за замовчуванням відображається в клітинці "Підсумок " під полем "Назва" запиту. Вираз відображається за промовчанням у клітинці "Підсумок " під полем "Призначено", оскільки операцію "Групувати за" не можна виконати безпосередньо для багатозначного поля, а лише <для поля "Ім'я> поля". Поле значення. - У сітці запиту в розділі "Призначено" в рядку підсумків клацніть елемент "Кількість".
- На вкладці Конструктор у групі Результати натисніть кнопку Запуск.
Підсумок Кількість осіб, призначених для кожного питання, відображається у зведеному поданні.
Використання запиту на додавання з багатозначним полем
У багатозначне поле можна вставити окреме значення за допомогою запиту на додавання. Наприклад, припустімо, що до багатозначного поля "Призначено" в таблиці "Питання" потрібно додати ім'я "Тарас Михайло".
Примітка Це єдиний тип запиту на додавання, що працює з багатозначним полем.
- Відкрийте запит у режимі конструктора.
- Додайте таблицю "Питання ".
- На вкладці "Конструктор " натисніть кнопку "Додати".
- У діалоговому вікні "Додавання" виберіть пункт "Питання" та натисніть кнопку "OK".
- У рядку конструктора «Додавання до» виберіть елемент «Призначено.Значення».
- У рядку "Поле " сітки макета введіть "Тарас Михайло".
- Щоб обмежити операції додавання певними питаннями, додайте поле до сітки макета, наприклад "Назва", видаліть поле "Заголовок " із рядка " Додавання до" та введіть критерії, наприклад "Питання 3".
- На вкладці Конструктор у групі Результати натисніть кнопку Запуск.
Програма Access може запитати підтвердження того, чи потрібно додавати вибраний рядок. Натисніть кнопку " Так ", щоб вставити рядок, або кнопку "Ні ", щоб скасувати дію.
Підсумок "Tom Michaels" тепер додано до поля "Призначено" у випуску 3.
Важливо Не можна використовувати запит на додавання, що посилається на таблицю, яка містить багатозначне поле. Наприклад, цей запит неприпустимий:
INSERT INTO [NewIssues] ( ID, Title, AssignedTo ) SELECT Issues.ID, Issues.Title, Issues.AssignedTo FROM Issues;
Використання запиту на оновлення з багатозначним полем
За допомогою запиту на оновлення можна змінювати одне значення в багатозначному полі на інше. У цьому прикладі потрібно оновити багатозначне поле "Призначено", замінивши "Ольга Кроллін" на "Тараса Снігур".
- Відкрийте запит у режимі конструктора.
- Додайте таблицю "Питання ".
- На вкладці " Конструктор " натисніть кнопку "Оновити".
- Перетягніть елемент «Призначено.значення» до сітки запиту.
- У рядку " Оновлення до" введіть "Ліза Мевченко".
- У рядку "Критерії " введіть "Катерина Роллін".
- На вкладці Конструктор у групі Результати натисніть кнопку Запуск.
Програма Access може запитати підтвердження того, чи потрібно додавати вибраний рядок. Натисніть кнопку " Так ", щоб вставити рядок, або кнопку "Ні ", щоб скасувати дію.
Підсумок Ліза Міллер замінює Келлі Роллін у полі "Призначено" для всіх відповідних проблем.
Використання запиту на видалення з багатозначним полем
Працюючи з таблицею, яка містить багатозначне поле, можна використовувати запит на видалення, щоб видалити записи, які містять певне значення в багатозначному полі, або видалити певне значення з багатозначного поля в усіх записах таблиці. У прикладі нижче припустімо, що потрібно видалити "Давид Гамільтон" із таблиці "Питання".
Важливо Коли багатозначне поле з даними використовується за допомогою запиту на видалення, ці дані остаточно втрачаються, і відновити їх неможливо. З цієї причини необхідно створити резервну копію бази даних, перш ніж видаляти будь-які поля таблиці або інші компоненти бази даних.
Видалення певного значення з багатозначного поля в усіх записах
- На вкладці Створити в групі Запити натисніть кнопку Конструктор запитів.
- Додайте таблицю "Питання ".
- Відкрийте запит у режимі конструктора.
- На вкладці " Конструктор " натисніть кнопку "Видалити".
- У рядку "Критерії " введіть "Давид Гамільтон".
- На вкладці Конструктор у групі Результати натисніть кнопку Запуск.
Програма Access може запитати підтвердження того, чи потрібно видаляти записи. Натисніть кнопку " Так ", щоб видалити записи, або кнопку "Ні ", щоб скасувати.
Підсумок Девід Гамільтон усувається з усіх відповідних питань.
Видалення записів, які містять певне значення в багатозначному полі
На вкладці Створити в групі Запити натисніть кнопку Конструктор запитів.
Додайте таблицю "Питання ".
Відкрийте запит у режимі конструктора.
On the Design tab, click Delete group.
На вкладці " Конструктор " у групі "Результати " клацніть стрілку під кнопкою "Вигляд" і виберіть пункт "Режим SQL".
Введіть таку інструкцію SQL:
DELETE FROM Issues WHERE (((Issues.AssignedTo.Value)="David Hamilton"));Примітка У цьому випадку можна використовувати лише інструкцію SQL, а не сітку конструктора. Якщо перейти до подання сітки конструктора, після оператора DELETE буде додано зірочку (*), яку слід вилучити з режиму SQL.
На вкладці Конструктор у групі Результати натисніть кнопку Запуск.
Програма Access може запитати підтвердження того, чи потрібно видаляти записи. Натисніть кнопку " Так ", щоб видалити записи, або кнопку "Ні ", щоб скасувати.
Підсумок Усі проблеми, пов'язані з призначенням Девіда Гамільтона, видаляються.