Hallo zusammen,
SQL-Server Express:
Habe eine leere Tabelle "Material" in die ich eine Excel-Tabelle eingeben möchte. Was ist denn hieran falsch? Denn die Datenbank-Tabelle bleibt leer. Aber auch keine Fehlermeldung. Übrigens die Str-Funktion bei Preis, Verpackung und Verbrauch habe ich deshalb, weil sonst ein Komma im SQL-String ausgegeben wird und alle Werte nach dem Komma als neue Spaltenwerte angesehen werden.
Dim exApp As New Excel.Application
Dim Pfad As String
Dim Datei As String
Dim i As Long
Dim Prod As New Artikeldaten 'Aus einer Public-Struktur
cmdEinlesen.Enabled = False
Pfad = "C:\MeinPfad\"
Datei = "Material-Neu.xls"
With exApp
.Workbooks.Open(Pfad & Datei).Activate()
.Sheets("Material").select()
.Range("A2").Select()
'.Application.ScreenUpdating = False
Dim sNewsConn As New System.Data.SqlClient.SqlConnection(sConn)
sNewsConn.Open()
Dim sCmd As New System.Data.SqlClient.SqlCommand(sSQL, sNewsConn)
i = 0
Do
If .ActiveCell.Offset(i, 0).FormulaR1C1 = "Ende" Then
Exit Do
End If
Prod.ArtNr = .ActiveCell.Offset(i, 0).Value
If Prod.ArtNr = "999999" Then
Prod.Kategorie = .ActiveCell.Offset(i, 1).Value.ToString
End If
If Prod.ArtNr <> "999999" And Prod.ArtNr <> "Frei" And _
Prod.ArtNr <> "" Then
Prod.ArtNr = .ActiveCell.Offset(i, 0).Value.ToString
Prod.Artikel = .ActiveCell.Offset(i, 1).Value.ToString
Prod.Preis = .ActiveCell.Offset(i, 2).Value.ToString
Prod.Eh = .ActiveCell.Offset(i, 3).Value.ToString
Prod.Verpackung = .ActiveCell.Offset(i, 4).Value.ToString
Prod.Verbrauch = .ActiveCell.Offset(i, 5).Value.ToString
sSQL = "INSERT INTO Material (Kat, ArtNr, Artikel, Preis, " _
& _
"Einheit, Verpackung, Verbrauch) " & _
"VALUES ('" & Prod.Kategorie & "', '" & _
Prod.ArtNr & "', '" & _
Prod.Artikel & "', " & _
Str(Prod.Preis) & ", '" & _
Prod.Eh & "', " & _
Str(Prod.Verpackung) & ", " & _
Str(Prod.Verbrauch) & ")"
sCmd = New SqlCommand
sCmd.Connection = sNewsConn
sCmd.CommandType = CommandType.Text
sCmd.CommandText = sSQL
sCmd.ExecuteNonQuery()
End If
Loop
sNewsConn.Close()
.Application.ScreenUpdating = True
.Workbooks("Material-Neu.xls").Close(False)
.Quit()
End With
exApp = Nothing Gru? aus dem Norden
manyki |