Ich glaube ich muss ein bisschen weiter ausholen, eventuell liegt das Problem ja auch an anderer Stelle.
Ich Programmiere gerade in Access VBA. Ich will Daten aus einer anderen Access Datenbank in der Datenbank, in der ich programmiere, in einer Tabelle speichern.
Das ganze soll mit recordsets realisiert werden. Ich will jetzt also meinen recordsetDBextern mit den Daten füllen, die in der externen DB liegen. Die Daten liegen dort jedoch in 2 verschiedenen Tabellen, daher die JOIN Variante.
Wenn recordset.DBextern gefüllt ist, sollen diese Daten mit Hilfe von recordset.DBaktuell in die Zieltabelle der aktuellen Datenbank geschrieben werden.
Hier der bisherige Code:
Sub Einlesen()
Dim dbExtern As DAO.Database
Dim rcsDBextern As DAO.Recordset2
Dim rcsDBaktuell As DAO.Recordset2
Dim dbAktuell As DAO.Database
Set dbAktuell = OpenDatabase("D:\Aktuell\Aktuell.accdb")
Set dbExtern = OpenDatabase("D:\Extern\Extern.mdb")
Set rcsExtern = dbExtern.OpenRecordset("SELECT * FROM TblExt1, TblExt2 WHERE TblExt1.Teilenummer = TblExt2.Teilenummer", dbOpenDynaset)
Set rcsAktuell = dbAktuell.OpenRecordset("tblZieltabelle", dbOpenDynaset)
Do Until rcsExtern.EOF
rcsAktuell.AddNew
rcsAktuell.Fields("Jahr").value = rcsExtern.Fields("JAHR").value
rcsAktuell.Fields("Material Kosten").value = rcsExtern.Fields("MATERIAL_KOSTEN_EUR").value
rcsAktuell.Fields("Montage Kosten").value = rcsExtern.Fields("MONTAGE_KOSTEN_EUR").value
rcsAktuell.Fields("B_NR").value = rcsExtern.Fields("B_NR").value
rcsAktuell.Fields("Teile-NR (eingebaut)").value = rcsExtern.Fields("ET_NR").value
rcsAktuell.Fields("Teile-NR (ausgebaut)").value = rcsExtern.Fields("Teilenummer").value
rcsAktuell.Fields("Teilefamilie").value = rcsExtern.Fields("Teilefamilie").value
rcsAktuell.Fields("Abteilung").value = rcsExtern.Fields("Abteilung").value
rcsAktuell.Update
rcsExtern.MoveNext
Loop
Die letzten beiden Spalten befinden sich in TblExt 2 und werden auch gefunden, lediglich bei der Spalte Teilenummer , die als mein Join Argument gilt, bekomme ich eine Fehlermeldung von meinem VBA Compiler:
"Element in dieser Auflistung nicht gefunden."
Mit folgendem SELECT Befehl ergibt sich der selbe Fehler:
"SELECT * FROM TblExt1 LEFT JOIN TblExt2 ON TblExt1.Teilenummer = TblExt2.Teilenummer"
Ich verstehe nur leider nicht, wieso das so ist...
Vielen Dank für die engagierte Mithilfe bis jetzt!