Hallo zusammen,
bekomme folgenden Code nicht zum laufen (Fehlerstelle markiert).
Ziel ist es eine Tabelle (Quelle myConnArtikel) komplett in eine andere Datenbank zu übernehmen (Ziel myConnErgo)... inklusive Tabellenstruktur und Daten.
Tabellenstruktur wird einwandfrei übernommen und funktioniert, aber bei den Daten hapert es.
Private Function fDBCopyTableOtherDB(myConnErgo As ADODB.Connection, _
myConnArtikel As ADODB.Connection, Tabelle As String, fDelBeforeInsert As _
Boolean) As Boolean
Dim rstArtikel As ADODB.Recordset
Dim rstErgo As ADODB.Recordset
Dim rstTableDef As ADODB.Recordset
Dim i As Long
If fDelBeforeInsert Then
myConnErgo.Execute "DROP TABLE " & Tabelle & ";"
End If
' Erstmal passende Datenbanktabelle erzeugen - ID-Feld und Index wird autom.
' mit erstellt
fDBAddTable myConnErgo, Tabelle
Set rstArtikel = New ADODB.Recordset
rstArtikel.Open "SELECT * FROM " & Tabelle, myConnArtikel, adOpenDynamic, _
adLockOptimistic
For i = 1 To rstArtikel.Fields.Count - 1
fDBAddField myConnErgo, Tabelle, rstArtikel.Fields(i).Name, _
rstArtikel.Fields(i).Type, rstArtikel.Fields(i).DefinedSize
Next i
Set rstErgo = New ADODB.Recordset
Do While Not rstArtikel.EOF
rstErgo.Open "SELECT * FROM " & Tabelle, myConnErgo, adOpenDynamic, _
adLockOptimistic
rstErgo.AddNew
' Index bzw "ID" Autowert wird immer ignoriert! Daher start mit 1
For i = 1 To rstArtikel.Fields.Count - 1
rstErgo.Fields(i).Value = rstArtikel.Fields(i).Value <- Hier!
Next i
rstErgo.Update
rstErgo.Close
rstArtikel.MoveNext
Loop
Set rstErgo = Nothing
rstArtikel.Close
Set rstArtikel = Nothing
fDBCopyTableOtherDB = True
End Function Das Programm stürzt immer ab mit "Fehler bei einem aus mehreren Schritten bestehenden Vorgang. Prüfen Sie die einzelnen Status Werte."
Die Zieltabelle ist komplett leer. Der Fehler tritt direkt beim ersten DS auf.
Danke im Vorraus.
Mfg
Madmax |