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
Grundlagen - SQL ist leicht (4) - Aktualisierung einer Tabelle (http://www.ms-office-forum.net/forum/showthread.php?t=304156)
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
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";
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 (https://www.sql-und-xml.de/sql-tutorial/update-aktualisieren-der-zeilen.html)
Danke
UPDATE Z INNER JOIN Q ON Z.ID = Q.ID SET Z.Name = [Q].[Name], Z.Telefon = [Q].[Telefon];