Jak uzyskać dostęp do wyników zapytań VBA

...

Pobierz wyniki zapytania w programie Access przy użyciu języka VBA.

Umiejętność odczytywania wyników zapytania programu Microsoft Access może pomóc w zwiększeniu dynamiki aplikacji programu Access. Access jest częścią pakietu Microsoft Office i służy do tworzenia relacyjnych baz danych. Visual Basic for Applications (VBA) może być używany w programie Access do tworzenia aplikacji systemu Windows i pobierania danych z bazy danych. Zapytanie jest budowane przy użyciu instrukcji Structured Query Language (SQL) w celu żądania informacji z bazy danych.

Krok 1

Uruchom program Microsoft Office Access 2007 i wybierz „Puste bazy danych”, a następnie kliknij „Utwórz”. Kliknij „Narzędzia bazy danych” i wybierz „Visual Basic”. Kliknij pole „Wstaw” i wybierz „Moduł”.

Wideo dnia

Wpisz „Private sub readQueryResults” i naciśnij „Enter”, aby utworzyć nowy podprogram.

Krok 2

Wpisz następujące polecenie, aby zadeklarować zmienne, których użyjesz do odczytania wyników zapytania:

Dim RecordSt jako zestaw rekordów Dim dBase jako baza danych Dim stringSQL jako łańcuch Dim rCnt jako liczba całkowita

Krok 3

Wpisz następujące polecenie, aby utworzyć tabelę „CityTbl”:

stringSQL = "UTWÓRZ TABELĘ MiastoTbl (Miasto TEKST(25), Stan TEKST(25));" DoPolec. Uruchom SQL (stringSQL)

Krok 4

Wpisz następujące polecenie, aby dodać dwa nowe rekordy do tabeli „MiastoTbl”:

stringSQL = "WSTAW DO CityTbl ([Miasto], [Stan] ) " stringSQL = stringSQL & "WARTOŚCI ('Fort Worth', 'Teksas');" DoPolec. SetWarnings Fałszywy DoCmd. Uruchom SQL (stringSQL)

stringSQL = "WSTAW DO CityTbl ([Miasto], [Stan] ) " stringSQL = stringSQL & "WARTOŚCI ('Dallas', 'Teksas');" DoPolec. SetWarnings Fałszywy DoCmd. Uruchom SQL (stringSQL)

Krok 5

Wpisz następujące polecenie, aby zdefiniować zapytanie i otworzyć zestaw rekordów:

stringSQL = "SELECT CityTbl.* FROM CityTbl;" Ustaw RecordSt = dBase. OpenRecordset (stringSQL)

Krok 6

Wpisz następujące polecenie, aby utworzyć „pętlę for” i wyświetlić wyniki zapytania w oknie komunikatu:

RekordSt. MoveFirst For rCnt = 0 To RecordSt. RecordSt. MsgBox (RecordSt. Fields("Miasto").Value & ", " & RecordSt. Fields("State").Value) RecordSt. PrzenieśDalej Dalej rCnt

Naciśnij "F5", aby wykonać podprogram.