Google
 
Strona główna Darmowe programy, shareware Programowanie MS Excel Porady komputerowe Bazy danych Kontakt

Excel - odczyt z bazy danych MS Access


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:

Marko odczytujące dane z MS Access w działaniu


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




 

Copyright © 2006-2010 programowaniePC.pl