![]() |
||
![]() |
Dbase-kompatible Datenbanken mit Visual BasicWir 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 æ 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 IndexDer 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 SubAls 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 SubDer 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 SubWenn 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. |
![]() |