zajecia 3 ZGI3H4OMOH7AG5WSQDTAD2FKWU6IIM4EGFBYWHY


    1. Laboratoria

      1. Utwórz kwerendę, która posłuży do stworzenia formularza Faktury

Kwerenda powinna zawierać tylko pola potrzebne na fakturze. Ponieważ występują one w kilku tabelach, to wszystkie niezbędne tabele (lub kwerendy) należy dołączyć do tworzonej kwerendy. Można użyć kreatora prostych kwerend (wybierających) lub widoku projekt kwerendy.

Aby uzyskać prawidłowe zestawienia należy wcześniej zdefiniować wszystkie relacje między tabelami - relacje te zostaną pokazane w projekcie kwerendy i są niezbędne do jej prawidłowego działania.

Na bazie utworzonej kwerendy zbuduj formularz Faktury, umożliwiający wprowadzenie danych do wszystkich wykorzystanych tabel. Skorzystaj z dołączonej kopii faktury w celu określenia potrzebnych na fakturze pól i odpowiedniego ich rozmieszczenia.

Wykorzystaj wszelkie poznane wcześniej elementy pozwalające na usprawnienie działania formularza Faktury, np. pola kombi wyszukującego klienta, dodaj własne przyciski nawigacyjne, przyciski dodające i usuwające rekordy czy wyszukujące itp.

      1. Wyrażenia w kwerendach modyfikujących (funkcjonalnych)

Kwerendy modyfikujące to procedury automatycznego przetwarzania danych źródłowych. Uruchomienie kwerend modyfikujących powoduje dokonanie zmian w danych źródłowych, w przeciwieństwie do kwerend wybierających, które takich zmian nie dokonują.

Wynikiem kwerend modyfikujących nie są zestawienia w postaci arkusza danych. Uruchomienie takiej kwerendy dokonuje, najczęściej nieodwracalne zmiany w bazie danych.

Praktyczne zastosowanie kwerend funkcjonalnych można prześledzić na przykładzie rozliczania przychodzących kwot z tytułu dokonanej sprzedaży. Ponieważ wystawienie faktury przy sprzedaży towaru nie jest jednoznaczne z otrzymaniem należności za ten towar to równolegle z ewidencją sprzedaży (zamówień) trzeba prowadzić ewidencję wierzytelności oraz ewidencję wpływających należności (płatności).

Przed dokonaniem jakichkolwiek rozliczeń w tabeli Finanse płatności wartość pola DoRozliczenia jest równa wartości pola Kwota. Po całkowitym rozliczeniu danej płatności zmniejszy się ona do zera. Ponieważ jednak pojedyncza płatność może pokrywać należności z kilku faktur a rozliczenie odbywa się osobno dla każdej faktury, wartość z tego pola odpowiada tej części nadesłanej kwoty, która pozostała jeszcze do rozliczenia. W związku z powyższym potrzebne będzie zapamiętanie w bazie danych, która płatność jakich faktur dotyczy (tabela Szczegóły płatności).

Algorytm rozliczania płatności za pomocą kwerend modyfikujących wyglądać może tak:

  1. Kwerenda pierwsza: Wybierz z rejestru płatności pierwszą płatność, dla której wartość w polu DoRozliczenia jest większa od zera (taką, która nie została jeszcze do końca rozliczona) i skojarz ją z najstarszą, nie zapłaconą fakturą (zamówieniem) wystawioną nadawcy wybranej płatności, figurującą w rejestrze wierzytelności

  2. Kwerenda druga: Dla wybranej faktury pomniejsz wartość DoZapłaty o wartość DoRozliczenia odpowiadającej płatności. Jednocześnie pomniejsz wartość DoRozliczenia o kwotę rozliczoną dla wybranej faktury. Do wykonania tych dwóch działań w jednym kroku można wykorzystać zapamiętaną osobno wartość z pola DoZapłaty.

  3. Kwerenda trzecia: Zapisz numer płatności i identyfikator wybranej faktury w tabeli szczegółowego rejestru płatności.

Konieczne również będzie zabezpieczenie kolejności wykonywania kwerend po sobie. Przed wykonaniem każdej kwerendy funkcjonalnej pojawiają się komunikaty ostrzegające przed zmianami w tabelach i podające ilu wierszy te zmiany będą dotyczyć. Można je wyłączyć w Menu Narzędzia\ Opcje\ grupa opcji Potwierdzaj\ kategoria Edytuj/Znajdź\ wyłączając opcję Kwerendy funkcjonalne.

      1. Utwórz tabele i relacje:

  1. Finanse wierzytelności

Pola

Nazwa Typ Rozmiar

0x01 graphic
IDzamówienia Autonumer

WartośćBrutto Liczba (całkowita długa)

DoZapłaty Liczba (całkowita długa)

  1. Finanse płatności

Pola

Nazwa Typ Rozmiar

0x01 graphic
LpPłatności Autonumer

DataOtrzymania Data/Godzina

IDklienta (lub kontrahenta) Liczba (całkowita długa)

Kwota Walutowy

DoRozliczenia Walutowy

  1. Szczegóły płatności

Pola

Nazwa Typ Rozmiar

LpPłatności Liczba

0x08 graphic
IDzamówienia Liczba (całkowita długa)

      1. Kwerendy tworzące tabele

Różnią się one od zwykłych kwerend wybierających tym, że zamiast chwilowego zestawienia najbardziej aktualnych danych dają w rezultacie nową tabelę, w której przechowują zarchiwizowane dane z określonej chwili.

Szczególnym przypadkiem zastosowania zapytań tworzących tabele jest zapamiętywanie danych zebranych z różnych tabel źródłowych w postaci pojedynczej tabeli o charakterze pomocniczej i chwilowym. Jej główną zaletą jest uproszczenie złożonych procedur przetwarzania danych. Czasami stworzenie takiej tymczasowej tabeli staje się wręcz konieczne, gdyż Access bardzo spowalnia działanie podczas wykonywania zapytań zbudowanych na zapytaniach, których obiektami źródłowym są zapytania :-).

Jedyne dziedzi­czone po polach tabel źródłowych atrybuty pól nowo stworzonej tabeli to Typ danych i Rozmiar pola. Pozostałe atrybuty przyjmują swoje standardowe ustawienia.

Musimy skojarzyć pierwszą nie rozliczoną do końca płatności z najstarszą, nie zapłaconą fakturą, przy czym informacją, według której zapytanie ma kojarzyć płatność z fakturą, będzie oczy­wiście identyfikator odbiorcy.

Zauważmy, że chcemy zapisać w docelowej tabeli tylko jeden wiersz, bowiem jak już wspomniano, pojedyncza operacja rozliczenia dotyczy tylko jednej faktury i tylko jednej płatności. Ponieważ rejestr może za­wierać kilka nie rozliczonych płatności, a także w wierzytelnościach może figuro­wać kilka nie zapłaconych faktur dla tego samego odbiorcy, konieczne będzie użycie funkcji agregujących. Nie uprzedzajmy jednak faktów.