Felder überschreiben mit Aktualisierungsabfrage
Karl Donaubauer
Gesendet: 04.02.21 17:40
Betreff: RE: Felder überschreiben mit Aktualisierungsabfrage



Elite Veteran

Beiträge: 789
500100100252525
Ort: Wien
Hallo!
LoosA - 04.02.21

ich stehe vor einem Rätsel: Ich möchte per Aktualisierungsabfrage ein Feld in einer Tabelle A mit einem Feld aus einer anderen Tabelle B überschreiben, wenn dort kein leeres Feld ist. Das mache ich mit folgendem Code:

UPDATE 2tbl_Haupttabelle INNER JOIN 2tbl_update ON [2tbl_Haupttabelle].[ID#] = [2tbl_update].[ID] SET [2tbl_Haupttabelle].Bundesland = [2tbl_update].Bundesland_K
WHERE ((([2tbl_update].Bundesland_K) Is Not Null));

Das Problem: Innerhalb mein realen Datenbank funktioniert die Abfrage nicht - offenbar werden die leeren Feldeingaben in der zweiten Tabelle nicht als leer erkannt (ahnungslose Vermutung), denn es werden sowohl vorhandene Einträge UND auch Leerzellen übertragen (gewünschte Einträge in der zu aktualisierenden Tabelle somit gelöscht!). Nun kommts: Exportiere ich die beiden Tabellen in eine neue DB und führe alles analog aus, funktioniert alles so wie gewünscht.
...

Gibt die einfache Auswahlabfrage

SELECT Bundesland_K FROM 2tbl_update WHERE Bundesland_K Is Not Null

unterschiedliche Ergebnisse in den beiden DBs?

Die gleiche Frage für

SELECT 2tbl_Haupttabelle INNER JOIN 2tbl_update ON [2tbl_Haupttabelle].[ID#] = [2tbl_update].[ID]
WHERE [2tbl_update].Bundesland_K Is Not Null

Wenn, dann sind es vielleicht deine Tabellen- und Feldnamen mit gefährlichen Sonderzeichen.
-----
Servus
Karl
*********
Access News auf Youtube: https://youtu.be/hvbzxJL8Qh8
Access-Entwickler-Konferenz: https://www.donkarl.com/?aek
Top of the page Bottom of the page