|
Excel - odczyt z bazy danych MS Access
Tworzenie bazy danych w MS Access
Przed przystąpieniem do pisania makra należy utworzyć bazę danych MS Access.
W tym celu po uruchomieniu MS Access należy z menu wybrać Plik | Nowy | Pusta baza danych. Utworzoną bazę zapisujemy na dysku C pod nazwą baza.mdb.
Następnie wybieramy "Utwórz tabelę w widoku projektu". Projektujemy tabelę zgodnie rysunkiem pokazanym poniżej:
Kolumnę id ustawiamy jako klucz główny. Tabelę zapisujemy pod nazwą osoby. Do utworzonej tabeli można wprowadzić kilka rekordów. W tym celu otweramy ją w widoku danych i wpowadzamy przykładowe
dane.
Pisanie makra - tworzenie formularza
Z menu Narzędzia | Makro wybieramy Edytor Visual Basic. W uruchomionym edytorze Visual Basica z menu Insert wybieramy "User form".
Do formularza, który się pojawił dodajemy komponenty: Label, TextBox i CommandButton. Właściwości formularza i jego komponentów
zmieniamy tak aby jego wygląd był następujący:
Kod programu
Następnie klikamy dwukrotnie w przycisk z napisem "Odczytaj dane". Spowoduje to wygenerowanie szablonu metody:
Private Sub CommandButton1_Click()
End Sub
Szablon ten uzupełniamy następującym kodem:
Private Sub CommandButton1_Click()
Set Conn = CreateObject("ADODB.Connection")
Set RS = CreateObject("ADODB.Recordset")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\baza.mdb;"
RS.Open "SELECT * FROM osoby", Conn
Do While Not RS.EOF
TextBox1.Text = TextBox1.Text + RS("imie") + " " + RS("nazwisko") + ", "
RS.MoveNext
Loop
RS.Close
Conn.Close
Set RS = Nothing
Set Conn = Nothing
End Sub
Zasada działania makra
Pierwsze dwie linie
Set Conn = CreateObject("ADODB.Connection")
Set RS = CreateObject("ADODB.Recordset")
tworzą dwa obiekty potrzebne do współpracy z bazą danych: jest to obiekt Connection i obiekt Recordset.
Obiekt Connection reprezentuje połączenie z bazą danych. Obiek Recordset reprezentuje zbiór danych odczytanych z bazy.
Następnie makro łączy się za pomocą obiektu Connection z bazą danych MS Access. Łańcuch tekstowy przekazany metodzie
tego obiektu to tak zwany "łańcuch połączenia". Opisuje on parametry bazy danych, z którą się łączymy:
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\baza.mdb;"
W następnej lini
następuje wykonanie zapytania w języku SQL na bazie danych, z którą się połączyliśmy:
RS.Open "SELECT * FROM osoby", Conn
Wyniki tego zapytania zostaną zwrócone
do obiektu Recordset. Następne cztery linie to pętla odczytująca wszystkie rekordy z obiektu Recordset. Pola imie i nazwisko
każdego rekordu jest "doklejane" do pola tekstowego TextBox:
Do While Not RS.EOF
TextBox1.Text = TextBox1.Text + RS("imie") + " " + RS("nazwisko") + ", "
RS.MoveNext
Loop
Ostatnie linie naszego makra zamykają obiekty i zwalniają zasoby,
które były potrzebne do ich utworzenia:
RS.Close
Conn.Close
Set RS = Nothing
Set Conn = Nothing
Uruchomienie makra
Po uruchmieniu makra i naciśnięciu przycisku powinien pojawić się następujacy widok:
Zobacz także...
Tabele przestawne
Formatowanie warunkowe Excel
Excel suma
Excel funkcja jeżeli
Excel - funkcje
Excel - odczyt danych z pliku tekstowego
Wykonywanie obliczeń na serii danych, wykorzystanie funkcji
Excel - "Szukaj wyniku"
Excel - wykresy funkcji
Excel - import danych
Excel - filtrowanie danych
Excel - makra
|
|
|