Access Anfänger: Wie greife ich in VBA auf die Werte einer Tabelle zu?

Aus DBWiki
Wechseln zu: Navigation, Suche

Dazu braucht man ein Recordset. Der Code könnte etwa so aussehen:

' Menue: Extras -> Verweise Microsoft DAO 3.xx Object Library muss aktiv sein!
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim strSQL As String
Dim var
 
Set db = CurrentDb                 ' Datenbank definieren
strSQL = "SELECT * FROM Tabelle"   ' beliebigen SQL definieren
Set rs = db.OpenRecordset(strSQL)  ' Recordset öffnen
 
If Not rs.EOF Then rs.MoveFirst    ' Zum ersten Datensatz
 
Do While Not rs.EOF                ' Schleife über die Datensätze des Recordsets
  var = rs!Feldname                ' Wert auslesen
  'danach Variable var evtl. irgendwie verarbeiten
  'Andere beispielhafte mögliche Aktionen:
  'rs.Edit                         ' Wenn Daten im Datensatz geändert werden sollen
  'rs.AddNew                       ' Wenn neuer Datensatz eingefügt werden soll
  'rs!Feld1 = 123
  'rs.Fields("DeinFeld") = 5
  'rs![Feld 3] = "DeinText"
  'rs.Update                       'Änderungen am / neuen Datensatz speichern
  rs.MoveNext                      'nächsten Datensatz ansteuern
Loop
 
rs.Close
Set rs = Nothing
Set db = Nothing

Statt auf eine Tabelle kann man auch auf eine gespeicherte Abfrage zugreifen.

Der oben gezeigte Zugriff wurde mit DAO (Data Access Objects) auf eine Tabelle der aktuellen Access-Datei ausgeführt.

Wenn du mit Access auf eine Tabelle einer externen Datenbank wie z.B. den MS SQL-Server zugreifen möchtest ist ADO (ActiveX Data Objects) die bessere Wahl. Siehe dazu Zugriff auf einen SQL-Server