Operacje na Danych z Poziomu VBA w MS Access

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:

  1. Dodawanie danych (INSERT INTO)
  2. Aktualizacja danych (UPDATE)
  3. Usuwanie danych (DELETE)
  4. 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

  1. Stwórz nowy moduł w VBA.
  2. Napisz funkcję dodającą nowego studenta do tabeli studenci.
  3. Po dodaniu rekordu wyświetl komunikat "Dodano nowego studenta!".
  4. Zamknij połączenie z bazą.

Ćwiczenie 2: Aktualizacja Wiek Studenta

  1. Stwórz formularz z polami: txtImie, txtNazwisko, txtNowyWiek i przyciskiem cmdAktualizuj.
  2. W zdarzeniu OnClick przycisku cmdAktualizuj napisz kod VBA, który zmienia wiek studenta o podanym imieniu i nazwisku.
  3. Po zmianie wyświetl komunikat "Zaktualizowano wiek studenta!".
  4. Zamknij połączenie z bazą.

Ćwiczenie 3: Usunięcie Studenta

  1. Stwórz formularz z polami: txtImie, txtNazwisko i przyciskiem cmdUsun.
  2. W zdarzeniu OnClick przycisku cmdUsun napisz kod VBA, który usunie studenta z tabeli Studenci.
  3. Po usunięciu rekordu wyświetl komunikat "Usunięto studenta!".
  4. Zamknij połączenie z bazą.

Ćwiczenie 4: Pobieranie Listy Studentów

  1. Stwórz formularz z przyciskiem cmdWczytaj.
  2. W zdarzeniu OnClick przycisku cmdWczytaj napisz kod VBA, który wyswietli kolejno wszystkich studentów w okienkach.
  3. Wyświetl listę studentów w kontrolce.
  4. 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! 🚀