Ich arbeite gerade an einem Programm, mit dem ich zwei Tabellen aus einer Datenbank miteinander vergleichen soll. Ich kopiere die gleichnamigen Spalten aus beiden Tabellen jeweils in eine dritte Ergebnistabelle, setzte hinter jeden Spaltennamen eine (1) bzw. (2) und lege für jedes Spaltenpaar eine dritte Spalte an, in der ein X steht, falls der Inhalt der beiden Spalten nicht gleich ist.
Jetzt habe ich zwei Probleme:
1. Die dritte Spalte soll jeweils heißen: Delta Spaltenname. Der Name besteht also immer aus zwei Wörtern, manchmal sind auch Sonderzeichen enthalten. Ich versuche es im SQL-Explorer mit folgender Anweisung:
<PRE>ALTER table "C:\Tabellenvergleich\VReport10\Test12.db" add "Delta VSTKN" char(1)</PRE>
Ich bekomme dann die Meldung: "Ungültiges Schlüsselwort"
2. Ich will die beiden Spalten miteinander vergleichen und ein X in der Deltaspalte setzen, wenn sie ungleich sind. Dazu verwende ich folgende Anweisung:
<PRE>SQL.Add('update "' + TblErgebnis.Tablename + '" set ' + Deltaspaltenname + ' = ''X'' where "' + Spaltenname + '(1)' + '" != "' + Spaltenname + '(2)' + '"');
Aber es funktioniert nicht. Er setzt das X in die gesamte Spalte.
Jetzt habe ich zwei Probleme:
1. Die dritte Spalte soll jeweils heißen: Delta Spaltenname. Der Name besteht also immer aus zwei Wörtern, manchmal sind auch Sonderzeichen enthalten. Ich versuche es im SQL-Explorer mit folgender Anweisung:
<PRE>ALTER table "C:\Tabellenvergleich\VReport10\Test12.db" add "Delta VSTKN" char(1)</PRE>
Ich bekomme dann die Meldung: "Ungültiges Schlüsselwort"
2. Ich will die beiden Spalten miteinander vergleichen und ein X in der Deltaspalte setzen, wenn sie ungleich sind. Dazu verwende ich folgende Anweisung:
<PRE>SQL.Add('update "' + TblErgebnis.Tablename + '" set ' + Deltaspaltenname + ' = ''X'' where "' + Spaltenname + '(1)' + '" != "' + Spaltenname + '(2)' + '"');
Aber es funktioniert nicht. Er setzt das X in die gesamte Spalte.
Comment