Rubrik: Datenbanken · DAO | VB-Versionen: VBA | 28.02.02 |
Excel-Tabelle im DataGrid anzeigen (DAO) Mit dem DAO-Datenbankzugriff und ein paar Zeilen Code lässt sich eine Excel-Tabelle ganz einfach in einem DataGrid anzeigen und bearbeiten. | ||
Autor: Dieter Otter | Bewertung: | Views: 32.237 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Immer wieder werden wir gefragt, wie man eine Excel-Tabelle am einfachsten in einer VB-Anwendung einbinden kann. Sei es, um die Excel-Tabelle bearbeiten zu können oder einfach nur um die Daten anzuzeigen.
Was ist eine Excel-Tabelle? Welches Format hat eine solche Datei?
Eine Excel-Tabelle ist nichts anderes als eine Datenbank - ja sie lesen richtig - eine ISAM-Datenquelle. Und da Visual Basic von Haus aus sehr gut mit Datenbanken klar kommt, was liegt also näher, eine Excel-Datei als Datenbank und die entsprechende Tabelle als Recordset zu öffnen?
Alles was Sie brauchen ist ein ISAM Datenbank-Zugriff - und den bekommen Sie, indem Sie einen Verweis auf die Microsoft DAO 3.x Library setzen.
Für die Darstellung der Excel-Tabellen-Daten eignet sich das DataGrid-Control hervorragend. Fügen wir also der Form zunächst ein DataGrid-Control hinzu. Für die Bindung zur Datenquelle (der Excel-Datei) benötigen wir noch ein Data-Control. In der Eigenschaft DataSource des DataGrids wählen wir dann als Quelle eben dieses DataControl aus. Alles andere erledigen wir per Code.
' Excel-Tabelle im DataGrid anzeigen (DAO) Dim sExcelFile As String Dim sTabelle As String ' vollständiger Pfad zur Excel-Datei sExcelFile = "C:\Eigene Dateien\Excel\Adressen.xls" ' Tabellen-Name sTabelle = "Tabelle1" ' Eigenschaften des Data-Controls With Data1 .DatabaseName = sExcelFile ' Connect-Strings: ' Excel 97: "Excel 8.0;" ' Excel 2000: "Excel 9.0;" ' Excel XP: "Excel 10.0;" .Connect = "Excel 8.0;" ' Excel 97 ' WICHTIG! abschliessendes $-Zeichen .RecordSource = sTabelle & "$" ' Daten im DataGrid anzeigen .Refresh End With