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. |