Neuigkeiten:

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

Mobiles Hauptmenü

Tabellen mit neuen Daten abgleichen

Begonnen von IRS, April 04, 2018, 22:05:57

⏪ vorheriges - nächstes ⏩

IRS

Hallo zusammen,

ich suche eine Lösung für folgende Aufgabe:
Quelldatei kommt aus Excel und enthält folgende Daten als Beispiel
Quelle: ID, Name, Position, Telefon
1, Schmidt, QM, 1234
2, Müller, BT, 1235

Ziel ist eine Tabelle in Access welche mit weiteren Spalten gefüllt wurde
Ziel: ID, Name, Position, Telefon, Büro, Ort, Stellung, Gehalt
Nach dem Import werden die Daten übernommen und erweitert
1, Schmidt, QM, 1234, Zimmer 105, Köln, Abteilungsleitung, 10.000€
2, Müller, BT, 1235, ....

Import und Anfügen neuer Daten ist kein Problem.
Jetzt ändern sich jedoch ein paar Werte in der Quelle
aus 1, Schmidt, QM, wird 2222
oder Felder welche in der Quelle leer waren sind beim erneuten Import gefüllt.
Mit einer Anfüge- oder Aktualisierungsabfrage ging es bei mir nicht.

Wie kann ich veränderte Daten aus einer Tabelle mit einer bestehenden Tabelle abgleichen?

Danke


IRS

Hallo und Danke für den Link zum Beitrag.
Werde Aktualisieren der bestehenden Datensätze mal versuchen.
Löschen kommt nicht in Frage, da ich ja weitere Felder und Spalten mit Daten fülle.
LG
RI


IRS

Etwas ist noch nicht richtig!!
Wenn Die Tabelle leer ist werden Daten angefügt.

INSERT INTO Ziel ( ID, Name, Telefon ) SELECT Quelle.ID, Quelle.Name, Quelle.Telefon
FROM Quelle;

Nach der Änderung der Quelle sollten die Daten geändert werden.
UPDATE Ziel SET Ziel.ID = Quelle=ID, Ziel.Name = "quelle"="Name", Ziel.Telefon = "Quelle"="Telefon";


ebs17

Auch bei einer Aktualisierungsabfrage sollte man keine Würfel zum Kombinieren von Elementen verwenden, sondern sich an die geforderte Syntax halten, die die Datenbankmaschine auch versteht. Einen Link, wo Du abschreiben könntest, hast Du ja schon.
Ein weiterer: Zeilen bearbeiten mit UPDATE
Mit freundlichem Glück Auf!

Eberhard

IRS

Danke

UPDATE Z INNER JOIN Q ON Z.ID = Q.ID SET Z.Name = [Q].[Name], Z.Telefon = [Q].[Telefon];