Dbase-kompatible Datenbanken mit Visual Basic
Wir arbeiten in unserer Firma mit Dbase-Datenbanken als Relikt aus alten Zeiten und mit Microsofts Visual Basic. Um kompatibel zu bleiben, müssen auch neue Datenbanken dem Dbase-Format genügen. Wie kann ich unter Visual Basic eine Dbase-Datenbank anlegen, dazu einen Index definieren und diesen wieder löschen?
Visual Basic bietet in der Professional-Version die Möglichkeit, eine Dbase-Datenbank anzulegen. Dazu gehen Sie am besten anhand des folgenden Beispiels vor: Entwerfen Sie ein Formular mit drei Befehls-Buttons. Geben Sie in der Sektion des Formulars dann folgenden einleitenden Visual-Basic-Code ein:
‘ Definieren der Datenbankobjekte Dim MyDB As DataBase Dim MyTd As TableDef Dim MyTds As TableDefs ‘ Definieren der Felder Dim MyFeld1 As Field Dim MyFeld2 As Field Dim MyFeld3 As Field Dim MyFeld4 As Field ‘ Definieren des Index Dim MyIndex As Index Der erste Befehls-Button dient zunächst dem Anlegen der Dbase-Datenbank. Das Feld MyFeld1 ist als Zahl definiert, um es später als Index zu benutzen. Sie können dazu nur ein bereits bestehendes Feld verwenden.
Sub Command1_Click () ‘ Referenzierungen Set MyDB = OpenDatabase („c:\vb\test“, False, False, „DBASE IV;“) Set MyTd = New TableDef Set MyFeld1 = New Field Set MyFeld2 = New Field Set MyFeld3 = New Field Set MyFeld4 = New Field Set MyIndex = New Index
‘ Zunächst Tabledef MyTd.Name = „MyTest“
‘ Zuweisungen für Felder, wobei das 1. Feld der zukünftige Index werden soll. ‘ Einige mögliche Typen: ‘ Type = 2 Integer ‘ Type = 4 Long ‘ Type = 6 Single ‘ Type = 10 Text (String) MyFeld1.Name = „Zähler“ MyFeld.Type = 2 MyFeld.Size = 3
MyFeld2.Name = „ORT“ MyFeld2.Type = 10 MyFeld2.Size = 30
MyFeld3.Name = „Nachname“ MyFeld3.Type = 10 MyFeld3.Size = 30
MyFeld4.Name = „Gehalt“ MyFeld4.Type = 4 MyFeld4.Size = 6
‘ Erstellen und Anhängen der Felder MyTd.Fields.Append MyFeld1 MyTd.Fields.Append MyFeld2 MyTd.Fields.Append MyFeld3 MyTd.Fields.Append MyFeld4 MyDB.TableDefs.Append MyTd
‘ Index wird auf das Feld Zähler gelegt MyIndex.Name = „Index1“ MyIndex.Fields = „Zähler“ MyIndex.Primary = True MyTd.Indexes.Append MyIndex
MyDB.Close
Command2.Visible = True End Sub Als nächstes programmieren Sie den Befehls-Button zum Ausführen des Visual-Basic-Beispielprogramms Visdata, mit dem Sie Ihre Ergebnisse überprüfen:
Sub Command2_Click () y = Shell („C:\vb\samples\visdata\visdata.exe“) command3.Visible = True End Sub Der letzte Schalter löscht den Index wieder. Das Ergebnis können Sie wiederum mit Visdata überprüfen.
Sub Command3_Click () Set MyDB = OpenDatabase („c:\vb\test“, False, False, „DBASE IV;“) Set MyTds = MyDB.TableDefs
MyTds („MyTest“).Indexes.Delete MyTds („MyTest“).Indexes („Index1“) End Sub Wenn Sie einen Index anlegen, entsteht gleichzeitig eine Index- Datei mit der Endung MDX. Diese Datei löscht Visual Basic automatisch, sobald Sie den Index wieder löschen.
|