Otwieranie formularza kodem VBA

Jedną z najczęściej wykorzystywanych metod obiektu docmd jest docmd.OpenForm. Metoda ta służy do otwierania formularza.

kliknij, aby powiększyć

Parametry to:

    • FormName – nazwa otwieranego formularza . Parametr obowiązkowy;
    • View as acFormView – tryb otwierania otwierania formularza, wartość domyślna to acViewNormal czyli po prostu wygląd formularza;
      kliknij, aby powiększyć
    • FilterName  – nazwa zdefiniowanego filtru do zastosowania przy wyborze rekordów do wyświetlenia w formularzu; argument opcjonalny;
    • WhereCondition – instrukcja SQL (bez słowa kluczowego WHERE) decydująca o tym, które rekordy mają zostać wyświetlone; argument opcjonalny;
    • DataMode  – tryb dostępu do danych:

      kliknij, aby powiększyć

      dostępne opcje to:

        • acFormAdd – tryb dodawania danych (nowy rekord)
        • acFormEdit – tryb edycji danych bez możliwości wstawiania nowych rekordów
        • acFormPropertySettings– tryb uzależniony od właściwości otwieranego formularza – wartość domyślna
        • acFormReadOnly– tryb odczytywania danych, bez możliwości edycji i dodawania/usuwania danych
      • WindowMode  – tryb okna otwieranego formularza:

        kliknij, aby powiększyć

        dostępne opcje to:

          • acDialog – tryb dialogu, przestawia całe sterowanie na otwierany formularz, blokując inne
          • acHidden– tryb otwarcia formularza i ukrycia go
          • acIcon– tryb otwarcia formularza i zminimalizowania go
          • acWindowNormal– tryb otwarcia zgodny z właściwościami otwieranego formularza,
            wartość domyślna
      • OpenArgs– argument otwarcia, przekazujący w razie potrzeby określoną wartość do otwieranego formularza.,
        argument opcjonalny

Metoda OpenForm ma faktycznie dużo możliwości wykorzystania, wszystko w zależności od potrzeb i struktury aplikacji.
W praktyce – nie ma aplikacji Access, w której nie stosowałabym tej metody. Korzystam też z ostatniego parametru czyli OpenArgs. Najczęściej za jego pomocą przekazuję do formularza podrzędnego numeru ID z tabeli nadrzędnej, choć czasami za jego pomocą przekazuję tez np.Login aktualnego użytkownika.
Sprawdza się. 


 

Egzamin Specjalista MS Access

Funkcja DSum()

Funkcja DSum() jest jedną z funkcji agregatu domeny Accessa.  Zwraca sumę wartości określonego pola tabeli/kwerendy, dla rekordów spełniających określone warunki.
Jest podobna do funkcji Excela Suma.Jeżeli() i Suma. Warunków()

Ma trzy argumenty:

    • wyrażenie – nazwa kolumny, w której będą sumowane wartości, argument obowiązkowy
    • domena – nazwa zestawu rekordów, z którego mają być zlczone kolumny (np.nazwa tabeli czy kwerendy), argument obowiązkowy
    • kryteria – kryteria, które rekordy mają być zliczone

Jeżeli argument kryteria zostanie pominięty – zwrócona zostanie suma wartości wszystkich rekordów w danym zestawie.

Przykład takiej formuły z zastosowaniem funkcji DSum():

Wartosc: DSum(„Cena”;”TabelaKsiazki”;”Tytul like'” & „*#*” & „'”)

W tym przypadku – zwracana jest wartość sumy tych pozycji, które w tytule mają cyfrę.
Wykorzystany jest też operator Like.

Ponieważ funkcje agregatu domeny działają bardzo podobnie – warto też zajrzeć do przykładów w innych funkcjach tej grupy:
Funkcje agregatu domeny

Funkcja DSum() występuje i działa tak samo w Accessie (czyli w kreatorze wyrażeń) jak i kodzie VBA.


Kurs Access 2010 esencja

 

Funkcja DCount()

Funkcja DCount() jest jedną z funkcji agregatu domeny Accessa.  Zwraca ilość rekordów z tabeli/kwerendy spełniających określone warunki.

Ma trzy argumenty:

    • wyrażenie – nazwa kolumny, w której będą zliczane rekordy, argument obowiązkowy
    • domena – nazwa zestawu rekordów, z którego mają być zlczone kolumny (np.nazwa tabeli czy kwerendy), argument obowiązkowy
    • kryteria – kryteria, które rekordy mają być zliczone

Jeżeli argument kryteria zostanie pominięty – zwrócona zostanie liczba wszystkich rekordów w danym zestawie.

Przykład takiej kwerendy z zastosowaniem funkcji DCount():

A sama funkcja:

LiczRek: DCount(„Numerkatalogowy”;”TabelaKsiazki”;”datap is null”)

Najczęściej stosuje się tę funkcję w kwerendach, w których jest wiele rekordów, a pole oparte o funkcję Dcount() wykorzystuje inne pola kwerendy jako parametry:

Kolumna IleKsiazekAutora wskazuje ile pozycji danego autora  jest w tabeli (bez wykorzystania kwerendy grupującej). Formuła wygląda tak:

IleKsiazekAutora: DCount(„Numerkatalogowy”;”TabelaKsiazki”;”Autor='” & [Autor] & „'”)

Warto zwrócić uwagę, że ponieważ pole Autor jest polem typu String – konieczne jest dodanie apostrofu górnego przed i po parametrze [Autor] (). Dla daty – byłby to znak #.

Funkcja DCount() występuje i działa tak samo w Accessie (czyli w kreatorze wyrażeń) jak i kodzie VBA.


Kurs Access 2013 od podstaw

 

Funkcja Accessa Clng()

Funkcja Clng() jest jedną z funkcji konwersji Accessa. Ma jeden argument:

    • wyrażenie

zamienia wyrażenie na liczbę typu Long. Wyrażenie może być datą, liczbą (ułamkowe zaokrągla) czy tekstem, ale złożonym z cyfr.
Ja stosuję tą funkcję bardzo często – szczególnie w stosunku do dat. Opisałam to tu:
Data jako parametr kwerendy

Funkcja Clng() występuje i działa tak samo w Accessie (czyli w kreatorze wyrażeń) jak i kodzie VBA.


Kurs Access 2013 od podstaw

 

Konstruktor wyrażeń

Konstruktor wyrażeń to wbudowany w Accessa kreator formuł. Jest on dostępny we wszystkich obiektach m.in. kwerendach, tabelach, raportach – wszędzie tam, gdzie chcemy wstawić pole obliczeniowe.
Np. w siatce kwerendy na wolnym polu wystarczy kliknąć prawym przyciskiem myszy i z menu podręcznego wybrać Konstruuj….

kliknij, aby powiększyć

Otworzy się nowe okno. Po lewej stronie wybieramy np.funkcje

i zobaczymy wszystkie funkcje Accessa:

W Bibliotece będą widoczne funkcje publiczne wstawione w modułach ogólnych VBA. 
Niżej można też rozwinąć wszystkie tabele/kwerendy/raporty wraz z ich polami i wstawić je do formuł.

Chcąc utworzyć w kwerendzie nowe pole i przypisać mu nazwę, wpisujemy tą nazwę z dwukropkiem na końcu.
Np.:

W arkuszu danych kwerendy wygląda to tak: