Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Update Query Falsche Datensatzanzahl

Begonnen von silentwolf, Mai 01, 2019, 14:11:39

⏪ vorheriges - nächstes ⏩

silentwolf

Hallo,

Ich habe folgede Update Query ..

Update tblB INNER JOIN tblA ON tblB.Text=tblA.Text
SET tblA.NeuesFeld =tblB.NeuesFeld

Das funktioniert auch alles soweit aber bei der Aktualisierung im Abfrageentwurf sagt Access das 264 Daten aktualisiert werden obwohl in tblB nur 170 DS enthalten sind und in tblA 37 DS.

Nach der Aktualisierung sind auch nur 170 DS also die gleiche Anzahl der DS Aktualisiert.
Kann mir jemand sagen was Access hier macht? Die Datensätze werden alle richtig aktualisiert aber warum eine andere Anzahl von Datensätzen bevor die Aktualisierung ausgeführt wird?

Danke für Hilfe.

mfg



DF6GL

Hallo,

tblB soll aktualisiert werden, es wird aber Feld "NeuesFeld" in tblA auf den Wert aus tblB gesetzt....  ??

Jentaro

Hallo silentwolf,

dass sich nach der Aktualisierung der 170 Datensätze, deren Anzahl nicht verändert hat, ist natürlich richtig.
Du hast ja nichts angefügt/gelöscht/neu erstellt. Dass 264 Aktualisierungen vorgenommen wurden ist grundsätzlich auch nicht falsch, da pro Treffer aktualisiert wird. Um zu erkennen, welcher Datensatz wie oft aktualisiert wurde, kannst Du in der Tabelle die aktualisiert wird, ein neues Feld erstellen, z. B. "aktualisiert". In Deiner Aktualisierungsabfrage nimmst Du das Feld mit auf (Feld: aktualisiert; Tabelle: <zu aktualisierende Tabelle>; Aktualisieren: [aktualisieren] & "+A").
Wenn Du jetzt die Abfrage ausführst, schreibt er in der Spalte aktualisieren so oft +A (z. B. +A+A+A, wenn er 3x aktualisiert hat), so oft er aktualisiert.
Warum jetzt 3x aktualisiert wurde kannst Du dann sehen wenn Du in beiden Tabellen nach siehst.

So mache ich das. Vielleicht hilft es Dir ja.

Viele Grüße
Jentaro

silentwolf

Hallo,
an Euch beiden.
Vielen Dank für die Antworten ich werde es mir ansehen! Hatte leider noch etwas wenig Zeit.