Porównywanie dwóch tabel i wyszukiwanie niedopasowanych rekordów

Czasem możesz chcieć porównać dwie tabele i zidentyfikować rekordy w jednej z tabel, które nie mają odpowiednika w drugiej tabeli. Najłatwiejszym sposobem zidentyfikowania tych rekordów jest użycie Kreatora zapytań wyszukujących niepasujące dane. Gdy Kreator utworzy zapytanie, możesz zmodyfikować jego projekt, aby dodać lub usunąć pola, albo dodać sprzężenia między dwoma tabelami (w celu wskazania pól, których wartości powinny być zgodne). Oprócz tego możesz również utworzyć własne zapytanie, aby znaleźć niepasujące rekordy, bez użycia kreatora.

W tym artykule pokazano, jak uruchomić i używać Kreatora zapytań wyszukujących niepasujące dane, jak zmodyfikować dane wyjściowe kreatora oraz jak utworzyć własne zapytanie w celu znalezienia niepasujących rekordów.

Uwaga : Kreator zapytań wyszukujących niepasujące dane nie jest obsługiwany w internetowych bazach danych ani aplikacjach programu Access.

W tym artykule

Kiedy należy wyszukiwać niepasujące rekordy?

Porównywanie dwóch tabel przy użyciu Kreatora zapytań wyszukujących niepasujące dane

Tworzenie i modyfikowanie zapytania wyszukującego niepasujące dane w celu porównania według więcej niż jednego pola

Tworzenie własnego zapytania w celu znalezienia niepasujących rekordów

Kiedy należy wyszukiwać niepasujące rekordy?

Poniżej opisano dwa typowe przypadki, w których może zajść potrzeba porównania dwóch tabel i wyszukania niepasujących rekordów. W zależności od Twojej sytuacji wyszukiwanie niepasujących rekordów może być pierwszym z kilku kroków do wykonania. W tym artykule omówiono tylko wyszukiwanie niepasujących rekordów.

  • Jedna tabela służy do przechowywania danych o elemencie (takim jak produkt), a w drugiej są przechowywane dane o akcjach dotyczących tego elementu (takich jak zamówienia).    

    Na przykład w szablonie bazy danych Northwind dane o produktach są przechowywane w tabeli Produkty, a dane o produktach, które znajdują się w poszczególnych zamówieniach, są przechowywane w tabeli Szczegóły zamówień. Ponieważ (zgodnie z projektem) dane o zamówieniach nie są przechowywane w tabeli Produkty, nie można, patrząc jedynie na tabelę Produkty, rozpoznać produktów, które nie zostały nigdy sprzedane. Nie pozwala na to także przeglądanie samej tabeli Szczegóły zamówień, ponieważ są w niej przechowywane tylko dane o sprzedanych produktach. Aby ustalić, jakie produkty nie zostały nigdy sprzedane, należy porównać obie tabele.

    Aby przejrzeć listę elementów z pierwszej tabeli, które nie mają odpowiadających im akcji w drugiej tabeli, można użyć zapytania wyszukującego niepasujące dane.

  • W dwóch tabelach znajdują się informacje nakładające się, zbędne lub sprzeczne, które trzeba połączyć w jednej tabeli.    

    Załóżmy na przykład, że pierwsza tabela nazywa się Odbiorcy, a druga Klienci. Tabele są niemal identyczne, ale co najmniej jedna z nich zawiera rekordy, których brakuje w drugiej tabeli. Aby skonsolidować tabele, należy wcześniej ustalić, które rekordy są unikatowe dla poszczególnych tabel.

    W takiej sytuacji metody opisane w tym artykule mogą pomóc, ale prawdopodobnie trzeba będzie wykonać dalsze czynności. Za pomocą Kreatora zapytań wyszukujących niepasujące dane można zidentyfikować niepasujące rekordy, ale pobranie połączonego zestawu rekordów wymaga użycia wyników wyszukiwania w celu utworzenia zapytania składającego. Użytkownicy potrafiący pisać instrukcje w języku SQL (Structured Query Language) mogą nie używać Kreatora zapytań wyszukujących niepasujące dane i ręcznie napisać zapytanie składające.

    Problem z informacjami nakładającymi się, zbędnymi lub sprzecznymi można spróbować rozwiązać, szukając zduplikowanych danych w co najmniej dwóch tabelach.

Aby uzyskać więcej informacji na temat zapytań składających lub wyszukiwania, ukrywania i usuwania zduplikowanych danych, kliknij linki w sekcji Zobacz też.

Uwaga : W przykładach zawartych w tym artykule została użyta baza danych utworzona za pomocą szablonu bazy danych Northwind.

Pokaż, jak skonfigurować bazę danych Northwind

  1. Na karcie Plik kliknij pozycję Nowy. Uwaga: jeśli korzystasz z programu Access 2007, kliknij przycisk pakietu Microsoft Office Obraz przycisku pakietu Office , a następnie kliknij polecenie Nowy.

  2. W zależności od używanej wersji programu Access, możesz wyszukać bazę danych Northwind za pomocą pola wyszukiwania lub w okienku po lewej stronie, w obszarze Kategorie szablonów, kliknąć pozycję Lokalne szablony.

  3. W obszarze Lokalne szablony kliknij pozycję Northwind 2007 — przykład, a następnie kliknij pozycję Utwórz.

  4. Postępuj zgodnie ze wskazówkami na stronie Northwind Traders (na karcie obiektu Ekran uruchamiania), aby otworzyć bazę danych, a następnie zamknij okno dialogowe Logowanie.

Początek strony

Porównywanie dwóch tabel przy użyciu Kreatora kwerend wyszukujących niepasujące dane

  1. Na karcie Tworzenie w grupie Zapytania kliknij pozycję Kreator zapytań. Uwaga: jeśli korzystasz z programu Access 2007, na karcie Tworzenie w grupie Inne kliknij pozycję Kreator zapytań.

    W grupie Zapytania na wstążce programu Access są wyświetlane dwie opcje: Kreator zapytań i Projekt zapytania
  2. W oknie dialogowym Nowa kwerenda kliknij dwukrotnie pozycję Kreator kwerend wyszukujących niepasujące dane.

  3. Na pierwszej stronie kreatora wybierz tabelę zawierającą niedopasowane rekordy, a następnie kliknij przycisk Dalej. Jeśli na przykład chcesz wyświetlić listę niesprzedanych produktów z bazy danych Northwind, wybierz tabelę Produkty.

    Wybierz tabelę lub zapytanie w oknie dialogowym Kreator zapytań wyszukujących niepasujące dane
  4. Na drugiej stronie wybierz tabelę powiązaną, a następnie kliknij przycisk Dalej. Aby postępować zgodnie z przykładem, wybierz tabelę Szczegóły zamówień.

    Wybierz tabelę lub zapytanie zawierające rekordy pokrewne w oknie dialogowym Kreator zapytań wyszukujących niepasujące dane
  5. Na trzeciej stronie zaznacz pola tworzące relacje z tabelami, kliknij pozycję < = >, a następnie kliknij przycisk Dalej. Można wybrać tylko jedno pole z każdej tabeli. Aby postępować zgodnie z przykładem, wybierz pole ID z tabeli Produkty i pole ID produktu z tabeli Szczegóły zamówień. Sprawdź, czy zostały dopasowane prawidłowe pola, przeglądając tekst w polu Pola pasujące.

    Wybierz odpowiednie pola z tabel w oknie dialogowym Kreator zapytań wyszukujących niepasujące dane

    Należy zauważyć, że pola ID i ID produktu mogły zostać wcześniej zaznaczone ze względu na istniejące relacje wbudowane w szablonie.

  6. Na czwartej stronie kliknij dwukrotnie pola, które mają zostać wyświetlone z pierwszej tabeli, a następnie kliknij przycisk Dalej. Aby postępować zgodnie z przykładem, wybierz pola ID i Nazwa produktu.

    Wybierz pola, które mają być wyświetlane w danych wyjściowych zapytania w oknie dialogowym Kreator zapytań wyszukujących niepasujące dane
  7. Na piątej stronie kreatora można wybrać opcję wyświetlenia wyników lub zmodyfikowania projektu kwerendy. W tym przykładzie kliknij pozycję Wyświetl wyniki. Zaakceptuj sugerowaną nazwę kwerendy, a następnie kliknij przycisk Zakończ.

    Wprowadź nazwę zapytania wyszukującego niepasujące dane w oknie dialogowym Kreator zapytań wyszukujących niepasujące dane

    Projekt zapytania możesz zmodyfikować, aby dodać inne kryteria, zmienić porządek sortowania albo dodać lub usunąć pola. Aby uzyskać więcej informacji na temat modyfikowania zapytania wyszukującego niedopasowane dane, przeczytaj następną sekcję. Aby uzyskać więcej ogólnych informacji na temat tworzenia i modyfikowania zapytań, zobacz linki w sekcji Zobacz też.

Początek strony

Tworzenie i modyfikowanie zapytania wyszukującego niepasujące dane w celu porównania według więcej niż jednego pola

  1. Na karcie Tworzenie w grupie Zapytania kliknij pozycję Kreator zapytań. Uwaga: jeśli korzystasz z programu Access 2007, na karcie Tworzenie w grupie Inne kliknij pozycję Kreator zapytań.

  2. W oknie dialogowym Nowa kwerenda kliknij dwukrotnie pozycję Kreator kwerend wyszukujących niepasujące dane.

  3. Na pierwszej stronie kreatora wybierz tabelę zawierającą niedopasowane rekordy, a następnie kliknij przycisk Dalej. Jeśli na przykład chcesz wyświetlić listę niesprzedanych produktów z bazy danych Northwind, wybierz tabelę Produkty.

  4. Na drugiej stronie wybierz tabelę powiązaną, a następnie kliknij przycisk Dalej. Aby postępować zgodnie z przykładem, wybierz tabelę Szczegóły zamówień.

  5. Na trzeciej stronie zaznacz pola tworzące relacje z tabelami, kliknij pozycję < = >, a następnie kliknij przycisk Dalej. Można wybrać tylko jedno pole z każdej tabeli. Aby postępować zgodnie z przykładem, wybierz pole ID z tabeli Produkty i pole ID produktu z tabeli Szczegóły zamówień. Sprawdź, czy zostały dopasowane prawidłowe pola, przeglądając tekst w polu Pola pasujące. Po wykonaniu kroków kreatora możesz sprzęgnąć pozostałe pola.

    Należy zauważyć, że pola ID i ID produktu mogły zostać wcześniej zaznaczone ze względu na istniejące relacje wbudowane w szablonie.

  6. Na czwartej stronie kliknij dwukrotnie pola, które mają zostać wyświetlone z pierwszej tabeli, a następnie kliknij przycisk Dalej. Aby postępować zgodnie z przykładem, wybierz pola ID i Nazwa produktu.

  7. Na piątej stronie kliknij pozycję Modyfikuj projekt, a następnie kliknij przycisk Zakończ.

    Zapytanie zostanie otwarte w widoku Projekt.

  8. W siatce projektu zapytania można zauważyć, że tabele są połączone polami (ID i ID produktu w tym przykładzie) określonymi na trzeciej stronie kreatora. Utwórz sprzężenie dla każdej z pozostałych par pól pokrewnych, przeciągając pola z pierwszej tabeli (zawierającej niepasujące rekordy) do drugiej. W tym przykładzie przeciągnij pole Cena katalogowa z tabeli Produkty do pola Cena jednostkowa w tabeli Szczegóły zamówień.

  9. Kliknij dwukrotnie sprzężenie (linię łączącą pola), aby wyświetlić okno dialogowe Właściwości sprzężenia. Dla każdego sprzężenia wybierz opcję zawierającą wszystkie rekordy z tabeli Produkty, a następnie kliknij przycisk OK.

    W siatce projektu kwerendy można zauważyć, że teraz na jednym końcu każdego ze sprzężeń znajduje się strzałka.

    Styl linii wskazuje typ sprzężenia.

    1. Utworzenie sprzężenia pomiędzy polami Cena katalogowa i Cena jednostkowa powoduje ograniczenie danych wyjściowych z obu tabel. Tylko rekordy z pasującymi danymi w polach w obu tabelach są uwzględniane w wynikach zapytania.

    2. Po zmianie właściwości sprzężenia będzie ono ograniczać tylko tabelę, na którą wskazuje strzałka. Wyniki kwerendy będą zawierały wszystkie rekordy, od których biegnie strzałka.

    Uwaga : Należy sprawdzić, czy wszystkie strzałki na sprzężeniach wskazują w tym samym kierunku.

  10. Dla tabeli zawierającej pokrewne rekordy (w tym przykładzie tabeli Szczegóły zamówień) kliknij dwukrotnie każde pole połączone z pierwszą tabelą, z wyjątkiem pola wybranego na trzeciej stronie kreatora (w tym przypadku pola ID produktu). Dla każdego z tych pól wyczyść pole wyboru w wierszu Pokaż i wpisz funkcję Is Null w wierszu Kryteria.

  11. Opcjonalnie można dodać kryteria do innych pól kwerendy lub utworzyć pola obliczeniowe na podstawie wartości z pierwszej tabeli.

  12. Na karcie Projektowanie w grupie Wyniki kliknij przycisk Uruchom.

    Kwerenda zwraca nazwy produktów, które nie należą do żadnych istniejących zamówień.

Początek strony

Tworzenie własnych kwerend w celu znalezienia niedopasowanych rekordów

  1. Na karcie Tworzenie w grupie Zapytania kliknij pozycję Projekt zapytania. Uwaga: jeśli korzystasz z programu Access 2007, na karcie Tworzenie w grupie Inne kliknij pozycję Projekt zapytania.

  2. W oknie dialogowym Pokazywanie tabeli kliknij dwukrotnie tabelę zawierającą niedopasowane rekordy, a następnie kliknij dwukrotnie tabelę z rekordami pokrewnymi.

  3. Zamknij okno dialogowe Pokazywanie tabeli.

  4. W siatce projektu kwerendy pola pokrewne obu tabel powinny być połączone za pomocą linii nazywanych sprzężeniami. Jeżeli tak nie jest, należy utworzyć sprzężenia, przeciągając każde pole pokrewne z pierwszej tabeli (zawierającej niedopasowane rekordy) do drugiej tabeli (zawierającej rekordy pokrewne).

  5. Kliknij dwukrotnie sprzężenie, aby otworzyć okno dialogowe Właściwości sprzężenia. Dla każdego sprzężenia wybierz opcję 2, a następnie kliknij przycisk OK.

    W siatce projektu zapytania sprzężenia zostaną zmienione tak, aby miały na jednym końcu strzałki.

    Uwaga : Sprawdź, czy wszystkie sprzężenia wskazują ten sam kierunek. Zapytanie nie zostanie uruchomione, jeśli strzałki będą wskazywać różne kierunki. Zapytanie może nie zostać uruchomione, jeśli dowolne ze sprzężeń nie będzie strzałką. Strzałki sprzężeń powinny biec od tabeli zawierającej niepasujące rekordy.

  6. W tabeli zawierającej niepasujące rekordy kliknij dwukrotnie pola, które ma zwracać zapytanie.

    Opcjonalnie wprowadź kryteria dla dowolnego z tych pól lub utwórz pola obliczeniowe.

  7. W tabeli zawierającej pokrewne rekordy kliknij dwukrotnie każde pole sprzężone z pierwszą tabelą. Dla każdego z tych pól wyczyść pole wyboru w wierszu Pokaż i wpisz funkcję Is Null w wierszu Kryteria.

  8. Na karcie Projektowanie w grupie Wyniki kliknij przycisk Uruchom.

Początek strony

Zobacz też

Tworzenie prostego zapytania wybierającego

Wyszukiwanie zduplikowanych rekordów za pomocą zapytania

Używanie zapytania składającego w celu łączenia wyników wielu zapytań w jeden wynik

Rozwijaj swoje umiejętności
Poznaj szkolenia
Uzyskuj nowe funkcje w pierwszej kolejności
Dołącz do niejawnych testerów pakietu Office

Czy te informacje były pomocne?

Dziękujemy za opinię!

Dziękujemy za opinię! Wygląda na to, że połączenie Cię z jednym z naszych agentów pomocy technicznej pakietu Office może być pomocne.

×