Hallo,
als Neuer mit Erstkontakt zu diesem Forum möchte ich erst einmal allen Helfenden jetzt schon für Ihre Hilfe danken. Für Euch vieleicht eine Kleinigkeit, ich bekomme es nicht hin:
Mit folgender Programmierung baue ich eine Verbindung in VB zu einer Exel-Tabelle her (den Rest drum herum spare ich mir mal):
con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & Pfad_und_Dateiname.xls & ";Extended Properties='Excel 8.0;IMEX=1;ImportMixedTypes=Text'"
cmd.Connection = con
con.Open()
SchemaTable = con.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, New Object() {Nothing, Nothing, Nothing, "TABLE"})
Tabelle = SchemaTable.Rows(0)!TABLE_NAME.ToString.Trim("'") 'Der Tabellenblattname !
cmd.CommandText = "Select F1,F2,F3,F4,F5,F6,F7,F8,F9,F10,F11,F12,F13 From [" & Tabelle & "A6:M]" 'Ab Zeile 6 beginnt der Inhalt (ja nur eine Zeile)
reader = cmd.ExecuteReader()
Mit folgendem Befehl kann ich ein Feld ausgeben:
MsgBox((reader("F11")))
Jetzt kommt es aber. Solage die Felder gefüllt sind funktioniert es. Wenn aber ein Feld leer ist kommt es zu der Fehlermeldung:
'Für mindestens einen erforderlichen Parameter wurde kein Wert angegeben'
Weil ja in F11 Nichts (Null?) ist. IsDBNull geht nicht da gleiches Problem. Also wollte ich in der Select-Abfrage bereits sie Null-Werte ersetzen.....
Aber Select IsNull(F11,'leer') kennt er hier nicht. Nz (aus MSAcess) erkennt er auch nicht.
Kurz gesagt und gefragt: Wie mache ich aus diesen leeren Felder bereits in der Select-Abfrage für VB nutzbare Inhalte wie 'leer' oder 0 ?
Über Ideen wäre ich sehr dankbar.
Michael
als Neuer mit Erstkontakt zu diesem Forum möchte ich erst einmal allen Helfenden jetzt schon für Ihre Hilfe danken. Für Euch vieleicht eine Kleinigkeit, ich bekomme es nicht hin:
Mit folgender Programmierung baue ich eine Verbindung in VB zu einer Exel-Tabelle her (den Rest drum herum spare ich mir mal):
con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & Pfad_und_Dateiname.xls & ";Extended Properties='Excel 8.0;IMEX=1;ImportMixedTypes=Text'"
cmd.Connection = con
con.Open()
SchemaTable = con.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, New Object() {Nothing, Nothing, Nothing, "TABLE"})
Tabelle = SchemaTable.Rows(0)!TABLE_NAME.ToString.Trim("'") 'Der Tabellenblattname !
cmd.CommandText = "Select F1,F2,F3,F4,F5,F6,F7,F8,F9,F10,F11,F12,F13 From [" & Tabelle & "A6:M]" 'Ab Zeile 6 beginnt der Inhalt (ja nur eine Zeile)
reader = cmd.ExecuteReader()
Mit folgendem Befehl kann ich ein Feld ausgeben:
MsgBox((reader("F11")))
Jetzt kommt es aber. Solage die Felder gefüllt sind funktioniert es. Wenn aber ein Feld leer ist kommt es zu der Fehlermeldung:
'Für mindestens einen erforderlichen Parameter wurde kein Wert angegeben'
Weil ja in F11 Nichts (Null?) ist. IsDBNull geht nicht da gleiches Problem. Also wollte ich in der Select-Abfrage bereits sie Null-Werte ersetzen.....
Aber Select IsNull(F11,'leer') kennt er hier nicht. Nz (aus MSAcess) erkennt er auch nicht.
Kurz gesagt und gefragt: Wie mache ich aus diesen leeren Felder bereits in der Select-Abfrage für VB nutzbare Inhalte wie 'leer' oder 0 ?
Über Ideen wäre ich sehr dankbar.
Michael