Wstawianie pola tekstowego do formularza:
W identyczny sposób wstawia się przycisk polecenia do raportu, ale będzie on widoczny tylko w widoku Raportu.
Access, VBA -funkcje, metody, porady, przykłady
Wstawianie pola tekstowego do formularza:
W identyczny sposób wstawia się przycisk polecenia do raportu, ale będzie on widoczny tylko w widoku Raportu.
Kompaktowanie bazy danych polega na zmniejszeniu jej rozmiarów i w efekcie zdecydowanie wydajniejszą pracę.Można to zrobić za pomocą jednego z wbudowanych narzędzi Accessa.
Karta Narzędzia Bazy danych –> Kompaktuj i napraw bazę danych
Przycisk ten jest dostępny także w karcie Plik –> Informacje
Wystarczy go nacisnąć. Baza otworzy się ponownie, już skompaktowana.
Dla każdej bazy danych można też włączyć automatyczne kompaktowanie przy zamykaniu bazy danych.
Robimy to w na karcie Plik –> Opcje – Bieżąca baza danych zaznaczając checkbox Kompaktuj przy zamknięciu.
Przy kompaktowaniu bazy bardzo ważny jest jeden zasadniczy warunek: konieczny jest wyłączny dostęp do bazy tzn.nikt inny nie może w tym momencie korzystać z bazy, na wszystkich innych komputerach musi być wyłączona. Jeżeli tak nie będzie – wyświetli się komunikat podobny do tego:
Baza nie zostanie skompaktowana.
Tworząc aplikację Accessa, z której będą korzystać inni użytkownicy (w tym także nieznający Access), musimy pamiętać, że aplikacja musi być przyjazna i łatwa w obsłudze.
Standardowy widok po otwarciu bazy to np.:
Tu akurat baza nie ma wielu obiektów, więc teoretycznie można otworzyć formularz bez parametrów wejściowych. Można jednak także otworzyć każdy inny obiekt np. tabelę lub kwerendę. Nie zawsze (a najczęściej nigdy) jest to jednak zalecane. Wprawdzie sam pasek nawigacji można schować czy ukryć, ale przy bardziej rozbudowanych bazach, z formularzami wymagającymi parametrów wejściowych, mogą pojawić się problemy.
Rozwiązaniem takiej sytuacji jest ustawienie formularza startowego, który będzie automatycznie otwierany po wejściu do bazy.
W karcie Plik wybieramy Opcje
Następnie wybieramy Bieżąca baza danych i wybieramy formularz, który ma się pojawiać po otwarciu bazy.
I już.
User-defined type not defined
Niezdefiniowany typ danych użytkownika – błąd kompilacji spowodowany użyciem nieznanego typu danych.
Z czego może to wynikać? Często to zwykła literówka w nazwie typu danych – wystarczy drobna poprawka. Najczęściej to jednak brak odpowiedniej biblioteki, do uzupełnienia w referencjach.
Manu edytora VBA –> Tools –> References
Aktywne (czyli przyłączone do projektu) są te referencje, które mają zaznaczony checkbox z lewej strony.
Oprócz tego na liście są wypisane w kolejności alfabetycznej pozostałe dostępne referencje. Chcąc dołączyć którąś z referencji do projektu – wystarczy zaznaczyć przy niej checkbox i nacisnąć przycisk OK.
Na przykład w aplikacji wykorzystującej Microsoft Word:
W tym przypadku edytor VBA zaznaczył błąd w linii Word.Application, konieczne jest wyszukanie i dołączenie potrzebnej referencji.
Po jej dołączeniu – kompilacja kodu przebiega już bez problemów, a kod jest prawidłowo wykonywany.
Błąd kompilacji – Can’t find project or library
Błąd ten pojawia się w sytuacji, gdy brakuje referencji. Można to sprawdzić edytorze VBA. Wybieramy w menu Tools –> References:
Brakujące pozycje oznaczone są jako Missing.
Jak pozbyć się błędu? Trzeba po prostu odhaczyć występujący przy nim checkbox, a następnie nacisnąć OK i skompilować program.
Błąd wykonania 75 – Path/File access error
Błąd ten pojawia się w sytuacji, gdy następuje odwołanie do pliku lub folderu, który nie istnieje. Wystąpi także przy próbie utworzenia folderu, który już jest zapisany.
Najlepszym zabezpieczeniem kodu jest tu po prostu wcześniejsze sprawdzenie, czy dany plik/folder istnieje.
Przykładowy kod może wyglądać tak:
Public Sub NowyKatalog() If Dir(“C:\ABCD”, vbDirectory) = “” Then ‘(1) MkDir (“C:\ABCD”) ‘(2) End If` ‘(3) End Sub |
W linii (1) następuje sprawdzenie, czy istnieje katalog. Jeżeli nie – następuje przejście do linii (2), jeżeli tak – do (3).
MkDir to wyrażenie VBA tworzące na dysku nowy katalog. Posiada 1 argument:
Jeżeli katalog o tej nazwie już istnieje wystąpi błąd wykonania 75
Przykładowy kod VBA może wyglądać tak:
Public Sub NowyKatalog() If Dir(“C:\ABCD”, vbDirectory) = “” Then MkDir (“ABCD”) End If End Sub |
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:
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.