MS Access 2000 Kwerendy Piotr Górczyński 25/08/2001
Spis treści Wstęp Tworzenie kwerendy Edycja projektu kwerendy Otwieranie kwerendy Definiowanie warunków Grupowanie Funkcje agregujące Zagnieżdżanie kwerend Kwerenda z parametrem 25/08/2001
Wstęp Kwerendy służą do wybierania z tabel informacji spełniających określone warunki Kwerendy mogą wybierać dane bezpośrednio z tabel lub z innych kwerend Każda kwerenda ma nazwę 25/08/2001
Tworzenie kwerend - krok 1 z 6 W oknie projektu bazy danych w widoku obiektów Kwerendy (Query) pokazane są wszystkie kwerendy w bazie danych. Aby utworzyć nową klikamy dwukrotnie Utwórz kwerendę w widoku projektu (Create query in Design view) 25/08/2001
Tworzenie kwerend - krok 2 z 6 Automatycznie otwiera się dodatkowe okno Pokaż tabelę (Show Table), w którym wybieramy tabele/kwerendy, z którego chcemy wybrać informacje. Po zaznaczeniu tabeli/kwerendy naciskamy guzik Dodaj (Add) - spowoduje to pojawienie się tabeli/kwerendy w oknie w tle. Zamykamy okno. Jeśli pomylimy się lub chcemy usunąć to, co dodaliśmy, można to zrobić później. Tabele/Kwerendy pojawiają się wraz z relacjami zdefiniowanymi w oknie relacji tabel. 25/08/2001
Dodawanie tabel/kwerend - krok 3 z 6 Aby zobaczyć tabelę/kwerendę w oknie relacji należy ją dodać. Robimy to wybierając z menu Kwerendy (Query) polecenie Dodaj tabelę (Add table) lub klikając na pasku narzędzi guzik W oknie Pokaż tabelę (Show table) wybieramy tabelę/kwerendę i naciskamy guzik Dodaj (Add) 25/08/2001
Usuwanie tabel/kwerend - krok 4 z 6 Aby usunąć tabelę/kwerendę z okna relacji: Wynieramy ją klikając na pasek tytułowy (w środku tabeli jedno z pól zostanie zaznaczone). Naciskamy klawisz Delete. 25/08/2001
Dodawanie/usuwanie pól - krok 5 z 6 Aby dodać pole należy: Dwukrotnie kliknąć pole w tabeli/kwerendzie w oknie relacji - pole pojawi się w oknie selekcji na dole Przeciągnąć pole z tabeli/kwerendy w oknie relacji do okna selekcji na dole Wpisać nazwę pola w oknie selekcji Aby usunąć pole należy: Skasować (wyczyścić) nazwę pola Zaznaczyć kolumnę i nacisnąć klawisz Delete 25/08/2001
Zapisywanie kwerendy - krok 6 z 6 Po wprowadzeniu wszystkich pól wybieramy z menu Plik (File) polecenie Zapisz (Save) lub naciskamy na pasku narzędzi guzik W oknie Zapisz jako (Save As) wpisujemy nazwę tabeli (proponowana jest Table1) Naciskamy guzik OK 25/08/2001
Edycja projektu kwerendy Klikamy kwerendę, której budowę chcemy zmienić Klikamy guzik Projekt (Design) W następnych krokach postępujemy tak samo ja podczas tworzenia kwerendy. 25/08/2001
Otwieranie kwerendy W oknie projektu bazy danych w widoku obiektów Kwerendy (Query) pokazane są wszystkie kwerendy w bazie danych. Aby otworzyć kwerendę, należy ją zaznaczyć i nacisnąć guzik Otwórz (Open) lub kliknąć kwerendę dwukrotnie myszą. 25/08/2001
Definiowanie warunków Kryteria wpisujemy w wierszu Kryteria (Criteria) W kryteriach możemy używać: operatory porównania: >,<,=,<=,>= sprawdzania istnienia wartości w polu: IS NULL (jest puste) , IS NOT NULL (nie jest puste) Znaku * zastępującego dowolny ciąg znaków Przykład po prawej: warunek >100 powoduje, że zostaną wybrane tylko rekordy, których wartość w polu Ilosc jest większa niż 100 25/08/2001
Przykłady definiowania warunków Warunek Opis działania >100 Rekordy, których pole ma wartość większą niż 100 Is Not Null Rekordy, których pole nie jest puste "Ala" Rekordy, których pole jest równe "Ala" "Kow*" Rekordy, których pole jest równe "Kow" i jakikolwiek ciąg znaków np: "Kowalski", "Kowalewski", "Kowal" 25/08/2001
Warunek logiczny I (AND) Warunki wpisane w tym samym wierszu muszą być spełnione wszystkie naraz, czyli łączy je operator logiczny I (AND) W przykładzie po prawej zapisano warunek, że: pole Ilosc ma być większe niż 100 I pole IDTowaru ma być równe "DELX" 25/08/2001
Warunek logiczny LUB (OR) Warunki wpisane w różnych wierszach muszą być spełnione alternatywnie, czyli łączy je operator logiczny LUB (OR) W przykładzie po prawej zapisano warunek, że: pole Ilosc ma być większe niż 1000 LUB pole Ilosc ma być mniejsze niż 20 25/08/2001
Warunek logiczny I (AND) dla jednego pola Warunek logiczny I (AND) dla jednego pola można zapisać: W oddzielnych kolumnach dla tego samego pola używając prostych operatorów: >20 <30 W jednej kolumnie używając wyrażeń z operatorami logicznymi >20 AND <30 W przykładzie powyżej obie definicje są równoważne 25/08/2001
Grupowanie Grupowanie (inaczej agregowanie) dotyczy zawsze pewnych wybranych pól i polega na pogrupowaniu rekordów o takich samych wartościach wybranych pól Kwerenda w której jest grupowanie mogą pojawić się tylko: pola według których odbywa się grupowanie funkcje agregujące Przykład: dane w tabeli zostały w kwerendzie pogrupowane według pola Kraj (GROUP BY Kraj). Jak widać wartości puste (NULL) też są uznawane za oddzielną grupę i znajdują się w wyniku kwerendy. Ostatecznie otrzymujemy wszystkie unikalne wartości pola Kraj, które znajdują się w tabeli. GROUP BY Kraj 25/08/2001
GROUP BY Kraj,WojewodztwoRegion Przykład Przykład: dane w tabeli zostały pogrupowane według pola Kraj i WojewodztwoRegion (GROUP BY Kraj, WojewodztwoRegion). W wyniku kwerendy otrzymujemy wszystkie unikalne kombinacje wartości pola Kraj i WojewodztwoRegion, które znajdują się w tabeli. Wniosek: kwerenda w której jest grupowanie według wszystkich pól tabeli spowoduje wybranie wszystkich unikalnych kombinacji wartości tabeli, czyli – jeśli tabela ma klucz – zostaną wybrane wszystkie rekordy z tabeli. GROUP BY Kraj,WojewodztwoRegion 25/08/2001
Tworzenie kwerendy z grupowaniem Tworzymy kwerendę i dodajemy pola według których chcemy grupować Naciskamy na pasku narzędzi guzik lub wybieramy z menu Widok (View) polecenie Podsumowanie (Totals) Na dole okna kwerendy pojawia się nowy wiersz Podsumowanie (Totals), w którym dla każdego wybranego pola pojawia się domyślnie wartość Group By. Aby wyłączyć grupowanie trzeba wykonać punkt 2. 25/08/2001
Funkcje agregujące Funkcje agregujące są to funkcje, których argumentami są wartości jednego wybranego pola ze wszystkich lub z grupy rekordów. Notacja: nazwa_funkcji(nazwa_pola). Przykład: MIN(Cena) Funkcje agregujące mogą być używane razem z grupowaniem. Ich argumenty są wtedy ograniczone do rekordów z jednej grupy. MIN(SugerowanaCena) 25/08/2001
Przykład Przykład: dane w tabeli zostały pogrupowane według pola VAT (GROUP BY Vat) i funkcja agregująca MIN dla pola SugerowanaCena ograniczona jest do rekordów z każdej grupy oddzielnie. GROUP BY VAT MIN(SugerowanaCena) 25/08/2001
Wybrane funkcje agregujące Nazwa Opis działania SUM Suma COUNT Policz MIN Minimum MAX Maksimum WHERE Pozwala zdefiniować kryteria wyboru rekordów AVG Średnia STDEV Odchylenie standardowe 25/08/2001
Tworzenie kwerendy z funkcjami agregującymi Tworzymy kwerendę i dodajemy pola, dla których chcemy użyć funkcji agregujących Naciskamy na pasku narzędzi guzik lub wybieramy z menu Widok (View) polecenie Podsumowanie (Totals) Na dole okna kwerendy pojawia się nowy wiersz Podsumowanie (Totals), w którym dla każdego wybranego pola pojawia się domyślnie wartość Group By. Zmieniamy wartość tego pola klikając na nie i wybierając z listy rozwijanej nazwę funkcji, której chcemy użyć. 25/08/2001
COUNT(SugerowanaCena) Przykład Przykład: funkcja COUNT(SugerowanaCena) zwraca ilość niepustych pól SugerowanaCena (13) ze wszystkich rekordów (15) COUNT(SugerowanaCena) 25/08/2001
Zagnieżdżanie kwerend Zagnieżdżona kwerenda jest to kwerenda, która jako źródło rekordów używa kwerendy. Przykład: kwerenda qryKraje zwraca kraje. Kwerenda qryPoliczKraje zwraca za pomocą funkcji COUNT liczbę rekordów z kwerendy qryKraje o niepustym polu Kraj. 25/08/2001
Kwerenda z parametrem Załóżmy, że istnieje potrzeba stworzenia kwerendy, która powinna zwracać rekordy spełniające jakiś warunek, który musi być formułowany za każdym razem. Możemy powiedzieć, że warunek ten będzie zdefiniowany za pomocą parametru, który musi być podany przez użytkownika. Przykładem takiej kwerendy jest kwerenda zwracąca wszystkie dane z faktury o konkretnym numerze. Zamiast zmieniać za każdym razem kryteria wyboru faktury, lepiej zdefiniować parametr odpowiadający numerowi faktury, którego podania komputer będzie za żądał za każdym uruchomieniem kwerendy. Jeżeli stworzymy raport w formie wydruku faktury oparty na tej kwerendzie, to przy każdym uruchomieniu raportu komputer też będzie żądał podania numeru faktury. Dzieki temu możemy w prosty sposób stworzyć funkcjonalność do drukowania faktur. 25/08/2001
Tworzenie kwerendy z parametrem Jeżeli w definicji kwerendy umieścimy jakikolwiek ciąg znaków w nawiasach kwadratowych [], którego komputer nie może powiązać z istniejącymi elementami zapytania, to będzie traktował ten ciąg znaków jako parametr i żądał jego podania przy każdym uruchomieniu kwarendy W przykładzie zdefiniowano parametr [Podaj numer faktury:] jako kryterium dla pola NumerFaktury z tabeli Faktura. Przy uruchomieniu kwerendy komputer pokazuje okno dialogowe, w którym żąda wprowadzenia wartości dla tego parametru. Wynikiem zapytania będą dane dotyczące faktury o numerze podanym w tym oknie. 25/08/2001