Використання багатозначних полів у запитах

Увага! : Цю статтю перекладено за допомогою служби машинного перекладу; див. застереження. Версію цієї статті англійською мовою див. тут для отримання довідки.

У Microsoft Office Access 2007 можна створити поле, яке містить кілька значень, наприклад список осіб, яким призначено завдання. Багатозначні поля зручно використовувати, наприклад, під час роботи у програмі Office Access 2007 з інформацією, яка зберігається у списку Windows SharePoint Services 3.0, що містить поле одного із типів полів, наявних у Windows SharePoint Services 3.0.

У цій статті розглядаються багатозначні поля та способи їх використання в запитах.

У цій статті

Що таке багатозначне поле?

Загальні відомості про запити

Відображення багатозначне поле в запиті

Відображення окремих значень у багатозначному полі

Приєднане значення та відображуване значення в полі підстановки

Спосіб відображення приєднаного значення в запиті

Введення умови простих запитів для багатозначного поля

Пошук кілька значень у багатозначному полі

Докладні відомості про вплив включно з. Поле значення у списку полів

Підрахунок, групування та використання інших агрегатних функцій

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

Використання запиту на оновлення з багатозначне поле

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

На початок сторінки

Що таке багатозначне поле?

Уявімо, що потрібно доручити завдання одному із працівників або підрядників, але ви вирішили доручити його кільком. У програмі Office Access 2007 можна створити багатозначне поле, в якому можна вибирати працівників зі списку.

Багатозначне поле

У полі зі списком поруч із вибраними пунктами відображатимуться прапорці. Можна встановити або зняти прапорці поруч з елементами списку та натиснути кнопку OK, щоб підтвердити вибір.

багатозначне поле зі списком

Вибрані імена працівників зберігаються в багатозначному полі та під час відображення розділяються крапкою з комою (за промовчанням).

багатозначне поле зі значеннями, розділеними крапкою з комою

Багатозначні поля полегшують роботу, якщо потрібно вибрати та зберегти кілька варіантів, не створюючи базу даних зі складнішою структурою. Багатозначні поля також важливі для інтеграції зі службами Windows SharePoint, оскільки у списках SharePoint також підтримуються багатозначні поля.

Чому у програмі Office Access 2007 дозволено зберігати кілька значень в полі, хоча в більшості систем керування реляційними базами даних це заборонено? Обробник бази даних у програмі Office Access 2007 фактично не зберігає значення в одному полі. Навіть якщо те, що користувач бачить і з чим працює, виглядає як одне поле, значення насправді зберігаються окремо та керуються у прихованих, системних таблицях. Обробник бази даних Access автоматично розподіляє дані та збирає їх для відображення значень в одному полі.

З технічної точки зору багатозначні поля Access моделюють зв’язок «багато-до-багатьох». Наприклад, розглянемо таблицю подій, в якій одного або кількох працівників призначено відповідальними за кожну подію. Уявімо, що створено багатозначне поле «Призначено», в якому призначаються події для працівників. Зв’язок між подіями та співробітниками належить до типу «багато-до-багатьох». Тобто можна призначити одну подію багатьом працівникам і кілька подій одному працівнику.

На початок сторінки

Знайомство із запитами

Основною метою існування баз даних є надання інформації, наприклад про найпопулярніший товар, найкращого клієнта, сфери, в яких фактичні показники продажу відрізняються від запланованих. Відповіді на всі ці питання можна знайти у правильно структурованій базі дані. Щоб отримати відповіді від бази даних Access, потрібно створити запит і ввести потрібні критерії. Дані в запиті можуть отримуватися з однієї або кількох таблиць. Після отримання програмою Access даних, які відповідають на питання користувача, їх можна переглянути та проаналізувати. Після створення запиту його можна використовувати як основу для форми, звіту, графіка або навіть іншого запиту.

У програмі Office Access 2007 надається можливість використовувати багатозначні поля в певних запитах і в певні способи. Можна відобразити багатозначне поле в запиті, окремі значення в багатозначному полі в запиті та виконати певні вибрані агрегатні операції та запити на змінення за допомогою багатозначних полів.

На початок сторінки

Відображення багатозначного поля в запиті

Під час застосування багатозначного поля в запиті потрібно вибрати, як відображати дані: як багатозначне поле з усіма значеннями, розділеними крапкою з комами, чи як окремі рядки для кожного значення. Наприклад, є таблиця «Завдання» із полем «Призначено», в якому працівникам призначаються завдання. Запит, який міститиме поле «Призначено», можна створити в такий спосіб:

  1. Натисніть кнопку Microsoft Office Зображення кнопки Office і виберіть пункт Відкрити.

  2. У діалоговому вікні Відкрити виберіть і відкрийте базу даних.

  3. На вкладці Створити в групі Додатково натисніть кнопку Конструктор запиту.

    Зображення стрічки Access

  4. У діалоговому вікні Відображення таблиці виберіть таблицю (у цьому прикладі «Завдання»), в якій міститься багатозначне поле, і натисніть кнопку Додати.

  5. Натисніть кнопку Закрити.

  6. Перетягніть поля, які потрібно використати, до сітки конструктора. У цьому прикладі перетягніть поле «Заголовок» і багатозначне поле «Призначено» до сітки конструктора.

  7. На вкладці Конструктор у групі Результати виберіть елемент Запуск.

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

Результат запиту, відображено поля «Заголовок» і «Призначено»

Якщо запит створюється в поданні конструктора, програмою Access автоматично генерується відповідний SQL-оператор. SQL (Structured Query Language) — це мова запитів, використовувана у програмі Access. Можна перейти до режиму SQL, щоб переглянути SQL-оператор, виконавши такі дії.

  1. На вкладці Конструктор у групі Результати клацніть стрілку під елементом Вигляд, щоб відобразити меню Вигляд.

  2. Виберіть пункт Режим SQL.

SQL-оператор виглядатиме так:

SELECT Issues.Title, 
Issues.AssignedTo
FROM Issues;

На початок сторінки

Відображення окремих значень у багатозначному полі

Уявімо, що потрібно переглянути багатозначне поле «Призначено» в розгорнутому вигляді, так, щоб кожне значення «Призначено» відображалося в окремому рядку. Для цього потрібно вказати властивість Value, додаючи рядок «.Value» до слова «Призначено» в рядку Поле, як це показано в конструкторі:

поля «заголовок» і «призначено.value» у конструкторі запиту

Після вказання поля Призначено в рядку Поле всі значення багатозначного поля відображаються програмою Access в одному рядку. Якщо використовується властивість Value, як у Призначено.Value, багатозначне поле відображається в розгорнутому вигляді — кожне значення в окремому рядку. Запит для відображення окремих значень можна створити в такий спосіб:

  1. Натисніть кнопку Microsoft Office Зображення кнопки Office і виберіть пункт Відкрити.

  2. У діалоговому вікні Відкрити виберіть і відкрийте базу даних.

  3. На вкладці Створити в групі Додатково натисніть кнопку Конструктор запиту.

    Зображення стрічки Access

  4. У діалоговому вікні Відображення таблиці виберіть таблицю (у цьому прикладі «Завдання»), в якій міститься багатозначне поле, і натисніть кнопку Додати.

  5. Натисніть кнопку Закрити.

  6. Перетягніть поля, які потрібно використати (у цьому прикладі багатозначне поле «Призначено.Value»), до сітки конструктора.

  7. На вкладці Конструктор у групі Результати виберіть елемент Запуск.

Результат запиту, відображено поля «Заголовок» і окремі значення поля «Призначено»

Якщо запит створюється в поданні конструктора, програмою Access автоматично генерується відповідний SQL-оператор. SQL (Structured Query Language) — це мова запитів, використовувана у програмі Access. Можна перейти до режиму SQL, щоб переглянути SQL-оператор, виконавши такі дії.

  1. На вкладці Конструктор у групі Результати клацніть стрілку під елементом Вигляд, щоб відобразити меню Вигляд.

  2. Виберіть пункт Режим SQL.

SQL-оператор виглядатиме так:

SELECT Issues.Title, 
Issues.AssignedTo.Value
FROM Issues;

На початок сторінки

Приєднане значення та відображуване значення в полі підстановки

Багатозначне поле — це поле підстановки. Поле підстановки — це поле таблиці, значення для якого отримується з іншої таблиці, запиту або зі списку значень. У багатьох версіях програми Access підтримуються однозначні поля підстановки. Багатозначні поля підстановки — це нова можливість у Office Access 2007. Мета використання поля підстановки — це заміна числа, наприклад ідентифікатора (або іншого значення зовнішнього ключа) іншим, більш зрозумілим елементом, як от іменем. Наприклад, замість відображення номера ідентифікатора контакту Access може відобразити ім’я контакту. Номер ідентифікатора контакту — це приєднане значення. Воно автоматично автоматично відшукується у вихідній таблиці або запиті й замінюється на ім’я контакту. Ім’я контакту — це відображуване значення.

Як і однозначне поле підстановки, багатозначне має відображувані значення, які відображаються в інтерфейсі користувача, і приєднані значення, які зберігаються в таблиці. Для кожного запису багатозначного поля відображуване значення «відшукується» на основі приєднаного значення.

Тобто в застосунку Access відображуване значення підстановки часто не збігається із приєднаним значенням, збереженим у полі. Наприклад, у попередньому прикладі, в якому використовується поле «Призначено», набір значень ідентифікаторів працівників із запиту «Додаткові відомості про контакти» зберігається в полі «Призначено». Під час створення багатозначного поля запит «Додаткові відомості про контакти» вибрано як джерело рядків.

Ці ідентифікатори працівників — приєднані значення. Оскільки поле «Призначено» є полем підстановки, програмою Access відображається набір підставлених значень в результаті запиту — тобто імена контактів. Імена контактів є відображуваними значеннями.

Порівняння таблиці даних з відображуваними значеннями та таблиці даних із приєднаними значеннями

1. Відображувані значення.

2. Приєднані значення.

Властивості багатозначного поля підстановки можна переглянути в поданні конструктора. Для цього виконайте такі дії:

  1. Натисніть кнопку Microsoft Office Зображення кнопки Office і виберіть пункт Відкрити.

  2. У діалоговому вікні Відкрити виберіть і відкрийте базу даних.

  3. В області переходів клацніть правою кнопкою миші таблицю, в якій зберігається багатозначне поле.

  4. Виберіть пункт Конструктор.

  5. Виберіть багатозначне поле (наприклад, «Призначено»).

  6. У розділі Властивості поля виберіть вкладку Підстановка.

Властивості багатозначного поля підстановки

Важливо розуміти різницю між відображуваним значенням поля підстановки та його приєднаним значенням. Відображуване значення автоматично відображається в поданні таблиці (за промовчанням). Проте приєднане значення — це значення, яке зберігається, використовується у критеріях запиту та, за промовчанням, під час зв’язування з іншими таблицями в застосунку Access.

На початок сторінки

Відображення приєднаного значення в запиті

Відображуване значення автоматично відображається в поданні таблиці (за промовчанням). Під час створення запиту цю поведінку можна змінити для відображення приєднаного значення. Для цього потрібно виконати такі дії:

  1. Натисніть кнопку Microsoft Office Зображення кнопки Office і виберіть пункт Відкрити.

  2. У діалоговому вікні Відкрити виберіть і відкрийте базу даних.

  3. На вкладці Створити в групі Додатково натисніть кнопку Конструктор запиту.

    Зображення стрічки Access

  4. У діалоговому вікні Відображення таблиці виберіть таблицю (у цьому прикладі «Завдання»), в якій міститься багатозначне поле, і натисніть кнопку Додати.

  5. Натисніть кнопку Закрити.

  6. Перетягніть поля, які потрібно використати, до сітки конструктора. У цьому прикладі перетягніть поле «Заголовок» і багатозначне поле «Призначено.Value» до сітки конструктора.

  7. Виберіть поле «Поле.Value» в сітці конструктора.

  8. На вкладці Конструктор у групі Відобразити або приховати виберіть елемент Аркуш властивостей.

  9. У вікні властивостей на вкладці Підстановка для властивості Відобразити елемент керування виберіть значення Тестове поле.

Властивість «Відобразити елемент керування» в конструкторі запитів

Після вибору для властивості «Відобразити елемент керування» значення «Текстове поле» звичайна поведінка стовпця підстановки змінюється та замість відображуваного значення з’являтиметься приєднане.

приєднане значення, відображене в результаті запиту

На початок сторінки

Введення критеріїв простого запиту для багатозначного поля

Уявімо, що потрібно переглянути завдання, призначені Ользі Лашко. Можна ввести критерії запиту в рядку критеріїв у сітці запиту, але для поля підстановки потрібно вводити не відображуване значення, а приєднане. Відомо, що приєднане значення для Ольги Лашко — 6. Це відповідне значенню первинного ключа в запиті «Додаткові відомості про контакти» для Ольги.

Створення запиту, що відображає завдання, призначені Ользі:

  1. Натисніть кнопку Microsoft Office Зображення кнопки Office і виберіть пункт Відкрити.

  2. У діалоговому вікні Відкрити виберіть і відкрийте базу даних.

  3. На вкладці Створити в групі Додатково натисніть кнопку Конструктор запиту.

    Зображення стрічки Access

  4. У діалоговому вікні Відображення таблиці виберіть таблицю (у цьому прикладі «Завдання»), в якій міститься багатозначне поле, і натисніть кнопку Додати.

  5. Натисніть кнопку Закрити.

  6. Перетягніть потрібні поля до сітки запиту. У цьому прикладі перетягніть поле Заголовок до першого стовпця в сітці. Потім перетягніть поле Призначено до другого стовпця.

  7. На вкладці сітки запиту під полем Призначено в рядку «Критерії» введіть 6. Зверніть увагу, що потрібно вводити приєднане значення, а не відображуване.

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

  8. На вкладці Конструктор у групі Результати виберіть елемент Запуск, щоб почати виконання запиту.

Результати запиту відображаються в поданні таблиці. Зауважте, запит повертає лише ті рядки, які містять запис «Ольга Лашко».

Результат запиту, в якому значення поля «Призначено» містить 6

Якщо запит створюється в поданні конструктора, програмою Access автоматично генерується відповідний SQL-оператор. SQL (Structured Query Language) — це мова запитів, використовувана у програмі Access. Можна перейти до режиму SQL, щоб переглянути SQL-оператор, виконавши такі дії.

  1. На вкладці Конструктор у групі Результати клацніть стрілку під елементом Вигляд, щоб відобразити меню Вигляд.

  2. Виберіть пункт Режим SQL.

SQL-оператор виглядатиме так:

SELECT Issues.AssignedTo
FROM Issues
WHERE (((Issues.AssignedTo.Value)=6));

Пошук тексту замість номера ідентифікатора

Уявімо, що замість записів ідентифікаторів користувачу зручніше ввести для пошуку ім’я «Ольга Лашко». Для цього в результаті запиту має бути поле, яке містить текстове ім’я. Тоді можна шукати ім’я «Ольга Лашко» в цьому полі.

Поле «Призначено.Value» не можна використати, оскільки його приєднане значення є ідентифікатором, тому для фільтрування цього поля потрібно вводити ідентифікатор.

У цьому прикладі поле імені контакту не міститься в таблиці. Воно знаходиться у вихідному запиті, що надає дані для багатозначного поля «Призначено». Вихідну таблицю або запит для багатозначного поля можна об’єднати з таблицею, що містить багатозначне поле, щоб включити поле (у цьому прикладі «Ім’я контакту») з вихідної таблиці або запиту в результат запиту. Потім можна виконувати пошук у цьому полі, а не в багатозначному.

  1. Натисніть кнопку Microsoft Office Зображення кнопки Office і виберіть пункт Відкрити.

  2. У діалоговому вікні Відкрити виберіть і відкрийте базу даних.

  3. На вкладці Створити в групі Додатково натисніть кнопку Конструктор запиту.

    Зображення стрічки Access

  4. У діалоговому вікні Відображення таблиці виберіть таблицю (у цьому прикладі «Завдання»), в якій міститься багатозначне поле, і натисніть кнопку Додати.

  5. У діалоговому вікні Відображення таблиці перейдіть на вкладку Запити, виберіть запит (у цьому прикладі «Додаткові відомості про контакти»), який є джерелом багатозначного поля, і натисніть кнопку Додати.

  6. Натисніть кнопку Закрити.

  7. Перетягніть потрібні поля до сітки запиту. У цьому прикладі перетягніть поле Заголовок з таблиці «Завдання» до першого стовпця в сітці. Потім перетягніть поле Ім’я контакту із запиту «Додаткові відомості про контакти» до другого стовпця та зніміть прапорець «Відображення». Потім перетягніть поле Призначено до третього стовпця.

  8. Якщо лінія зв’язку між полем ідентифікатора запиту «Додаткові відомості про контакти» та полем «Призначено.Value» не відображається, як показано нижче, перетягніть поле ідентифікатора запиту «Додаткові відомості про контакти» до поля «Призначено.Value» таблиці «Завдання».

    З’явиться лінія зв’язку.

    Якщо відображаються інші лінії зв’язку, видаліть їх. Щоб видалити лінію зв’язку, клацніть її, щоб виділити, і натисніть клавішу DELETE.

  9. У сітці запиту для поля Ім’я контакту в рядку критеріїв введіть «Ольга Лашко».

    Сітка запиту із критеріями «Призначено», що містять "Ольга Лашко"

  10. На вкладці Конструктор у групі Результати виберіть елемент Запуск, щоб почати виконання запиту.

Результати запиту відображаються в поданні таблиці. Зауважте, запит повертає лише ті рядки, які містять запис «Ольга Лашко». Цей метод діє, тому що зв’язок між полем ідентифікатора вихідної таблиці або запиту та полем «Призначено.Value» повертає окремий рядок для кожного значення в багатозначному полі; а кожний рядок також містить поле «Ім’я контакту» з повним іменем. Оскільки «Ім’я контакту» є обчислюваним полем, а не полем підстановки, то приєднаного та відображуваного значень немає. Є лише одне значення — ім’я контакту. Тому можна вводити текст для зіставлення, у цьому прикладі «Ольга Лашко».

Результат запиту: поле «Призначено», що містить "Ольга Лашко"

Якщо запит створюється в поданні конструктора, програмою Access автоматично генерується відповідний SQL-оператор. SQL (Structured Query Language) — це мова запитів, використовувана у програмі Access. Можна перейти до режиму SQL, щоб переглянути SQL-оператор, виконавши такі дії.

  1. На вкладці Конструктор у групі Результати клацніть стрілку під елементом Вигляд, щоб відобразити меню Вигляд.

  2. Виберіть пункт Режим SQL.

SQL-оператор виглядатиме так:

SELECT Issues.Title, Issues.AssignedTo 
FROM [Contacts Extended] INNER JOIN Issues ON
[Contacts Extended].ID = Issues.AssignedTo.Value
WHERE ((([Contacts Extended].[Contact Name])=
"Kelly Rollin"));

На початок сторінки

Пошук кількох значень у багатозначному полі

Інколи потрібно знайти збіг, що відповідає кільком значенням. Наприклад, потрібно переглянути завдання, яким у полі «Призначено» відповідають два значення: «Ольга Лашко» та «Ірина Овчарук». Приєднане значення для запису «Ольга Лашко» — 6, а приєднане значення для запису «Ірина Овчарук» — 10. Щоб вказати кілька критеріїв для багатозначного поля, можна використовувати оператори AND і OR.

Щоб створити запит, виконайте такі дії.

  1. Натисніть кнопку Microsoft Office Зображення кнопки Office і виберіть пункт Відкрити.

  2. У діалоговому вікні Відкрити виберіть і відкрийте базу даних.

  3. На вкладці Створити у групі Додатково виберіть елемент Конструктор запиту.

  4. У діалоговому вікні Відображення таблиці виберіть таблицю (у цьому прикладі «Завдання»), в якій міститься багатозначне поле, і натисніть кнопку Додати.

  5. Натисніть кнопку Закрити.

  6. Перетягніть потрібні поля до сітки запиту. У цьому прикладі перетягніть поле Заголовок до першого стовпця в сітці. Потім перетягніть поле Призначено до другого стовпця.

  7. У бланку запиту, у розділі «призначено», у рядку критерії введіть 6-10.

    запит з оператором and у багатозначному полі

  8. На вкладці Конструктор у групі Результати виберіть елемент Запуск, щоб почати виконання запиту.

Результати запиту відображаються в поданні таблиці.

Результат запиту, в якому використано оператор AND у багатозначному полі

У результатах відображено лише ті завдання, які призначено і Ользі Лашко, і Ірині Овчарук. Якщо запит створюється в поданні конструктора, програмою Access автоматично генерується відповідний SQL-оператор. SQL (Structured Query Language) — це мова запитів, використовувана у програмі Access. Можна перейти до режиму SQL, щоб переглянути SQL-оператор, виконавши такі дії.

  1. На вкладці Конструктор у групі Результати клацніть стрілку під елементом Вигляд, щоб відобразити меню Вигляд.

  2. Виберіть пункт Режим SQL.

SQL-оператор виглядатиме так:

SELECT Issues.Title, Issues.AssignedTo
FROM Issues
WHERE (((Issues.AssignedTo.Value)=6
And (Issues.AssignedTo.Value)=10));

Використання оператора OR замість оператора AND

Уявімо, що потрібно змінити запит для відображення рядків, в яких міститься запис «Ольга Лашко», або рядків із записом «Ірина Овчарук». Можна змінити SQL-оператор, щоб використати оператор OR замість оператора AND. Оператор виглядатиме так:

SELECT Issues.Title, Issues.AssignedTo
FROM Issues
WHERE (((Issues.AssignedTo.Value)=6
Or (Issues.AssignedTo.Value)=10));

Результати запиту відображаються в поданні таблиці.

запит з оператором or у багатозначному полі

У результатах відображено лише ті завдання, які призначено або Ользі Лашко, або Ірині Овчарук.

На початок сторінки

Додавання поля «.Value» до списку полів

Важливо розуміти наслідки додавання поля «.Value» до списку стовпців результатів (список SELECT) у запиті. Під час виконання запиту першим кроком є створення набору результатів без дії речення WHERE або фільтра. Потім до цього початкового набору застосовується фільтр. Тому результат слід сприймати як список, який спершу створюється, а потім скорочується за допомогою фільтра в реченні WHERE. Розглянемо такий приклад:

SELECT Issues.Title, AssignedTo
FROM Issues
WHERE NOT AssignedTo.Value = 3;

Початковий набір результатів до фільтрування може виглядати так:

Заголовок

Призначено

Завдання 1

Віктор Сидоренко, Галина Бойко

Завдання 2

Катерина Федорчук, Ольга Лашко, Олена Шумська, Ірина Овчарук

Завдання 3

Федір Іванчук, Ольга Лашко, Галина Бойко, Михайло Зайченко

Завдання 4

Павло Остапчук, Ірина Овчарук

Завдання 5

Віктор Сидоренко, Катерина Федорчук

Завдання 6

Сергій Климов, Ольга Лашко

Завдання 7

Федір Іванчук, Олена Шумська

Завдання 8

Віктор Сидоренко

Завдання 9

Ольга Лашко, Ірина Овчарук

Завдання 10

Галина Бойко, Михайло Зайченко

Потім виконується фільтрування початкового набору результатів і вибираються рядки, які не містять запис «Віктор Сидоренко», ідентифікатор якого «3»:

Заголовок

Призначено

Завдання 2

Катерина Федорчук, Ольга Лашко, Олена Шумська, Ірина Овчарук

Завдання 3

Федір Іванчук, Ольга Лашко, Галина Бойко, Михайло Зайченко

Завдання 4

Павло Остапчук, Ірина Овчарук

Завдання 6

Сергій Климов, Ольга Лашко

Завдання 7

Федір Іванчук, Олена Шумська

Завдання 9

Ольга Лашко, Ірина Овчарук

Завдання 10

Галина Бойко, Михайло Зайченко

Тепер розглянемо другий приклад, в якому включено поле «.Value» у список полів. Спершу зверніть увагу на те, як змінився початковий набір результатів через наявність поля «.Value» до фільтрування:

SELECT Issues.Title, AssignedTo.Value
FROM Issues
WHERE NOT AssignedTo.Value = 3;

Початковий набір результатів до фільтрування виглядає так:

Заголовок

Призначено.Value

Завдання 1

Віктор Сидоренко

Завдання 1

Галина Бойко

Завдання 2

Катерина Федорчук

Завдання 2

Ольга Лашко

Завдання 2

Ірина Овчарук

Завдання 2

Олена Шумська

Завдання 3

Галина Бойко

Завдання 3

Федір Іванчук

Завдання 3

Ольга Лашко

Завдання 3

Михайло Зайченко

Завдання 4

Ірина Овчарук

Завдання 4

Павло Остапчук

Завдання 5

Віктор Сидоренко

Завдання 5

Катерина Федорчук

Завдання 6

Ольга Лашко

Завдання 6

Сергій Климов

Завдання 7

Федір Іванчук

Завдання 7

Олена Шумська

Завдання 8

Віктор Сидоренко

Завдання 9

Ольга Лашко

Завдання 9

Ірина Овчарук

Завдання 10

Михайло Зайченко

Завдання 10

Галина Бойко

Тепер виконується фільтрування початкового набору результатів і вибираються лише ті рядки, які не містять запис «Віктор Сидоренко», ідентифікатор якого «3»:

Заголовок

Призначено.Value

Завдання 1

Галина Бойко

Завдання 2

Катерина Федорчук

Завдання 2

Ольга Лашко

Завдання 2

Ірина Овчарук

Завдання 2

Олена Шумська

Завдання 3

Галина Бойко

Завдання 3

Федір Іванчук

Завдання 3

Ольга Лашко

Завдання 3

Михайло Зайченко

Завдання 4

Ірина Овчарук

Завдання 4

Павло Остапчук

Завдання 5

Катерина Федорчук

Завдання 6

Ольга Лашко

Завдання 6

Сергій Климов

Завдання 7

Федір Іванчук

Завдання 7

Олена Шумська

Завдання 9

Ольга Лашко

Завдання 9

Ірина Овчарук

Завдання 10

Михайло Зайченко

Завдання 10

Галина Бойко

Візуалізація набору значень до та після застосування фільтра полегшує розуміння результату запиту.

На початок сторінки

Рахування кількості, групування та використання інших агрегатних функцій

Уявімо, що потрібно виконати обчислення для груп значень, які зберігаються в багатозначному полі. Наприклад, скільки завдань призначено одному працівнику або скільком працівникам призначено кожне завдання. Таке обчислення можна виконувати за допомогою агрегатної функції в запиті на обчислення підсумків.

Агрегатна функція обчислює набір значень і повертає одне значення. Наприклад, функції Sum, Count і Avg є трьома агрегатними функціями, які можна використовувати для обчислення підсумків. Підсумки можна обчислювати для всіх записів або груп записів. Щоб підсумувати за групою, потрібно вибрати поле або поля, за якими потрібно групувати в сітці запиту.

Нижче описано, як створити запит для підрахування кількості завдань, призначених кожному працівнику.

  1. Натисніть кнопку Microsoft Office Зображення кнопки Office і виберіть пункт Відкрити.

  2. У діалоговому вікні Відкрити виберіть і відкрийте базу даних.

  3. На вкладці Створити в групі Додатково натисніть кнопку Конструктор запиту.

    Зображення стрічки Access

  4. У діалоговому вікні Відображення таблиці виберіть таблицю (у цьому прикладі «Завдання»), в якій міститься багатозначне поле, і натисніть кнопку Додати.

  5. Натисніть кнопку Закрити.

  6. Перетягніть потрібні поля до сітки запиту. У цьому прикладі перетягніть поле Призначено.Value до першого стовпця в сітці. Потім перетягніть поле Заголовок до другого стовпця.

  7. На вкладці Конструктор у групі Відобразити або приховати виберіть елемент Підсумки.

    У сітці запиту з’явиться рядок Підсумок. Для кожного поля запиту за промовчанням відображається рядок Групувати за у клітинці Підсумок.

  8. У сітці запиту під полем Заголовок у рядку Підсумок виберіть пункт Кількість.

  9. На вкладці Конструктор у групі Результати виберіть елемент Запуск, щоб почати виконання запиту.

Під час створення запиту вказується, які поля слід використовувати для групування, а які — для підсумків (обчислень). У цьому прикладі поле «Призначено.Value» використовується для групування, а поле «Заголовок» — для обчислення підсумків. Для полів, які потрібно використовувати для групування, виберіть пункт Групувати за в рядку Підсумок. Для полів, які потрібно використовувати для обчислення підсумків, виберіть тип обчислення (наприклад Sum або Avg). Зауважте, що в разі використання багатозначного поля для групування, потрібно вибирати поле «.Value». У цьому прикладі поле «Призначено» не можна використати для групування — потрібно вибрати поле «Призначено.Value». Також потрібно вибирати поле «.Value» в разі використання багатозначного поля для сортування.

Примітка : У разі використання багатозначного поля для групування, потрібно вибирати поле «.Value». У разі використання багатозначного поля для сортування, потрібно вибирати поле «.Value».

Результати запиту відображаються в поданні таблиці.

Запит для обчислення кількості завдань, призначених кожному працівнику

Щоб переглянути SQL-оператор для цього запиту, перейдіть до режиму SQL, виконавши такі дії.

  1. На вкладці Конструктор у групі Результати клацніть стрілку під елементом Вигляд, щоб відобразити меню Вигляд.

  2. Виберіть пункт Режим SQL.

SQL-оператор виглядатиме так:

SELECT Issues.AssignedTo.Value, 
Count(Issues.Title) AS CountOfTitle
FROM Issues
GROUP BY Issues.AssignedTo.Value;

Уявімо, що потрібно дізнатися, скільком працівникам призначено кожне завдання. Можна виконати групування за полем «Заголовок» і вибрати пункт «Кількість» як обчислення для багатозначного поля. Щоб створити запит, виконайте такі дії.

  1. Натисніть кнопку Microsoft Office Зображення кнопки Office і виберіть пункт Відкрити.

  2. У діалоговому вікні Відкрити виберіть і відкрийте базу даних.

  3. На вкладці Створити в групі Додатково натисніть кнопку Конструктор запиту.

    Зображення стрічки Access

  4. У діалоговому вікні Відображення таблиці виберіть таблицю (у цьому прикладі «Завдання»), в якій міститься багатозначне поле, і натисніть кнопку Додати.

  5. Натисніть кнопку Закрити.

  6. Перетягніть потрібні поля до сітки запиту. У цьому прикладі перетягніть поле Заголовок до першого стовпця в сітці. Потім перетягніть поле Призначено до другого стовпця.

  7. На вкладці Конструктор у групі Відобразити або приховати виберіть елемент Підсумки.

    У сітці запиту з’явиться рядок Підсумок. У запиті для поля «Заголовок» у клітинці Підсумок за промовчанням відображено пункт Групувати за. Для поля «Призначено» у клітинці Підсумок вибрано за промовчанням пункт Вираз — тому що операцію «Групувати за» не можна виконувати з багатозначним полем. Її можна виконати лише з багатозначним полем «.Value».

  8. У сітці запиту для поля Призначено в рядку Підсумок виберіть пункт Кількість.

  9. На вкладці Конструктор у групі Результати виберіть елемент Запуск, щоб почати виконання запиту.

Результати запиту відображаються в поданні таблиці.

Результат запиту: кількість працівників для кожного завдання

Щоб переглянути SQL-оператор для цього запиту, перейдіть до режиму SQL, виконавши такі дії.

  1. На вкладці Конструктор у групі Результати клацніть стрілку під елементом Вигляд, щоб відобразити меню Вигляд.

  2. Виберіть пункт Режим SQL.

SQL-оператор виглядатиме так:

SELECT Issues.Title, 
Count(Issues.AssignedTo) AS CountOfAssignedTo
FROM Issues
GROUP BY Issues.Title;

Примітка : У цьому SQL-операторі SELECT не важливо, який вираз використовується, Count(Завдання.Призначено) або Count(Завдання.Призначено.Value), — результат однаковий.

На початок сторінки

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

За допомогою запиту на вставлення можна вставити одне значення в багатозначне поле. Наприклад, для одного завдання потрібно додати запис «Ольга Лашко» до багатозначного поля «Призначено». Спочатку потрібно визначити значення первинного ключа для цього завдання та запису контакту «Ольга». Уявімо, що ці значення відповідають значенням «10» для завдання та «6» для запису «Ольга».

Нижче описано, як створити запит.

  1. Натисніть кнопку Microsoft Office Зображення кнопки Office і виберіть пункт Відкрити.

  2. У діалоговому вікні Відкрити виберіть і відкрийте базу даних.

  3. На вкладці Створити в групі Додатково натисніть кнопку Конструктор запиту.

    Зображення стрічки Access

  4. У діалоговому вікні Відображення таблиці натисніть кнопку Закрити.

  5. На вкладці Конструктор у групі Результати клацніть стрілку під елементом Вигляд, щоб відобразити меню Вигляд.

  6. Виберіть пункт Режим SQL.

  7. У режимі SQL введіть такий SQL-оператор:

    INSERT INTO Issues ( AssignedTo.[Value] )
    VALUES (6)
    WHERE ID = 10;
  8. На вкладці Конструктор у групі Результати виберіть елемент Запуск, щоб почати виконання запиту.

    Можливо, відобразиться запит програми Access на підтвердження додавання вибраного рядка. Натисніть кнопку Так, щоб вставити рядок, або кнопку Ні, щоб скасувати.

Тепер ім’я «Ольга» вставлено в поле «Призначено» для цього завдання. Це єдина форма запиту на вставлення, яку можна використовувати для багатозначного поля.

Примітка : Запит на додавання — це запит, що використовується для додавання записів з однієї таблиці до іншої наявної таблиці. У застосунку Office Access 2007 не можна використовувати запит на додавання, що посилається на таблицю, яка містить багатозначне поле. Наприклад, такий запит недійсний:

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

На початок сторінки

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

Запит на оновлення використовується для змінення значень у наявних записах. Під час використання запиту на оновлення для оновлення таблиці, що містить багатозначні поля, можна змінити окреме значення в багатозначному полі на інше. Уявімо, що потрібно оновити багатозначне поле «Призначено» для певного завдання — наприклад, замінити ім’я «Ольга Лашко» на ім’я «Ірина Овчарук». Спочатку потрібно визначити значення первинного ключа для цього завдання та записів контактів «Ольга» та «Ірина». Вважатимемо, що 8 — це значення для завдання, 6 — значення для контакту «Ольга», а 10 — для контакту «Ірина».

Нижче описано, як створити запит.

  1. Натисніть кнопку Microsoft Office Зображення кнопки Office і виберіть пункт Відкрити.

  2. У діалоговому вікні Відкрити виберіть і відкрийте базу даних.

  3. На вкладці Створити у групі Додатково виберіть елемент Конструктор запиту.

  4. У діалоговому вікні Відображення таблиці натисніть кнопку Закрити.

  5. На вкладці Конструктор у групі Результати клацніть стрілку під елементом Вигляд, щоб відобразити меню Вигляд.

  6. Виберіть пункт Режим SQL.

  7. У режимі SQL введіть такий SQL-оператор:

    UPDATE Issues 
    SET Issues.AssignedTo.Value = 10
    WHERE (((Issues.AssignedTo.Value)=6)
    AND ((Issues.ID)=8));

    Примітки : 

    • Слід завжди додавати речення WHERE, що ідентифікує лише ті записи, які потрібно оновити. Інакше оновлюватимуться записи, які не потрібно змінювати. Запит на оновлення, який не містить речення WHERE, змінює кожний рядок таблиці.

    • Можна вказати одне значення, яке потрібно змінити.

  8. На вкладці Конструктор у групі Результати виберіть елемент Запуск, щоб почати виконання запиту.

    Можливо, відобразиться запит програми Access на підтвердження оновлення запису. Натисніть кнопку Так, щоб оновити рядок, або кнопку Ні, щоб скасувати.

Тепер у полі «Призначено» для завдання замість запису «Ольга Лашко» міститься запис «Ірина Овчарук».

На початок сторінки

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

Запит на видалення використовується для видалення записів із таблиці. Під час роботи з таблицею, в якій міститься багатозначне поле, за допомогою запиту на видалення можна видалити записи, що містять певне значення в багатозначному полі, або певне значення з багатозначного поля в усіх записах таблиці.

Наприклад, потрібно видалити контакт «Ольга Лашко» з поля «Призначено» в усій таблиці. Створіть запит, виконавши такі дії.

  1. Натисніть кнопку Microsoft Office Зображення кнопки Office і виберіть пункт Відкрити.

  2. У діалоговому вікні Відкрити виберіть і відкрийте базу даних.

  3. На вкладці Створити у групі Додатково виберіть елемент Конструктор запиту.

  4. У діалоговому вікні Відображення таблиці натисніть кнопку Закрити.

  5. На вкладці Конструктор у групі Результати клацніть стрілку під елементом Вигляд, щоб відобразити меню Вигляд.

  6. Виберіть пункт Режим SQL.

  7. У режимі SQL введіть такий SQL-оператор:

    DELETE Issues.AssignedTo.Value
    FROM Issues
    WHERE (((Issues.AssignedTo.Value)=6));
  8. На вкладці Конструктор у групі Результати виберіть елемент Запуск, щоб почати виконання запиту.

    Можливо, відобразиться запит програми Access на підтвердження видалення записів. Натисніть кнопку Так, щоб видалити записи, або кнопку Ні, щоб скасувати.

Запит у прикладі, наведеному нижче, не видаляє жодних записів із таблиці «Завдання». Видаляються значення з багатозначного поля «Призначено» в кожному записі, який містить це значення. Якщо потрібно видалити записи з таблиці «Завдання», не вказуйте поле після речення DELETE в SQL-операторі. Наприклад, щоб видалити всі завдання, для яких є запис «Ольга Лашко» у списку працівників, яким призначено завдання, введіть такий SQL-оператор:

DELETE 
FROM Issues
WHERE (((Issues.AssignedTo.Value)=6));

Примітка : Після видалення записів за допомогою запиту на видалення відновити записи не можна, тому використовуйте цей запит обережно.

На початок сторінки

Примітка : Застереження про машинний переклад: Цю статтю перекладено комп’ютерною системою без втручання людини. Корпорація Майкрософт пропонує таку послугу, щоб іншомовні користувачі могли дізнаватися про продукти, служби й технології Microsoft. Оскільки статтю перекладено за допомогою служби машинного перекладу, вона може містити смислові, синтаксичні або граматичні помилки.

Отримуйте нові функції раніше за інших
Приєднайтеся до оцінювачів Office

Ця інформація корисна?

Дякуємо за ваш відгук!

Дякуємо за відгук! Схоже, вам може стати в нагоді допомога одного з наших спеціалістів служби підтримки Office, з яким ми вас можемо з’єднати.

×