Wprowadzenie
Visual Basic for Applications (VBA) w MS Access pozwala na automatyzację operacji na danych, takich jak wstawianie, aktualizowanie, usuwanie i pobieranie informacji bezpośrednio z tabel. Do tego celu wykorzystujemy obiekt DAO (Data Access Objects) oraz kwerendy SQL.
W tej lekcji omówimy następujące operacje:
- Dodawanie danych (INSERT INTO)
- Aktualizacja danych (UPDATE)
- Usuwanie danych (DELETE)
- Pobieranie danych (SELECT)
1. Połączenie z Bazą Danych
Do operacji na danych wykorzystujemy obiekt DAO.Database oraz DAO.Recordset. Oto podstawowy kod otwierający bazę:
DAO.Database - typ danych odwołujący się do bazy danych
CurrentDb() - funkcja łącząca konsole z aktualnie wybraną bazą
Execute - funkcja dostępna na obiekcie bazy na której można wykonywać zapytania sql
DAO.Recordset - typ danych odwołujący się do danych w tabelach
OpenRecordset("Zapytanie wybierające") - funkcja pobierająca dane wg zapytania
EOF - zmienna dostępna na obiekcie danych tabeli oznaczająca koniec rekordów
MoveNext - funkcja obiektu danych tabeli przesuwająca do kolejnego rekordu
Close - unkcja obiektu danych tabeli zamujakaca połączenie z tabelą
Nothing - typ danych oznaczający null
Aby dodać nowy rekord do tabeli, możemy użyć instrukcji INSERT w funkcji Execute "zapytanie" Aby aktualizować rekord do tabeli, możemy użyć instrukcji UPDATE w funkcji Execute "zapytanie" Aby usunąć rekord do tabeli, możemy użyć instrukcji UPDATE w funkcji Execute "zapytanie"
Ćwiczenia
Stwórz tabelę studenci: Imie Nazwisko Wiek
Ćwiczenie 1: Dodawanie Studenta do Tabeli
- Stwórz nowy moduł w VBA.
- Napisz funkcję dodającą nowego studenta do tabeli studenci.
- Po dodaniu rekordu wyświetl komunikat "Dodano nowego studenta!".
- Zamknij połączenie z bazą.
Ćwiczenie 2: Aktualizacja Wiek Studenta
- Stwórz formularz z polami:
txtImie
,txtNazwisko
,txtNowyWiek
i przyciskiemcmdAktualizuj
. - W zdarzeniu OnClick przycisku
cmdAktualizuj
napisz kod VBA, który zmienia wiek studenta o podanym imieniu i nazwisku. - Po zmianie wyświetl komunikat "Zaktualizowano wiek studenta!".
- Zamknij połączenie z bazą.
Ćwiczenie 3: Usunięcie Studenta
- Stwórz formularz z polami:
txtImie
,txtNazwisko
i przyciskiemcmdUsun
. - W zdarzeniu OnClick przycisku
cmdUsun
napisz kod VBA, który usunie studenta z tabeliStudenci
. - Po usunięciu rekordu wyświetl komunikat "Usunięto studenta!".
- Zamknij połączenie z bazą.
Ćwiczenie 4: Pobieranie Listy Studentów
- Stwórz formularz z przyciskiem
cmdWczytaj
. - W zdarzeniu OnClick przycisku
cmdWczytaj
napisz kod VBA, który wyswietli kolejno wszystkich studentów w okienkach. - Wyświetl listę studentów w kontrolce.
- Zamknij połączenie z bazą i zbiór rekordów.
Podsumowanie
Po tej lekcji uczniowie powinni umieć:
✅ Wstawiać nowe rekordy do tabeli w Access za pomocą VBA.
✅ Aktualizować istniejące dane.
✅ Usuwać rekordy według określonych kryteriów.
✅ Pobierać dane i wyświetlać je w formularzu.
Te cztery ćwiczenia powinny zmieścić się w 45 minutach i dać solidne podstawy do pracy z danymi w VBA! 🚀