VB-Homepage Tipp 240

Datenbankzugriffe ohne Controls

Mit dem DATA-Control und den weiteren DB.... Controls ist es ja relativ einfach, Daten aus Datenbanken auszulesen und diese auch recht komfortabel aufzubereiten.
Das es aber auch ohne Controls möglich ist, auf Datenbanken zuzugreifen, daß soll dieser Tipp zeigen.

Um nicht die Übersicht zu verlieren, werden wir uns dabei auf das wesentliche beschränken. Als Test wird hier die, hoffentlich bei allen existierende, Biblio.mdb herhalten müssen.

1. Zu allererst ein wenig Definierung.

Dim DB As Database         'Datenbank
Dim TB As Recordset        'Tabelle

2. Als nächstes wird die zu öffnende Datenbank festgelegt.
Diese Angabe müssen Sie noch Ihrer Umgebung anpassen.

Set DB = OpenDatabase("C:\VB\MURPHY.MDB")

3. Nun wird die zu öffnende Tabelle festgelegt.

Set TB = db.OpenRecordset("Publishers")

4. Um sich in den Datensätzen einer Tabelle zu bewegen
gibt es vier Funktionen

TB.MoveFirst         'springt zum ersten Datensatz
TB.MoveNext        'springt einen Datensatz weiter
TB.MovePrevious        'springt einen Datensatz zurück
TB.MoveLast        'springt zum letzten Datensatz

Um also sicher zu stellen, daß auch beim ersten Datensatz begonnen wird, wird zunächst einmal

TB.MoveFirst          angegeben.

5. Um nun als Beispiel alle Datensätze einer Datenreihe in ein Array einzulesen, wären folgende Angaben notwendig.

Zuerstmal Array definieren. Die 150 steht dabei für die maximale Anzahl an möglichen Datensätzen. Bitte beachten sie dies.

Dim Meinarray(150) As Integer

Und nun die Schleife, die nacheinander alle Werte einer Datenreihe, in unserem Beispiel "Name", einließt.

For i = 1 to 150         'also 150 mal Schleife durchlaufen
   Meinarray(i) = TB("Name").Value
   TB.MoveNext
Next i

Somit haben wir nun alle Werte der Datenreihe "Name" in unserem Array
gespeichert. In diesem Fall wird es nicht zur beliebten Fehlermeldung
wegen leeren Feldinhalten kommen.
Wenn Sie aber darauf stoßen, schauen Sie in der Tipp-Datenbank nach, dort gibt es einen Tipp, der sich mit genannter Problematik befasst.

6. Wenn sie nun den Inhalt eines Feldes ändern möchten, gehen Sie folgender Maßen vor. In unserem Beispiel soll der erste Feldinhalt der Datenreihe "Name" geändert werden.

Also zuerst wieder an den Anfang wechseln.

TB.MoveFirst

Dann mitteilen, daß nun etwas eingetragen werden soll.

TB.Edit

Und nun den Wert übergeben.

TB("Name").Value = "Mein eigener Name"

Damit aber nicht genug, denn gespeichert ist es noch nicht in der Datenbank. Dafür benötigt es noch diese Anweisung.

TB.Update

Sie haben also den ersten Wert der Datenreihe "Name" mit Ihrem eigenen Eintrag überschrieben.

7. Damit wäre sowohl das Auslesen als auch das Übergeben von Daten an die Datenbank erledigt. Nun gilt es also wieder sich von der Datenbank abzukoppeln.

TB.Close         'Schließt Tabelle
DB.Close        'Schließt Datenbank

Set TB = Nothing    'Gibt Resourcen der Variable frei
Set db = Nothing    'Gibt Resourcen der Variable frei

Das waren einige Grundfunktionen, um eigene oder fremde Datenbanken, deren Struktur bekannt ist auszulesen bzw. Daten zu übergeben.
Bitte bedenken Sie, die Datenaufbewahrung in einer *.mdb Datei bietet sicher einigen Komfort und hat natürlich auch eine gewisse Professionalität, nicht vergessen darf dabei aber werden, daß dadurch einige Fehlerquellen mehr auf Ihr Programm zu kommen und das der Umfang des Programms sich um einiges aufbläht, da hier nicht einfach lesend oder schreiben direkt auf eine Datei zugegriffen wird, sondern der Zugriff erfolgt über ODBC und dafür müssen Sie einiges mehr in Ihr Installationsprogramm packen.


Tipp-Download

Quelle :

Zurück zur Übersichtsseite