Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

neue Daten in Tabelle anfügen, vorhandene aktualisieren bei Veränderung

Begonnen von SvenFabian, November 06, 2018, 07:40:45

⏪ vorheriges - nächstes ⏩

SvenFabian

Guten Morgen,

wie kann ich am besten Daten aktualisieren und anfügen an eine bestehende Tabelle?

Beispiel
--> Tabelle A hat 50 Datensätze
--> Tabelle B hat die bekannten 50 Datensätze aus Tabelle A, inkl. neuen Informationen und es gibt 20 weitere Datzensätze
--> Theoretisch müsste Tabelle A, nach einem Anfügen&Aktualisierungs-Vorgang 70 Datensätze haben, wovon 50 NUR aktualisiert wurden

DF6GL

Hallo,

für Aktualisierungs-Aufgaben sind Aktualisierungs-Abfragen  (Update .....)  zuständig,

für Anfüge-Aufgaben sind es Anfüge-Abfragen...

1)
UPDATE tblA
INNER JOIN tblB ON tblA.ID = tblB.ID_F
SET tblA.Feld1 = [tblb].[feld1], tblA.Feld2 = [tblb].[Feld2]

2)
INSERT INTO tblA ( Feld1, Feld2 )
SELECT  tblB.Feld1, tblB.Feld2
FROM tblB
WHERE Not Exists (Select * from tblA where tblA.ID =tblB.ID_F)


Andere Möglichkeit, Dupletten zu vermeiden:  Eindeutigen Index über alle Felder legen, die einen Datensatz eindeutig definieren und die DB-Engine damit "beauftragen",  keine Dupletten zuzulassen.

INSERT INTO tblA ( Feld1, Feld2 )
SELECT  tblB.Feld1, tblB.Feld2
FROM tblB
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access