Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: SvenFabian am November 06, 2018, 07:40:45

Titel: neue Daten in Tabelle anfügen, vorhandene aktualisieren bei Veränderung
Beitrag von: SvenFabian am November 06, 2018, 07:40:45
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
Titel: Re: neue Daten in Tabelle anfügen, vorhandene aktualisieren bei Veränderung
Beitrag von: DF6GL am November 06, 2018, 09:08:14
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