Großer Anfänger Thread

Ah, das ist wohl was du meintest mit
Christian Kusmanow hat gesagt.:
Das ist viel zu allgemein.
Gut, nach dem Konsum des Clips, habe ich das ganze etwas erweitert (danke übrigens für den Link).
Wenn ich in meiner MessageBox in Zeile 27 ex.Message ausgeben lasse bekomme ich: "Installierbares ISAM nicht gefunden."

Hilft das weiter?

### EDIT ######
Ich weiß nicht, ob ich die Exception.InnerException richtig angewendet habe, aber der Wert ist leer.
Code:
' (...) siehe oben
Catch ex As Exception
            MessageBox.Show(ex.Message, "Auslesen gescheitert")

            Dim Wert As Exception = ex.InnerException()
            MessageBox.Show(Wert, "Inner Exception")

            Return False
        End Try
 
Zuletzt bearbeitet:
Also die Message sagt mir nichts. Und Du hast mich falsch verstanden.
Ich meinte die Zeile in der die Exception ausgelöst wurde.
Du musst dir also auch mal die Exception.ToString() anschauen...
Und schau Dir zusätzlich auch mal die InnerException deiner Exception an,
sofern diese nicht null ist.

Edit: Ok, ich weiss aber trotzdem nicht was "Installierbares ISAM nicht gefunden." bedeutet.
Hat wer eine Idee? :confused:
 
Code:
Dim MyCommand As System.Data.OleDb.OleDbDataAdapter
sollte doch auch eher zu
Code:
Dim MyCommand as System.Data.OleDb.OleDbCommand
werden.
 
Also nachdem ich es jetzt in Dim MyCommand As System.Data.OleDb.OleDbCommand geändert habe, funktioniert es.

Allerdings frage ich mich, ob diese Zeile noch ok ist:
"Extended Properties=Excel 8.0;")
Ist es egal was welche Versionsnummer dort steht? (Wir benutzen hier Office 2003)


##### EDIT ###########
Inzwischen bin ich durch Zufall selbst über die Antwort gestolpert. Es gibt nur zwei Versionen dieses Strings (siehe Quelle):
  1. "Extended Properties=""Excel 8.0;" --> Für alle Excel-Versionen ab Excel97
  2. "Extended Properties=""Excel 5.0;" --> Für alle Versionen vor Excel97
 
Zuletzt bearbeitet:
Hallo, ich schon wieder.

Inzwischen funktioniert mein Programm schon ganz toll. Praktisch alle Funktionen sind eingebaut und laufen prima. Aber an dem Zugriff auf die Excel-Datei beiße ich mir bislang die Zähne aus.

In meinem Beitrag vom 14.09 habe ich ja schon den Code dazu gepostet. Scheinbar bekommt er also Zugriff auf die Excel-Liste. Allerdings weiß ich trotz ausgiebigen Googelns immer noch nicht, wie ich damit umgehen soll.
Wie bringe ich die Daten (sofern denn tatsächlich welche ausgelesen wurden) in die berühmte tabellarische Form um sie auszugeben? Nach dem ich mir jetzt dieses Tutorial angesehen habe bin ich noch verwirrter. Und besonders viele Infos zu Dataset habe ich in der MSDN auch nicht gefunden.

Kann mir bitte nochmal jemand helfen? Einen Link, ein wenig Info, irgendwas? (Ich weiß ja nicht mal genau, wann man ein Dataset nimmt und wann ein Datagrid, etc... :eek: )
 
Zuletzt bearbeitet:
OK, nach längeren Recherchen konnte ich mein Problem weiter eingrenzen und meinen Code überarbeiten. Folgende Punkte sind mir aber immer noch nicht klar:
  • Wie übertrage ich den Inhalt aus MyCommand in das Dataset? (Zeile 21)
  • Wie übertrage ich den Inhalt des Datasets in das Datagrid zum Ausgeben? (Z 24)
  • Ist es überhaupt notwendig, die Daten vor dem Ausgeben vorher noch mal in ein Dataset zu schreiben?
Code:
Private Function read_from_xls(ByVal Pfad As String)
        Try
            Dim Dateiname As String = Dir(Pfad & "\*.xls")
            Dim Quellpfad As String = Pfad & Dateiname
            ' Testausgabe
            'MessageBox.Show(Quellpfad, "Quellpfad")
 
            Dim MyConnection As System.Data.OleDb.OleDbConnection
            MyConnection = New System.Data.OleDb.OleDbConnection( _
                  "provider=Microsoft.Jet.OLEDB.4.0; " & _
                  "data source= " & Quellpfad & " ; " & _
                  "Extended Properties=Excel 8.0;")
 
            ' Daten aus Tabelle1 auslesen
            Dim MyCommand As System.Data.OleDb.OleDbCommand
            MyCommand = New System.Data.OleDb.OleDbCommand( _
                  "select * from [Sheet1$]", MyConnection)
 
            'MyCommand-Daten in das DS schreiben
            Dim DS As New DataSet("Excel-Inhalt")
' ### Wie übertrage ich die Daten hier in das Dataset? ###
            'DS.?
 
' ### Wie bekomme ich die Daten hier in das Datagrid ? ###
            Dim DataGrid1 = New DataGrid
            DataGrid1.Datasource = DS.Tables("daten1")
 
            MyConnection.Close()
 
            Return DS
 
        Catch ex As Exception
            MessageBox.Show(ex.Message, "Auslesen gescheitert")
            'Dim Wert As Exception = ex.InnerException()
            'MessageBox.Show(Wert, "Inner Exception")
            Return False
 
        End Try
    End Function
 

Anhänge

  • 26199attachment.zip
    59,2 KB · Aufrufe: 10
Zuletzt bearbeitet:

Neue Beiträge

Zurück