Zugriff auf Access Datenbanken

Einleitung:
Da man auch in Visual Basic oft mit Datenbank zugriffen arbeitet, wird hier eine unabhängige, flexible Datenbank-Zugriffs Lösung als die, die in vielen Visual Basic Büchern beschreiben ist gezeigt.
Die Lösung basiert auf "SQL" und ist wird auch in anderen Programmiersprachen verwendet. SQL lässt sich auch ganz gut in Visual Basic einbinden.

Was ist SQL?
SQL = Structured Query Language, wird dazu verwendet um unabhängige Datenbank abfragen auszuführen. Es spielt dabei keine Rolle, was für eine Datenbank (Access, mySQL, DBase) verwendet wird.
Selbstverständlich kann man mit SQL noch viel mehr machen als nur einfache abfragen auszuführen, wen also die Datenbank Anbindung interessiert, wird empfohlen, hierzu weitere Literatur zu beschaffen.

Einfache SQL Anweisungen
Mit sogenannten "SQL Statements" kann man auf eine Datenbank verschiedene Arbeiten durchführen, bsp. Auslesen, Eintragen oder Löschen:

Abfragen mit SELECT
Mittels dem Befehl SELECT können einzelne Felder, Datensätze oder ganze Tabellen abgefragt werden.
Syntax: SELECT TabellenFeld FROM Tabelle [WHERE TabellenFeld = Wert]

Einfügen mittels INSERT
Mittels INSERT können Datensätze eingefügt werden
Syntax: INSERT INTO Tabelle [(Tabellenfeld1, Tabellenfeld2)] VALUES (‚Wert1‘, ‚Wert2‘)

Modifizieren mittels UPDATE
Mittels UPDATE können Datensätze modifiziert werden
Syntax: UPDATE Tabelle WHERE TabellenFeld = ‚Wert‘ SET (TabellenFeld1 = ‚Wert1‘, TabellenFeld2 = ‚Wert2‘)

Welche Schritte sind zu tun, um auf eine SQL Datenbank zuzugreifen?
Um mit SQL auf eine (Access) Datenbank zuzugreifen sind zunächst einige Schritte erforderlich, das nachfolgende Beispiel veranschaulicht dies:

'--Dieser Teil braucht nur einmal gemacht zu werden--
'Variablen deklarieren
Dim Conn As Object      'Objekt für die DB Verbindung
Dim SQLQUERY As Object  'Hier werden die SQL abfragen abgelegt
Dim DBPath As String    'String für den DB-Pfad
Dim SQL As String       'String für die SQL abfragen
 
'Datenbank Pfad bestimmen
DBPath = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=K:daten.mdb"
 
'Datenbank Objekt erstellen
Set Conn = CreateObject("ADODB.Connection")
 
'Die Datenbank öffnen (Conn)
Conn.Open DBPath
 
'--Dieser Teil wird jeweils vor jeder abfrage ausgeführt--
'SQL Befehl festlegen
SQL = "SELECT * FROM tblLogin"
 
'Den SQL Befehl auf die Datenbank ausführen und die Abfrage
'in der "Variablen"* SQLQUERY speichern
Set SQLQUERY = Conn.Execute(SQL)
 
'Solange die Datenbank nicht am ende angelangt ist
'(EOF = EndOfFile) Gib das Feld "UserLoginName" aus
While Not SQLQUERY.EOF
  MsgBox (SQLQUERY("UserLoginName"))
  SQLQUERY.MoveNext
Wend
'Gehe wieder zum ersten Datensatz
SQLQUERY.MoveFirst
 
 
'--Dieser Teil kommt jeweils immer am schluss--
'Datenbank schliessen
Conn.Close
 
 
<ul>
<li> SQLQUERY ist eigentlich ein Objekt, es fällt aber leichter, dies als Variable darzustellen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert