Hallo,
ich habe folgende folgende Aufgabenstellung:
Es gibt eine Tabelle mit Daten. Jede Zeile hat einen Index.
Gefiltert nach einem bestimmten kriterium wird über eine Abfrage eine Exceltabelle erstellt.
In der Exceltabelle ist auch der Index.
Nach dem in der Exceltabelle die fehlenden Daten eingefügt wurden ( keine neue Zeile ) bzw. geändert wurden, sollen die Zeilen der Exceltabelle wieder in die Tabelle ausgetauscht werden. Entweder da wo etwas geändert wurde, oder eben die ganze Zeile, das was einfacher und schneller geht.
Zur Verfügung habe ich die Tabelle mit Index
Tabelle [Regelwerk22Test]
Index
Spalte2 [Regelwerk22Test].[Werkstoff_Text]
Spalte3
Spalte4
Und die Verknüpfung der schon mal exportierte Exceltabelle mit
Tabelle [ImportSpezitexte]
Index
Spalte2 [ImportSpezitexte].[Werkstoff_Text]
Spalte3
Spalte4
Wie müßte jetzt die Aktualisierungsabfrage aussehen. Der Index ist ja das Kriterium, das angibt wo ausgetauscht wird.
Ich bekomme da im Moment nichts funktionsfähiges auf die Reihe. Zum Test habe ich nur eine Spalte genommen. Die Spalte2 ist hier "Werkstoff_Text"
Als Anlage die Abfrage.
Hier der SQL-Code:
UPDATE ImportSpezitexte INNER JOIN Regelwerk22Test ON ImportSpezitexte.ID = Regelwerk22Test.ID SET Regelwerk22Test.Werkstoff_Text = Replace([Regelwerk22Test].[Werkstoff_Text],[Regelwerk22Test].[Werkstoff_Text],[ImportSpezitexte].[Werkstoff_Text]);
Insgesamt sind 10 Spalten abzugleichen. Ich denek, wenn es mit einer klappt, kann man das aif die anderen Spalten übertragen.
Wenn es einfacher geht, könne auch alle Informationen eines Datensatzes mit gleichem Index in [Regelwerk22Test] mit den Daten von [ImportSpezitexte] ersetzt werden.
Wäre für eine Hilfe dankbar.
Hi,
du brauchst hier keine Replace-Funktion, das erledigt das UPDATE ganz allein.
UPDATE ImportSpezitexte INNER JOIN Regelwerk22Test
ON ImportSpezitexte.ID = Regelwerk22Test.ID
SET Regelwerk22Test.Werkstoff_Text = ImportSpezitexte.Werkstoff_Text;
Hallo, danke, das war es wohl.
Klappt.