vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: Datenbanken · ADO   |   VB-Versionen: VBA03.03.02
Excel-Tabelle im DataGrid anzeigen (ADO)

Mit dem ADO-Datenbankzugriff und ein paar Zeilen Code lässt sich eine Excel-Tabelle ganz einfach in einem DataGrid anzeigen und bearbeiten.

Autor:   Dieter OtterBewertung:  Views:  44.218 
www.tools4vb.deSystem:  Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 Beispielprojekt auf CD 

In einem unserer letzten Tipps haben wir Ihnen gezeigt, wie sich mittels DAO-Datenbankzugriff eine Excel-Tabelle in einem DataGrid anzeigen lässt. Darauf haben sich natürlich Fragen ergeben, wie: "Und wie erreiche ich das ganze mittels ADO?".

Setzen Sie zuerst einmal einen Verweis auf die Microsoft ActiveX DataObjects 2.5 Library. Diese brauchen wir für den ADO-Datenbankzugriff. Dann benötigen wir noch das DataGrid, genauer dasdas Microsoft DataGrid Control 6.0 (OLEDB). Plazieren Sie das DataGrid auf die Form - alles andere erledigen wir per Code.

Hinweis
Wir möchten hier gezielt auf das Data-Control (Microsoft ADO DataControl) verzichten. Die Datenbank (Excel-Datei), sowie das Recordset (Tabelle) öffnen wir per Code.

Fügen Sie nachfolgende Deklarationen in den Allgemein-Teil der Form ein:

Option Explicit
 
' Datenbank-Connection + Recordset Objekt
Public Conn  As ADODB.Connection
Public Rs    As ADODB.Recordset

Im Form_Load Ereignis öffnen wir dann die Excel-Datei und zeigen die Zellen der entsprechenden Excel-Tabelle im DataGrid an.

Private Sub Form_Load()
  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"
 
  ' Datenbank öffnen (Excel-Datei)
  Set Conn = New ADODB.Connection
  Conn.CursorLocation = adUseClient
 
  ' Excel-Versionen
  ' Excel 97: "Excel 8.0;"
  ' Excel 2000: "Excel 9.0;"
  ' Excel XP: "Excel 10.0;"  
  Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
    "Extended Properties=Excel 8.0;" & _
    "Data Source=" & sExcelFile & ";"
 
  ' Recordset erstellen und öffnen
  Set Rs = New ADODB.Recordset
  Rs.Open "SELECT * FROM [" & sTabelle & "$]", Conn, _
    adOpenKeyset, adLockOptimistic
 
  ' DataGrid mit dem Inhalt des Recordsets füllen
  With DataGrid1
    ' Titel des DataGrid
    .Caption = "Excel-Daten"
 
    ' Datenanbindung
    Set .DataSource = Rs
  End With
End Sub
' Datenbank schliessen
Private Sub Form_Unload(UnloadMode As Integer)
  On Error Resume Next
  Rs.Close
  Conn.Close
End Sub



Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
 
Copyright ©2000-2024 vb@rchiv Dieter OtterAlle Rechte vorbehalten.


Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.