Hallo und grüss Gott!
mit diesem Programmteil lese ich Excel-Tabellen in ein Datagrid ein, was auch Problemlos funktioniert solange die Tabelle 'Tabelle1' heisst.
An dieser Stelle komme ich aber nicht ganz zum Ziel, weil die Namen der Tabellen sich ständig ändern, und mir vor dem einlesen nicht bekannt sind, was Zwangsläufig zu einem Fehler führt.
Meine Frage:
gibt es eine Möglichkeit die Tabellen nicht über den Namen, sondern über eine Indexnummer anzuwählen? Wenn ja, wie würde in diesem Beispiel die Syntax lauten.
Würde mich sehr freuen, wenn mir jemand weiter helfen könnte.
Gruss
Anfreas
'Beispiel
Dim cn As System.Data.OleDb.OleDbConnection
Dim cmd As System.Data.OleDb.OleDbDataAdapter
Dim ds As New System.Data.DataSet()
cn = New System.Data.OleDb.OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;" & _
"data source=" & quelle & ";Extended Properties=Excel 8.0;")
cmd = New System.Data.OleDb.OleDbDataAdapter("select * from [tabelle1$]", cn)
cn.Open()
cmd.Fill(ds)
cn.Close()
mit diesem Programmteil lese ich Excel-Tabellen in ein Datagrid ein, was auch Problemlos funktioniert solange die Tabelle 'Tabelle1' heisst.
An dieser Stelle komme ich aber nicht ganz zum Ziel, weil die Namen der Tabellen sich ständig ändern, und mir vor dem einlesen nicht bekannt sind, was Zwangsläufig zu einem Fehler führt.
Meine Frage:
gibt es eine Möglichkeit die Tabellen nicht über den Namen, sondern über eine Indexnummer anzuwählen? Wenn ja, wie würde in diesem Beispiel die Syntax lauten.
Würde mich sehr freuen, wenn mir jemand weiter helfen könnte.
Gruss
Anfreas
'Beispiel
Dim cn As System.Data.OleDb.OleDbConnection
Dim cmd As System.Data.OleDb.OleDbDataAdapter
Dim ds As New System.Data.DataSet()
cn = New System.Data.OleDb.OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;" & _
"data source=" & quelle & ";Extended Properties=Excel 8.0;")
cmd = New System.Data.OleDb.OleDbDataAdapter("select * from [tabelle1$]", cn)
cn.Open()
cmd.Fill(ds)
cn.Close()