Funkcja Dir

Funkcja DIR() to funkcja VBA zwracająca wartość tekstową będącą nazwą pliku lub folderu. Bardzo pożyteczna  i często stosowana.

Argumenty funkcji to:

    • PathName– wartość tekstowa odpowiadająca pełnej nazwie pliku lub folderu
    • Attributes – wartość stała lub liczbowa określająca wyszukiwane pliki. Składa się ona z sumy wartości liczbowych z tabeli poniżej.

Atrybuty mogą przyjmować wartości:

Stała Wartość liczbowa Opis
vbNormal 0 Pliki bez właściwości. Wartość domyślna.
vbReadOnly 1 Pliki bez właściwości i pliki tylko do odczytu
vbHidden 2 Pliki bez właściwości i pliki ukryte
vbSystem 4 Pliki bez właściwości i pliki systemowe
vbVolume 8 Etykiety
vbDirectory 16  Foldery

W praktycznym wykorzystaniu funkcja Dir najczęściej stosowana jest do sprawdzania czy istnieje dany folder lub plik oraz do sporządzania listy takich plików.


Kurs Access - programowanie w VBA

 

Moduły VBA

Moduły VBA w aplikacji Access to obiekty VBA, w których są zapisane wszystkie procedury i funkcje stworzone w kodzie VBA.
Dwukrotne kliknięcie w moduł powoduje automatyczne przejście do okna eksploatora projektu. Oczywiście można tam wejść również poprzez przycisk w grupie opcji Makra i kod na karcie Tworzenie czy też naciśnięcie przycisków Alt+F11.

Każdy z obiektów Accessa typu formularz czy raport ma swój własny moduł, w którym są zapisywane wszystkie zdarzenia z nim związane. Oprócz tego w projekcie są moduły ogólne, do których trafiają wszystkie przekonwertowane  makra. Moduły ogólne mogą być  też wstawiane poprzez menu edytora VBA:

Wykorzystując kod VBA – możliwości jest już naprawdę mnóstwo. Nawet sam Microsoft zaleca konwersję makr na kod VBA. Warto.

 

Zaufane lokalizacje

Przy otwieraniu aplikacji zbudowanych w Accessie (choć nie tylko, w Excelu jest podobnie), bardzo często pojawiają się komunikaty ostrzegające przed zagrożeniem wynikającym z uruchomienia potencjalnie niebezpiecznej zawartości. Jest to z pewnością bardzo pożyteczne działanie, ale w sytuacji aplikacji znanych i sprawdzonych, z pewnego źródła – często uciążliwe. Jak się pozbyć tych komunikatów? Przynajmniej w stosunku do tych treści, których jesteśmy pewni? Służy do tego jedna z opcji Centrum Zaufania.

Karta Plik –> Opcje

Wybieramy opcje, a następnie przechodzimy do ustawień Centrum Zaufania:

W nowym formularzu wybieramy Zaufane lokalizacje i naciskamy przycisk Dodaj nową lokalizację…

Otworzy się formularz, w którym wskazujemy folder do oznaczenia jako zaufany:

Warto też pamiętać o zaznaczeniu checkboxa Podfoldery tej lokalizacji są także zaufane

Na koniec wystarczy pozatwierdzać wszystkie kolejne okienka przyciskiem OK. I już.
Od tej pory ilość komunikatów ostrzegających zdecydowanie się zmniejszy.

Makra

Makra w aplikacji Access to zdefiniowane procedury automatyzacji. Tworzenie nowych makr dostępne jest na karcie Tworzenie, w grupie opcji Makra i kod.

Po kliknięciu tu przycisku Makro wchodzimy do tworzenia nowego makra w widoku projektu.

W przypadku już zapisanych makr przejście do widoku projektu i edycji następuje po kliknięciu prawym przyciskiem myszy na makrze w panelu nawigacji i wybraniu z menu podręcznego opcji  Widok projektu.

Każde makro w widoku projektu wygląda tak:

Warto tu zwrócić uwagę na grupę opcji Pokazywanie/ukrywanie. Są tam dwa przyciski:
Wykaz akcji
Pokaż wszystkie akcje – domyślnie wyłączony. Po jego naciśnięciu poszerza się lista dostępnych akcji, choć warto pamiętać, że niektóre z nich mogą ingerować w strukturę bazy danych, a więc mogą być niebezpieczne z punktu widzenia całego projektu.

Samo tworzenie makra polega na definiowaniu kolejnych kroków poprzez wybieranie ich z listy rozwijalnej:

W dalszej kolejności definiujemy poszczególne parametry wybranej akcji:

I dodajemy kolejne akcje

Makro trzeba zapisać i można wykorzystywać w bazie.
Każde makro można uruchomić przypisując je do dowolnego zdarzenia formularza, kontrolki czy formantu.
Warto też zwrócić uwagę na dostępną w widoku projektu makra możliwość konwersji makra na procedurę VBA:

W pewien sposób jest to działanie podobne do nagrywania makra w Excelu. Może być przydatne dla początkujących użytkowników VBA.


Egzamin Specjalista MS Access

 

Raporty

Raporty w aplikacji Access to obiekty przedstawiające dane w formie przeznaczonej głównie do drukowania. Podobnie jak formularze, mogą być oparte o tabele lub kwerendy.
Raporty nie są przeznaczone do wstawiania czy edycji danych, a jedynie do ich prezentacji w zaprojektowanym układzie.

Podstawowe widoki raportów, dostępne na karcie
Narzędzia główne-> Widok to:

    • widok raportu

      raport w formie  przeznaczonej do wyświetlenia na ekranie komputera. W tym widoku widoczne są także np.przyciski uruchamiające makra i/lub procedury VBA.

    • podgląd wydruku

      czyli raport tak, jak będzie drukowany.

    • widok projektu

      raport w formie możliwej do projektowania, zmian, wstawiania formantów.

Przy tworzeniu raportów wykorzystywane są przyciski dostępne na karcie Tworzenie -> Raporty.


Kurs Access 2013 od podstaw

Formularze

Formularze Accessa służą o odczytu, edycji, wprowadzania i usuwania danych. Użytkownik aplikacji zbudowanej w Accessie nie powinien w zasadzie robić tego bezpośrednio w tabelach, a właśnie w formularzach. Tym bardziej, że pozwalają one nie tylko na znacznie przyjaźniejszą formę graficzną, ale przede wszystkim – umożliwiają wprowadzanie danych jednocześnie do kilku różnych, powiązanych z sobą tabel. Formularze można także oprogramować (czy to makrami czy procedurami VBA), dzięki czemu otwiera się cały szereg możliwości ułatwiających pracę w aplikacji.

Podstawowe typy formularzy:

    • formularz pojedynczy – na ekranie widoczny jest jeden rekord
    • formularz ciągły – na ekranie widocznych jest wiele rekordów
    • formularz dzielony – w jednej części formularza widoczne są pola jednego rekordu, w drugiej części – wszystkie rekordy

Tworząc formularze – z reguły nigdy nie opieram ich bezpośrednio o tabelę. Nigdy nie wiadomo, czy nie pojawi się potrzeba rozbudowy,  więc zdecydowanie lepszym rozwiązaniem jest wykorzystanie tu kwerend.
Formularz może być też niezwiązany czyli bez źródła danych. Taką formę stosuję bardzo często do wprowadzania nowych danych. Przed zapisaniem ich potem do tabel – mam możliwość dokładnego ich sprawdzenia i przy stwierdzeniu błędów, wyświetlenia komunikatu i przerwania procedury. Sprawdza się się w praktyce.


Kurs Access - formularze i raporty

Kwerenda

Podstawowe typy kwerend w bazie Accessa to:

    • kwerenda wybierająca
    • kwerenda grupująca
    • kwerenda krzyżowa
    • kwerenda składająca
    • kwerendy funkcjonalne:
      • dodająca
      • usuwająca
      • aktualizująca
      • tworząca tabele

To podstawowy podział, choć w każdym typie kwerendy możliwe są różnego rodzaju podtypy np. kwerendy parametryczne.
Generalnie kwerendy są tworzone  w oknie siatki kwerendy, choć można podejrzeć je w widoku SQL.

Każdy typ kwerend to temat na osobną notkę.


Kurs Access - kwerendy

 

Tabela

Podstawą każdej aplikacji Accessa jest zawsze tabela. Może  być jedna, może być ich wiele. W tabelach zapisywane są wszystkie wprowadzone  dane. Warto pamiętać, że zmieniając, usuwając czy dodając  dane  do tabel, robimy to od razu na dysku – nie da się edytować danych i wyjść “bez zapisywania”.

Jak zbudować tabelę? Z karty Tworzenie wybieramy Projekt tabeli:

W projekcie każdej nowej tabeli domyślnie pojawia  się jedno nowe pole o nazwie Identyfikator i typie danych – Autonumerowanie. Można to od razu zmienić czy to nadając własną nazwę czy też ustawiając inny typ danych.

Typy danych pól w tabeli

    • Tekst – wartości typu tekstowego (String)
    • Nota – wartości typu tekstowego o znacznej długości. W niektórych wersjach Accessa pole to występuje pod nazwą Memo.
    • Liczba– wartości typu liczbowego.
    • Data – wartości typu data/czas
    • Waluta – wartości typu walutowego
    • Autonumerowanie – pole typu liczba całkowita długa (Long) . Wartości tego typu danych są wstawiane automatycznie dla każdego nowego rekordu, jako kolejna wartość porządkowa. Istotne tu jest to, że numeracja jest zapisana na stałe. Jeżeli usuniemy np.ostatni rekord, a  potem dodamy nowy – będzie on miał wartość pola i tak zwiększoną o 1. Nawet usunięcie wszystkich rekordów spowoduje, że numeracja będzie prowadzana jako kontynuacja, a nie od 1. Chcąc zresetować pole typu autonumerowanie w tabeli jedynym wyjściem jest stworzenie kopii tabeli (tylko struktura, bez danych), ewentualne dołączenie rekordów ze starej tabeli do nowej, a następnie usunięcie starej tabeli i zmiana nazwy tabeli skopiowanej
    • Tak/Nie – wartość typu logicznego (Boolean)
    • Obiekt OLE – wartość typu połączony obiekt
    • Hiperłącze – wartość hiperłącza
    • Załącznik– wartość typu załącznik
    • Obliczeniowy – wartość wyznaczona w wyniku obliczeń
    • Kreator odnośników – wartość typu lista stworzona na podstawie odwołań do innych tabel/kwerend

Właściwości pola tabeli

W zależności od typu danych pola poszczególne właściwości mogą się nieco różnić. Dla pola typu Tekst występuje np. rozmiar pola, dla liczb – rodzaj liczby, ilość miejsc dziesiętnych itp.

    • Rozmiar Pola – dla pól typu tekst można wstawić maksymalną ilość znaków. Domyślna wartość to 255, ale warto ją zmniejszyć, jeżeli wiemy, że wystarczy mniejsza.
    • Format – tu również są różne możliwości w zależności od typu danych. Ma to znaczenie głównie dla liczb – w jakim formacie ma być wprowadzona wartość
    • Maska – różne maski wprowadzania, w zależności od typu danych. Dla tekstu może być to np. odpowiednio sformatowany numer kodu, może być to hasło itp.

    • Tytuł – tekst, który ma być widoczny w nagłówku tabeli (a także w etykietach opartych o nie formantów w formularzach czy raportach).  Dla kolumny o nazwie np. NrKsiaz, wpisanie tytułu np.Numer książki spowoduje, że prosta (bez spacji i polskich znaków diakrytycznych) nazwa będzie widoczna wszędzie w wersji przyjaznej dla użytkownika. Brak Tytułu powoduje, że tytuł jest tożsamy z nazwą pola.
    • Wartość domyślna – wartość wstawiana domyślnie dla nowych rekordów
    • Reguła sprawdzania poprawności – ograniczenie wartości wprowadzanych danych. Np. dla pola typu liczba całkowita tylko wartości ujemne
    • Tekst reguły sprawdzania poprawności – treść komunikatu pojawiającego się przy wprowadzeniu wartości nie spełniającej reguły
    • Wymagane – do wyboru 2 opcje: Tak lub Nie. Przy zaznaczeniu Tak, pole to nie może zostać puste, musi mieć wprowadzoną  wartość.
    • Indeksowane – indeksowanie przyspiesza wyszukiwanie, sortowanie i filtrowanie rekordów, ale nieco dłużej trwa zapisywanie rekordów (moim zdaniem – niezauważalnie).

      Przy wybraniu opcji Tak (Bez duplikatów) wprowadzane wartości muszą  być  unikalne.

    • Tryb IME – stosowany jest tylko przy współpracy z językami azjatyckimi
    • Tagi – pole do wpisania tagu
    • Odnośnik – właściwość w drugiej zakładce.
      Domyślnie jest to pole tekstowe, ale może być to pole listy lub kombi.Po wybraniu Pola listy lub Pola Kombi konieczne jest ustalenie źródła wierszy. Może być być to lista wartości oddzielonych średnikami (np.tak; nie), a może być to lista pobrana z innej tabeli lub kwerendy.

Klikając na 3 kropki na końcu wiersza uruchamiany okienko siatki kwerendy, gdzie można zdefiniować źródło wierszy.
Może być to 1, ale może być to więcej kolumn. Ja najczęściej stosuję 2 kolumny: identyfikator oraz pole. Wówczas trzeba tylko pamiętać o zmianie liczby kolumn. A ponieważ nie zawsze zależy nam na tym, aby obie kolumny były widoczne – wystarczy ustawić szerokość kolumny do ukrycia na 0cm.
Efekt końcowy w tabeli wygląda  tak:
Zamiast wpisywać ręcznie wartość do pola – wybieramy z listy.
Konieczne  jest tu jednak zwrócenie uwagi na numer kolumny związanej. Na screenie powyżej jest to kolumna 1 i mimo, że jest niewidoczna, to faktycznie wartość z  tej kolumny jest zapisana w tabeli.


Kurs Access 2010 esencja

Kopiowanie pliku

Jak szybko skopiować dowolny plik? Sposobów jest kilka, jednym z nich jest wykorzystanie obiektu FileSystem.Object.
Służy do tego metoda FileSystem.Object.Copy
Ma ona kilka parametrów wejściowych:

    • Object – nazwa obiektu zdefiniowanego jako obiekt FSO. Argument obowiązkowy.
    • Source – nazwa pliku do skopiowania. Argument obowiązkowy, ale dozwolone są znaki zastępcze w  nazwie.
    • Destination – nazwa pliku po skopiowaniu. Argument obowiązkowy.
    • Overwrite – opcjonalny argument typu Boolean. Jeżeli kopiowany plik ma być zapisany pod nazwą już istniejącego pliku, wartość False nie skopiuje pliku. Domyślna wartość True, zastąpi plik plikiem kopiowany.

Przykładowy kod kopiujący plik może wyglądać tak:

Public Sub KopiujPlik()
Dim FSO As Object
Dim KopiowanyPlik As String
Dim
NowyPlik As String
KopiowanyPlik= “C:\Wprawki\PrzykladowaBaza.accdb”
NowyPlik= “C:\NaBlogi\PrzykladowaBaza.accdb”
Set FSO=CreateObject(“Scripting.FileSystemObject”)
FSO.Copy  KopiowanyPlik, NowyPlik, True
Set FSO=Nothing
End Sub

 


FileSystem.Object

Scripting.FileSystemObject to obiekt służący do zarządzania plikami i folderami. Wprawdzie w kodzie VBA są dostępne proste i przyjemne funkcje Dir, MkDir itp., ale przy odwołaniach do folderów sieciowych niestety często zawodzą. Wówczas pozostaje wykorzystanie właśnie obiektu FileSystemObject, popularnie nazywanym FSO.

Dostępne są tu następujące właściwości i metody:

    • GetDrive – informacje o napędzie (dysku)
    • GetFolder – informacje o folderze
    • GetFile– informacje o pliku
    • CreateFolder – tworzenie folderu
    • CreateFile – tworzenie pliku
    • DeleteFolder – usuwanie folderu
    • DeleteFile – usuwanie pliku
    • CopyFolder – kopiowanie folderu
    • CopyFile – kopiowanie pliku
    • MoveFolder – przenoszenie folderu
    • MoveFile – przenoszenie pliku

To tylko te podstawowe, jest ich więcej. I każda będzie tematem notki.


%d bloggers like this: