Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

1 Podzapytania – zapytania SELECT umieszczone w innym zapytaniu SELECT 01. podzapytanie z równością – podaj wszystkich pracowników zatrudniony w biurze.

Podobne prezentacje


Prezentacja na temat: "1 Podzapytania – zapytania SELECT umieszczone w innym zapytaniu SELECT 01. podzapytanie z równością – podaj wszystkich pracowników zatrudniony w biurze."— Zapis prezentacji:

1 1 Podzapytania – zapytania SELECT umieszczone w innym zapytaniu SELECT 01. podzapytanie z równością – podaj wszystkich pracowników zatrudniony w biurze przy ulicy Małej 63: SELECT Personel.pracownikNr, Personel.imię, Personel.nazwisko, Personel.stanowisko FROM Personel WHERE Personel.biuroNr=(SELECT biuroNr FROM Biuro WHERE ulica = "Mała 63"); 02. podzapytanie z funkcją agregującą – podaj wszystkich pracowników, których pensja jest wyższa od średniej; pokaż różnice między poszczególnymi pensjami a średnią: SELECT Personel.pracownikNr, Personel.imię, Personel.nazwisko, Personel.stanowisko, [pensja]-(SELECT AVG(pensja) FROM personel) AS różnica FROM Personel WHERE (((Personel.pensja)>(SELECT AVG(pensja) FROM Personel)));

2 2 03. podzapytania zagnieżdżone – powtórzenia właścicieli nieruchomości: SELECT Nieruchomość.właścicielNr, Nieruchomość.nieruchomośćNr, Nieruchomość.miasto, Nieruchomość.ulica FROM Nieruchomość WHERE (((Nieruchomość.właścicielNr) IN (SELECT [właścicielNr] FROM [Nieruchomość] AS Tmp GROUP BY [właścicielNr] HAVING Count(*)>1 ))) ORDER BY Nieruchomość.właścicielNr; 04. zastosowanie ANY / SOME – znajdź wszystkich pracowników, którzy mają pensję wyższą niż przynajmniej jeden pracownik biura o numerze B003 SELECT Personel.pracownikNr, Personel.imię, Personel.nazwisko, Personel.stanowisko, Personel.pensja FROM Personel WHERE pensja > SOME (SELECT pensja FROM Personel WHERE biuroNr="B003");

3 3 05. zastosowanie ALL – znajdź wszystkich pracowników, którzy mają pensję wyższą niż pensja każdego z pracowników biura o numerze B003 SELECT Personel.pracownikNr, Personel.imię, Personel.nazwisko, Personel.stanowisko, Personel.pensja FROM Personel WHERE.pensja>ALL (SELECT pensja FROM Personel WHERE biuroNr="B003"); Kwerendy z odnośnikami 06. Wpisywanie danych pracowników z uzupełnieniem danych o Biurze: SELECT Personel.pracownikNr, Personel.imię, Personel.nazwisko, Personel.stanowisko, Personel.płeć, Personel.dataUr, Personel.pensja, Personel.biuroNr, Biuro.ulica, Biuro.miasto FROM Biuro INNER JOIN Personel ON Biuro.biuroNr = Personel.biuroNr;

4 4 Pułapki w Access: 07 – Podaj nazwiska, stanowiska oraz wysokości pensji pracowników z biura o wpisanym numerze Problem maski: \B000 wówczas zapisywane dane do tabeli itd. Powinna być maska w tabeli: \B000;0;_ Aby litera B była zapisywana razem z pozostałymi cyframi. 08 – informacje o nieruchomościach nadzorowanych przez pracownika Inna sytuacja gdzie kryteria mogą być wpisywane również małymi literami.

5 5 Właściwości sprzężenia w kwerendzie: 09 – Obiekt Biuro nie pasuje do obiektu Personel (właściwości sprzężenia w kwerendzie nr 2) SELECT Biuro.biuroNr, Biuro.miasto FROM Biuro LEFT JOIN Personel ON Biuro.biuroNr = Personel.biuroNr WHERE (((Personel.biuroNr) Is Null));

6 6 Funkcje agregujące i do jakich pól można ich użyć: WybierzAby obliczyćDopuszczalne typy danych SumaSumę wartości w polu.Liczba, Data/Godzina, Waluta i Autonumerowanie ŚredniaŚrednią z wartości w polu.Liczba, Data/Godzina, Waluta i Autonumerowanie MinimumNajmniejszą wartość w polu.Tekst, Liczba, Data/Godzina, Waluta i Autonumerowanie MaksimumNajwiększą wartość w polu.Tekst, Liczba, Data/Godzina, Waluta i Autonumerowanie ZliczLiczbę wartości pola, z pominięciem wartości Null (pustych). Tekst, Memo, Liczba, Data/Godzina, Waluta, Autonumerowanie, Tak/Nie i Obiekt OLE OdchStdOdchylenie standardowe wartości w polu. Liczba, Data/Godzina, Waluta i Autonumerowanie WariancjaWariancję wartości w polu.Liczba, Data/Godzina, Waluta i Autonumerowanie

7 7 WybierzAby Grupuj wedługOkreślić grupy, dla których mają zostać przeprowadzone obliczenia. Aby na przykład obliczyć wartość sprzedaży według kategorii, należy wybrać opcję Grupuj według dla pola "NazwaKategorii". WyrażenieUtworzyć pole obliczeniowe zawierające w swoim wyrażeniu funkcję agregującą. Pole obliczeniowe tworzy się zazwyczaj wtedy, gdy w wyrażeniu jest kilka funkcji. GdzieOkreślić kryteria dla pola, które nie jest używane do zdefiniowania grupy. Jeśli opcja ta zostanie wybrana dla pola, Program Microsoft Access ukryje to pole w wynikach kwerendy przez wyczyszczenie pola wyboru Pokaż. 10a – liczba pracowników każdego z biur oraz ich sumaryczna pensja Uwaga Funkcje agregujące nie uwzględniają w obliczeniach rekordów zawierających wartości puste (Null). Również jeśli w wyrażeniu używany jest operator arytmetyczny (+, -, *, /) i jedno z pól w wyrażeniu ma wartość Null, wynik całego wyrażenia będzie Null. Można przekształcić wartość Null w zero używając np.. funkcji Nz lub IIf.

8 8 Przykłady pracy z wartościami Null za pomocą pól obliczeniowych: Wyrażenie: BieżącyKraj: IIf(IsNull([Kraj]); " "; [Kraj]) Używa funkcji IIf i IsNull do wyświetlania pustego ciągu znaków w polu "BieżącyKraj", jeśli wartość w polu "Kraj" jest Null. Jeśli nie, wyświetlana jest wartość z pola "Kraj". CzasDostawy: IIf(IsNull([DataWymagana] - [DataWysyłki]); "Znajdź brakującą datę"; [DataWymagana] - [DataWysyłki]) Używa funkcji IIf i IsNull do wyświetlania w polu "CzasDostawy" komunikatu "Znajdź brakującą datę" jeśli wartość w polu "DataWymagana" lub "DataWysyłki" jest wartością Null. Jeśli nie, wyświetlana jest różnica tych wartości.

9 9 SprzedażPółroczna: Nz([Sprz1Kwart];0) + Nz([Sprz2Kwart];0) W polu "SprzedażPółroczna" wyświetla sumę wartości w polach opisujących sprzedaż w pierwszym i drugim kwartale, wykorzystując funkcję Nz do przekształcania wartości Null w zero. Baza: Null.mdb IIf(IsNull([CenaJednostkowa]); 0 ;[CenaJednostkowa]) Zmienia wartość Null na zero (0) w polu "CenaJednostkowa". 10b – liczba pracowników każdego z biur oraz ich sumaryczna pensja

10 10 WyrażenieOpis ImięINazwisko: [Imię] & " " & [Nazwisko] Wyświetla wartości pól "Imię" i "Nazwisko" oddzielone spacją w polu "ImięINazwisko". Addres2: [Miasto] & " " & [Region] & " " & [KodPocztowy] Wyświetla wartości pól "Miasto", "Region" i "KodPocztowy" oddzielone spacjami w polu "Addres2". IDproduktu: Left([NazwaProduktu]; 1)Wykorzystuje funkcję Left do wyświetlania w polu "IDproduktu" pierwszego znaku wartości z pola "NazwaProduktu". KodTypu: Right([KodMajątkowy];2)Używa funkcji Right do wyświetlania w polu "KodTypu" ostatnich dwóch znaków wartości z pola "KodMajątkowy". NumerKierunkowy: Mid([Telefon];2;3)Używa funkcji Mid do wyświetlania w polu "NumerKierunkowy" trzech znaków poczynając od drugiego znaku wartości w polu "Telefon". Inne przykłady operacji wykonywanych na wartościach tekstowych w polach obliczeniowych:

11 11 Left(wyr; n)Right(wyr; n)Mid(wyr; start; n) Argument wyr może być nazwą pola (ujętą w nawiasy) lub wyrażeniem tekstowym; Argument n oznacza liczbę znaków, które mają zostać wyodrębnione, a argument start określa położenie pierwszego wyodrębnianego znaku. Wartość w polu IDczęściWyrażenieZwraca BA-7893-R12Left([IDczęści];2)BA BA-7893-R12Right([IDczęści];3)R12 BA-7893-R12Mid([IDczęści];4;4) pierwszy znak z numeru nieruchomości itd. Wyrażenia wprowadzane są w komórce Pole w siatce projektu kwerendy.

12 12 Przykłady wyrażeń, w których jako kryteria zastosowano wartości tekstowe NazwaFirmy>="N"Wyświetla zamówienia wysłane do firm, których nazwy zaczynają się na litery od N do Z. IDzamówieniaRight([OrderID]; 2)="99"Używa funkcji Right aby wyświetlić zamówienia, których IDzamówienia kończy się na 99. NazwaFirmyLen([NazwaFirmy])>Val(30)Używa funkcji Len i Val, aby wyświetlić zamówienia wysłane do firm, których nazwy są dłuższe niż 30 znaków. 12a – nieruchomości przy ulicach od A do K 12b – właściciele nieruchomości o numerach końcowych 46 lub 87 12c – miejscowości o nazwach dłuższych niż 5 znaków

13 13 Przykłady zmieniania i obliczania dat w polach obliczeniowych: Year(date) Month(date) Day(date) Hour(time) Minute(time) Second(time) Date(): Now(): :07:52 Time():13:07:53 13-operacje na datach w polach obliczeniowych WyrażenieOpis CzasDostawy: DateDiff("d"; [DataZamówienia]; [DataWysyłki]) Używa funkcji DateDiff do wyświetlania w polu "CzasDostawy" liczby dni między datą zamówienia i datą wysyłki. RokZatrudnienia: DatePart("rrrr";[DataZatrudnienia]) Używa funkcji DatePart do wyświetlania w polu "RokZatrudnienia" roku, w którym został zatrudniony każdy z pracowników. Date( )- 30Używa funkcji Date do wyświetlania daty o 30 dni wcześniejszej od daty bieżącej.

14 14 Operacje na datach wykorzystywane w kryteriach: PoleWyrażenieOpis DataWymaganaBetween Date( ) And DateAdd("m"; 3; Date( )) Używa operatora Between...And i funkcji DateAdd i Date aby wyświetlić zamówienia, które mają zostać zrealizowane w ciągu trzech miesięcy od daty bieżącej. DataZamówienia< Date( )- 30Używa funkcji Date, aby wyświetlić zamówienia, które mają ponad 30 dni. DataZamówieniaYear([DataZamówienia])= 1996 Używa funkcji Year, aby wyświetlić zamówienia, które zostały złożone w roku a-nieruchomości których wynajęcie kończy się w ciągu 3 miesięcy 14b- nieruchomości których wynajęcie skończyło się więcej niż 30 dni temu 14c-nieruchomości, których wynajęcie skończyło się w 2004 roku

15 15 DataZamówieniaDatePart("k"; [DataZamówienia])=4Używa funkcji DatePart, aby wyświetlić zamówienia przypadające na czwarty kwartał. DataZamówieniaDateSerial(Year ([DataZamówienia]); Month([DataZamówienia]) +1; 1)-1 Używa funkcji DateSerial, Year i Month, aby wyświetlić zamówienia do realizacji ostatniego dnia każdego miesiąca. DataZamówieniaYear([DataZamówienia])= Year(Now()) And Month([DataZamówienia])= Month(Now()) Używa funkcji Year i Month oraz operatora And, aby wyświetlić zamówienia na bieżący rok i miesiąc. 15a-nieruchomości których wynajęcie kończy się w tym kwartale 15b- nieruchomości których wynajęcie kończy się ostatniego dnia miesiąca 15c-nieruchomości których wynajęcie kończy się w bieżącym roku i miesiącu

16 16 Opis funkcji dotyczących dat: DateDiff (część_daty, data1, data2[, firstdayofweek[, firstweekofyear]]) DatePart (część_daty, data[,firstdayofweek[, firstweekofyear]]) DateAdd (część_daty, liczba, data) Weekday (data, [firstdayofweek]) część_datySetting (SQL)Opis rrrr yyyyrok k qkwartał m mmiesiąc r ydzień roku d ddzień miesiąca t wdzień tygodnia tt wwtydzień g hgodzina n nminuta s ssekunda

17 17 firstdayofweek argument:firstweekofyear argument: WartośćOpis 1niedziela (domyślnie) 2poniedziałek 3wtorek 4środa 5czwartek 6piątek 7sobota WartośćOpis 1Rozpoczyna liczenie w tygodniu, w którym jest 1 stycznia (domyślne). 2Rozpoczyna liczenie w tygodniu, który zawiera co najmniej 4 dni nowego roku. 3Rozpoczyna liczenie od pełnego tygodnia roku.

18 18 Użytkownik Biuro 4 (zarząd biura): 17.Podaj informacje o wynajęciach nieruchomości zarejestrowanych w danym biurze, których termin końcowy upłynie w następnym miesiącu. 18.Podaj całkowitą liczbę umów najmu zawartych w biurach w Łomży na okres krótszy niż jeden rok.

19 19 Kreowanie formularzy: Kontrolowanie czasu wyświetlania: 1-Start - zamykany po 5 sekundach Private Sub Form_Open(Cancel As Integer) Me.TimerInterval = 5000 End Sub Private Sub Form_Timer() DoCmd.Close acForm, Me.Name DoCmd.OpenForm "2-Przełączający hiperłącza" DoCmd.OpenForm "3-Przełączający formularze" End Sub

20 20 Formularze przełączane przy użyciu hiperłączy do przekazywania fokusu 2-Przełączający hiperłącza Dla etykiety w właściwościach Formatu ustawiamy adres hiperłącza Przełączanie przy użyciu przycisków i kodu w VBA 3-Przełączający formularze z zamykaniem pozostawionych

21 21 4 – korzystanie z kreatorów i formatowanie warunkowe 5 – podformularze 6 – formularz wyszukujący do kwerendy z pola tekstowego 7 – Personel wybierany bezpośrednio z pola kombi


Pobierz ppt "1 Podzapytania – zapytania SELECT umieszczone w innym zapytaniu SELECT 01. podzapytanie z równością – podaj wszystkich pracowników zatrudniony w biurze."

Podobne prezentacje


Reklamy Google