Zarządzanie danymi przy użyciu zapytań

Wykonywanie zapytań na niepowiązanych źródłach danych

Przeglądarka nie obsługuje klipu wideo. Instalowanie dodatku Microsoft Silverlight, Adobe Flash Player lub programu Internet Explorer 9.

Czasem wymagane jest utworzenie zapytania pobierającego informacje ze źródeł danych, których nie łączy bezpośrednia relacja (typu jeden-do-jednego lub jeden-do-wielu).

Łączenie źródeł danych w zapytaniach za pomocą tabel pośrednich

Po uruchomieniu zapytania program Access używa relacji utworzonych między tabelami przez Ciebie, a także dedukuje i tworzy połączenia między innymi źródłami danych. Jeśli relacja wymagana przez zapytanie nie istnieje, można połączyć tabele na potrzeby tego zapytania.

Załóżmy, że chcesz dowiedzieć się, ile zamówień złożono na produkty różnych dostawców. Tabela Dostawcy nie jest połączona z tabelą Szczegóły zamówień zakupu, zawierającej identyfikatory produktów i informacje o ilości. Z tabelą Szczegóły zamówień zakupu jest jednak połączona tabela Zamówienia zakupu.

Wiele źródeł danych tabel, z wstępnie zdefiniowanymi relacjami lub bez.

Porada : Jeśli jest prawdopodobne, że taka relacja będzie potrzebna również poza tworzonym właśnie zapytaniem, najlepszym rozwiązaniem jest utworzenie relacji pośredniej do późniejszego użytku. Aby dowiedzieć się, jak to zrobić, zobacz Tworzenie relacji wiele-do-wielu.

Jeśli nie chcesz tworzyć w bazie danych tabeli pośredniej, użyj tabeli Zamówienia zakupu jako tabeli pośredniej w zapytaniu. Dodaj tabelę Dostawcy po lewej stronie tabeli Zamówienia zakupu i utwórz połączenie.

Używanie tabeli do pośredniego połączenia dwóch innych tabel

Tabela Zamówienia zakupu łączy dwie różne tabele, tabelę Dostawcy i tabelę Szczegóły zamówień zakupu. Połącz te tabele, używając pól (takich jak Identyfikator w tabeli Dostawcy oraz Identyfikator dostawcy w tabeli Zamówienia zakupu) spełniających następujące kryteria:

  • Oba pola zawierają takie same lub zgodne typy danych. Nie można na przykład połączyć pola tekstowego z polem liczbowym.

  • Pola określają pasujące, unikatowe rekordy w obu tabelach. Nie warto na przykład łączyć dwóch pól Nazwisko, ponieważ nazwiska nie zawsze są unikatowe.

  • Pola zapewniają uzyskanie właściwych rekordów wynikowych. Na przykład w przypadku połączenia pól Identyfikator dostawcy i Identyfikator zakupu mogą zostać wyświetlone wyniki, jeśli te identyfikatory są podobne. Ale uzyskane wyniki będą pozbawione sensu, ponieważ Identyfikator dostawcy nie ma nic wspólnego z Identyfikatorem zakupu. Lepiej połączyć pole Identyfikator z tabeli Dostawcy z polem Identyfikator dostawcy z tabeli Zamówienia zakupu — zwrócone zostaną sensowne rekordy, ponieważ oba te pola określają dostawcę.

Czynności

Niezależnie od tego, czy masz w bazie danych tabelę pośrednią, czy chcesz tylko użyć takiej tabeli na potrzeby zapytania, wykonaj następujące czynności:

  1. Dodaj tabelę pośrednią do zapytania, umieszczając ją pomiędzy dwiema niepołączonymi tabelami.

  2. Utwórz wszelkie wymagane połączenia z tabelą pośrednią.

    W połączeniach można użyć dowolnego typu sprzężenia odpowiedniego do sytuacji, ale konieczne jest połączenie pól spełniających kryteria wymienione we wcześniejszej części tego modułu.

    Tworzenie wymaganych połączeń przy użyciu tabeli pośredniej
  3. Zakończ tworzenie zapytania.

    Wykonaj typowe czynności związane z tworzeniem zapytania: dodaj pola wyjściowe, opcjonalnie dodaj kryteria, a następnie uruchom lub zapisz zapytanie. Aby dowiedzieć się, jak to zrobić, zobacz Tworzenie podstawowych zapytań.

    Uwaga : Nie musisz uwzględniać tabeli pośredniej w wynikach. Należy tylko uwzględnić ją w źródłach danych zapytania, aby umożliwić połączenie odpowiednich danych w programie Access.

Chcesz wiedzieć więcej?

Tworzenie podstawowych zapytań

Tworzenie zapytań przez połączenie wielu źródeł danych

Tworzenie zapytań przy użyciu sprzężeń zewnętrznych

Szkolenia dotyczące programu Excel

Szkolenia dotyczące programu Outlook

Czasem trzeba wykonać zapytanie na tabelach lub innych źródłach danych, które nie są ze sobą powiązane relacjami, ani sprzężeniami. Można to zrobić na dwa sposoby.

Można użyć tabeli pośredniej, czyli tabeli połączonej z potrzebnymi źródłami danych.

Można też dodać sprzężenie.

Zacznę od tabeli pośredniej. W tym przykładzie pracownicy powinni wprowadzać stan poszczególnych zamówień, ale czasami o tym zapominają.

Muszę znaleźć odpowiedź na następujące pytanie: „Które zamówienia nie mają określonego stanu i którzy pracownicy zapomnieli o jego wprowadzeniu”?

Wygląda na to, że w zapytaniu muszę użyć trzech tabel: Pracownicy, Zamówienia i Stan zamówień.Odpowiadają one danym z mojego pytania: „Które zamówienia nie mają określonego stanu i którzy pracownicy zapomnieli o jego wprowadzeniu”?

Dodaję tabele do zapytania. Widać, że te dwie tabele nie są połączone, ale to nie problem. Możemy dodać sprzężenie.

Łączę ze sobą pola identyfikatorów, uruchamiam zapytanie i... nie otrzymuję żadnych wyników.

Dlatego teraz zrobimy to, od czego powinniśmy zacząć, czyli przyjrzymy się relacjom między tabelami.

Gdy to zrobię, widzę coś, co wygląda jak łańcuch relacji: pracownicy są połączeni z zamówieniami, zamówienia ze szczegółami zamówień, a szczegóły zamówień ze stanami zamówień.

Tabele Zamówienia i Stan zamówień nie są ze sobą powiązane, ale obie są połączone z tabelą Szczegóły zamówień. Z tego względu tabela SzczegółyZamówień będzie tabelą pośrednią.

Działa tutaj następująca reguła: Jeśli tabele pośrednie są częścią źródła danych, można wykonywać zapytania na niepowiązanych tabelach generujące prawidłowe wyniki.

Nie trzeba uwzględniać tabeli pośredniej w wynikach, ale musi ona być częścią źródła danych w zapytaniu.

Dodaję tabelę SzczegółyZamówień do zapytania, pozostawiając niezmienione ustawienia pól, i uruchamiam zapytanie.

Za pomocą filtru wyświetlam wartości puste... i oto odpowiedź na moje pytanie.

Dodam teraz sprzężenie do zapytania. Aby to zrobić, przedstawię dodatkowe reguły.

Po pierwsze, pola tabel lub zapytań, które mają zostać sprzężone, muszą mieć pasujące lub zgodne typy danych.

Na przykład typy danych Liczba i Waluta są zgodne, ale Liczba i Tekst — nie są.

Po drugie, utworzone sprzężenie znajduje się tylko w zapytaniu. Nie występuje tutaj relacja między tabelami.

I po trzecie, wyniki muszą mieć sens. Jeśli na przykład w wyniku sprzężenia widać dane dotyczące zamówień i samochodów firmowych, prawdopodobnie oznacza to, że należy zacząć wszystko od nowa.

Załóżmy, że chcę sprawdzić, którzy klienci złożyli zamówienia, oraz dowiedzieć się, jakie produkty zostały zamówione.

Dodaję tabele Klienci, Zamówienia i SzczegółyZamówień do nowego zapytania. Następnie dodaję sprzężenie. Przeciągam identyfikator klienta z tabeli Klienci do odpowiadającego mu pola w tabeli Zamówienia.

Pojawia się linia sprzężenia. Oto kolejna reguła: Program Access umieszcza przeciągane pole z lewej strony nowego sprzężenia. Jeśli chcesz uzyskać inny efekt, zaznacz linię sprzężenia, naciśnij klawisz Delete i zacznij od początku.

Po wprowadzeniu odpowiednich zmian mogę utworzyć zapytanie. Dodaję imię i nazwisko z tabeli Klienci, a następnie identyfikator produktu, identyfikator zamówienia, ilość i cenę jednostkową z tabeli SzczegółyZamówień.

Uruchamiam zapytanie i oto szukane dane.

Znasz już dwie metody wykonywania zapytań na niepowiązanych źródłach danych. Dodając sprzężenia lub używając tabel pośrednich, można uzyskać odpowiedzi na pytania dotyczące danych.

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.

×