Порівняння двох таблиць і пошук незв’язаних записів

У деяких випадках ви, можливо, захочете порівняти дві таблиці та визначити, які записи в одній із них не мають відповідних записів в іншій. Найпростіший спосіб визначити ці записи – скористатися майстром пошуку незв’язаних записів. Коли майстер створить запит, ви можете змінити його структуру: додати або вилучити поля, додати об’єднання між двома таблицями (щоб визначити поля, значення в яких мають збігатися). Крім того, ви також можете створити власний запит на пошук незв’язаних записів, не використовуючи майстер.

У цій статті показано, як запустити майстер пошуку незв’язаних записів, змінити його вихідні дані та створити власний запит на пошук незв’язаних записів.

Примітка : У веб-програмах або веб-базах даних Access відсутня підтримка майстра пошуку незв’язаних записів.

У цій статті

Коли слід виконувати пошук незв’язаних записів

Використання майстра пошуку незв’язаних записів для порівняння двох таблиць

Створення та змінення запиту на пошук незв’язаних записів для порівняння кількох полів

Створення власного запиту пошуку незв’язаних записів

Коли слід виконувати пошук незв’язаних записів

Нижче описано два стандартних випадки, у яких може виникати потреба в порівнянні двох таблиць і пошуку незв’язаних записів. Залежно від ситуації пошук незв’язаних записів може стати першим із кількох обов’язкових кроків. У цій статі описано лише пошук незв’язаних записів.

  • В одній таблиці зберігаються дані про певну річ (наприклад, товар), а в іншій – дані про дії (наприклад, замовлення), які передбачає ця річ.    

    Наприклад, у шаблоні бази даних Northwind 2007 дані про товари зберігаються в таблиці "Товари", а дані про товари, додані до кожного замовлення, – у таблиці "Замовлення". Оскільки (згідно зі структурою) у таблиці "Товари" немає даних про замовлення, визначити продукти, які ніколи не продавалися, лише виконавши пошук у ній, неможливо. Ці відомості також неможливо визначити в одній лише таблиці "Замовлення", оскільки вона містить лише дані про продані товари. Щоб визначити товари, які ніколи не продавалися, потрібно порівняти ці дві таблиці.

    Якщо потрібно переглянути список речей із першої таблиці, для яких відсутні відповідні речі в другій таблиці, можна скористатися запитом незв’язаних записів.

  • Є дві таблиці, які містять відомості, що перекриваються, є надлишковими або конфліктують між собою, і їх потрібно об’єднати в одну таблицю.    

    Припустімо, наприклад, що є одна таблиця під назвою "Замовники" та інша таблиця під назвою "Клієнти". Ці таблиці практично ідентичні, але одна або обидві таблиці містять записи, яких немає в іншій таблиці. Для консолідації цих таблиць слід спочатку визначити записи, які є унікальними в тій чи іншій таблиці.

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

    Часто, виконавши пошук повторюваних даних у кількох таблицях, можна вирішити проблему перекриття, надлишковості або конфлікту даних.

Докладні відомості про запити на об’єднання або про пошук, приховання чи усунення повторюваних даних див. в статтях, наведених у розділі Див. також.

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

Процедура настроювання бази даних "Борей"

  1. На вкладці Файл виберіть Створити. Якщо ви використовуєте Access 2007, натисніть кнопку Microsoft Office Зображення кнопки Office , а потім натисніть кнопку Створити.

  2. Введіть у полі пошуку Northwind 2007 і виберіть відповідний шаблон або в області ліворуч у розділі Категорії шаблонів виберіть Локальні шаблони (це залежить від версії Access).

  3. У розділі Локальні шаблони виберіть Northwind 2007 і натисніть кнопку Створити.

  4. Дотримуйтеся вказівок на сторінці Northwind Traders (на вкладці об’єкта Початкова сторінка), щоб відкрити цю базу даних, а потім закрийте діалогове вікно входу.

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

Використання майстра пошуку незв’язаних записів для порівняння двох таблиць

  1. На вкладці Створення в групі Запити натисніть кнопку Майстер запитів. Якщо ви використовуєте Access 2007, на вкладці Створити в групі Інші натисніть кнопку Майстер запитів.

    Два параметри в групі "Запити" на стрічці Access: "Майстер запитів" і "Макет запиту"
  2. У діалоговому вікні Новий запит двічі клацніть пункт Майстер пошуку незв’язаних записів.

  3. На першій сторінці майстра виберіть таблицю, яка містить незв’язані записи, і натисніть кнопку Далі. Наприклад, щоб переглянути список продуктів у базі даних ­­"Борей", які ніколи не продавалися, виберіть таблицю "Products".

    Виберіть таблицю або запит у діалоговому вікні майстра пошуку незв’язаних записів
  4. На другій сторінці виберіть таблицю, пов’язану з першою таблицею, а потім натисніть кнопку Далі. Щоб виконати процедуру, описану у прикладі, виберіть таблицю "Відомості про замовлення".

    Виберіть таблицю або запит, які містять зв’язані записи, у діалоговому вікні майстра пошуку незв’язаних записів
  5. На третій сторінці виберіть поля, які зв’язують таблиці, натисніть кнопку < = >, а потім ­– кнопку Далі. У кожній таблиці можна вибрати лише одне поле. Щоб виконати процедуру, описану у прикладі, виберіть "ID" у таблиці "Products" і "Product ID" у таблиці "Order Details". Переконайтеся, що зіставлено правильні поля, переглянувши текст у полі Узгоджувальні поля.

    Виберіть відповідні поля в таблиці в діалоговому вікні майстра пошуку незв’язаних записів

    Зауважте, що, можливо, поля "ID" і "Product ID" уже вибрані через наявність зв’язків, вбудованих у шаблон.

  6. На четвертій сторінці клацніть двічі поля, які потрібно переглянути в першій таблиці, а потім натисніть кнопку Далі. Щоб виконати процедуру, описану у прикладі, виберіть поля "ID" і "Product Name".

    Виберіть поля, які потрібно відобразити в результатах запиту, у діалоговому вікні майстра пошуку незв’язаних записів
  7. На п’ятій сторінці можна, за бажання, переглянути результати або змінити структуру запиту. У цьому прикладі виберіть Переглянути результати. Прийміть пропоноване ім’я запиту та натисніть кнопку Готово.

    Введіть ім’я незв’язаних запитів у діалоговому вікні майстра пошуку незв’язаних об’єктів

    Ви, можливо, захочете змінити структуру запиту й додати до нього інші умови, змінити порядок сортування, а також додати або вилучити поля. Відомості про змінення запиту на пошук незв’язаних записів див. в наступному розділі. Загальні відомості про створення та змінення запитів див. в статтях, наведених у розділі Див. також.

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

Створення та змінення запиту на пошук незв’язаних записів для порівняння кількох полів

  1. На вкладці Створення в групі Запити натисніть кнопку Майстер запитів. Якщо ви використовуєте Access 2007, на вкладці Створити в групі Інші натисніть кнопку Майстер запитів.

  2. У діалоговому вікні Новий запит двічі клацніть пункт Майстер пошуку незв’язаних записів.

  3. На першій сторінці майстра виберіть таблицю, яка містить незв’язані записи, і натисніть кнопку Далі. Наприклад, щоб переглянути список продуктів у базі даних ­­"Борей", які ніколи не продавалися, виберіть таблицю "Products".

  4. На другій сторінці виберіть таблицю, пов’язану з першою таблицею, а потім натисніть кнопку Далі. Щоб виконати процедуру, описану у прикладі, виберіть таблицю "Відомості про замовлення".

  5. На третій сторінці виберіть поля, які зв’язують таблиці, натисніть кнопку < = >, а потім ­– Далі. У кожній таблиці можна вибрати лише одне поле. Щоб виконати процедуру, описану в прикладі, виберіть "Ідентифікатор" у таблиці "Товари" та "Ідентифікатор замовлення" в таблиці "Замовлення". Переконайтеся, що зіставлено правильні поля, переглянувши текст у полі Відповідні поля. Ви можете об’єднати поля, що залишилися, коли майстер завершить роботу.

    Зауважте, що, можливо, поля "ID" і "Product ID" уже вибрані через наявність зв’язків, вбудованих у шаблон.

  6. На четвертій сторінці клацніть двічі поля, які потрібно переглянути в першій таблиці, а потім натисніть кнопку Далі. Щоб виконати процедуру, описану у прикладі, виберіть поля "ID" і "Product Name".

  7. На п’ятій сторінці виберіть №№Змінити структуру й натисніть кнопку №№Готово.

    Запит відкриється в поданні конструктора.

  8. Зверніть увагу, що в бланку запиту дві таблиці з’єднані полями (у нашому прикладі "Ідентифікатор" та "Ідентифікатор замовлення"), вказаними на третій сторінці майстра. Створіть з’єднання для кожної пари пов’язаних полів, що залишилися. Для цього перетягніть їх із першої таблиці (таблиці, яка містить незв’язані записи) до другої таблиці. Наприклад, перетягніть поле "Ціна за прейскурантом" із таблиці "Товари" до поля "Вартість одиниці товару" в таблиці "Замовлення".

  9. Клацніть двічі об’єднання (лінію, що з’єднує поля), щоб відкрити діалогове вікно Параметри об’єднання. Для кожного об’єднання виберіть параметр, який включає всі записи з першої таблиці, і натисніть кнопку OK.

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

    Тип об’єднання можна визначити за стилем лінії.

    1. Коли ви створюєте об’єднання між полями "Ціна за прейскурантом" і "Вартість одиниці товару", воно обмежує виведення з двох таблиць. У результати запиту включаються лише записи, поля яких в обох таблицях містять однакові дані.

    2. Після змінення властивостей об’єднання обмеження накладаються лише на ту таблицю, на яку вказує стрілка.

    Примітка : Переконайтеся, що всі стрілки в об’єднаннях мають однаковий напрямок.

  10. У таблиці, яка містить пов’язані записи (у цьому прикладі це таблиця "Order Details") клацніть двічі кожне поле, об’єднане з першою таблицею, за винятком поля, вибраного на третій сторінці майстра (у цьому випадку це поле "Product ID"). Для кожного з цих полів зніміть прапорець у рядку Показати та введіть Null у рядку Умови.

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

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

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

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

Створення власного запиту на пошук незв’язаних записів

  1. На вкладці Створити в групі Запити натисніть кнопку Конструктор запитів. Якщо ви використовуєте Access 2007, на вкладці Створити в групі Інші натисніть кнопку Конструктор запитів.

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

  3. Закрийте діалогове вікно Відображення таблиці.

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

  5. Двічі клацніть об’єднання, щоб відкрити діалогове вікно Параметри об’єднання. Для кожного об’єднання виберіть параметр 2 й натисніть кнопку OK.

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

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

  6. У таблиці, яка містить незв’язані записи, клацніть двічі поля, які має повернути запит.

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

  7. У таблиці, яка містить пов’язані записи, клацніть двічі кожне поле, об’єднане з першою таблицею. Для кожного з цих полів зніміть прапорець у рядку Відображення та введіть Is Null у рядку Критерії.

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

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

Див. також

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

Пошук, приховання та видалення повторюваних даних

Об’єднання результатів кількох запитів за допомогою запиту на об’єднання

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

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

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

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

×