Hallo alle zusammen,
ich bin mit meinen Fähigkeiten leider am Ende und hoffe, dass mir hier jemand helfen kann.
Ich möchte zwei Abfragen abgleichen. Beide haben einen eindeutigen Schlüssel (GUID).
Es soll nun in Abfrage eins ein Wert aus Abfrage zwei übernommen werden, wenn beide Schlüssel identisch sind.
hier mal mein Versuch: (und es geht hier um den Masernimpfstatus, nicht Corona, bevor es hier komisch wird ;-))
Dim rcsImport_in_LEDA As Recordset 'Abfrage qLEDA_IMPFSTATUS_IMPORT
Dim rcsImport_von_Schule As Recordset 'Abfrage qImportImpfdaten
Set rcsImport_in_LEDA = CurrentDb.OpenRecordset("qLEDA_IMPFSTATUS_IMPORT", dbOpenDynaset)
Do Until rcsImport_in_LEDA.EOF
Set rcsImport_von_Schule = CurrentDb.OpenRecordset("SELECT * FROM qImportImpfdaten WHERE [LP_ID_Import] = ' rcsImport_in_LEDA.Fields(LP_ID).value '", dbOpenDynaset)
Do Until rcsImport_von_Schule.EOF ********************hier wird leider immer "wahr" ausgegeben, somit geht er nicht in rcsImport_in_LEDA.Edit...
rcsImport_in_LEDA.Edit
rcsImport_in_LEDA.Fields("LP_NACHVERS").value = rcsImport_von_Schule("Impfstatus_Import").value
rcsImport_in_LEDA.Update
rcsImport_in_LEDA.MoveNext
Loop
rcsImport_in_LEDA.MoveNext
Loop
rcsImport_von_Schule.Close
rcsImport_in_LEDA.Close
End Sub
vielleicht habt ihr ja einen Lösungsansatz.
ich muss über 5000 Datensätze aktualisieren...
Viele Grüße und ein schönes Wochenende
Patrick
Hallo,
warum verwendest Du nicht einfach eine Aktualisierungsabfrage.
Beide Abfragen in eine neue Abfrage aufnehmen und ein INNER JOIN über die Schlüsselfelder.
Das Feld mit dem neuen Inhalt aktualisieren.
Da braucht es nicht einen Buchstaben VBA.
Zitat von: P.Hennig am Dezember 10, 2021, 18:11:19Do Until rcsImport_von_Schule.EOF
rcsImport_in_LEDA.Edit
rcsImport_in_LEDA.Fields("LP_NACHVERS").value = rcsImport_von_Schule("Impfstatus_Import").value
rcsImport_in_LEDA.Update
rcsImport_in_LEDA.MoveNext
Loop
rcsImport_in_LEDA.MoveNext
Loop
rcsImport_von_Schule.Close
rcsImport_in_LEDA.Close
End Sub
Das Problem ist simpel.
Für rcsImport_in_LEDA hast du 2 x MoveNext, für rcsImport_von_Schule gibts gar kein MoveNext.
Klaus weise bereits darauf hin, dass man eine Abfrage verwenden soll.
Da Access aber keine Updates mit aggregierten Daten erlaubt, muss man die Abfragen möglicherweise entsprechend anpassen.
Wenn dir da die Erfahrung fehlt, solltest du ein Bild der Beziehungen der beteiligten Tabellen und den SQL String der beiden Abfragen zeigen.
In der Regel ist es auch besser, keine Abfragen auf Abfragen aufzubauen, da man da den Überblick verliert.
Hallo und zunächst vielen Dank für die Antworten.
Dann werde ich mich mal an eine Aktualisierungsabfrage machen.
Habe sowas noch nicht gemacht. Mal sehen, hob ich das hinbekomme.
Ich werde dann eine Rückmeldung geben.
LG und einen guten Start in die Woche...
so, vielen Dank. ich habe es mit der Aktualisierungsabfrage gelöst bekommen.
Danke für die Hilfestellung.