![]() |
Datenbank: Access • Zugriff über: ADO
ADO Daten in gleicher Tabelle kopieren
Ich möchte in einer Tabelle den aktuellen Datensatz kopieren und am Ende als neuen Datensatz anhängen.
Dabei soll alles bis auf das Primärindexfeld kopiert werden. 1. Gibt es eine Funktion die das schon kann ? 2. Ist diese Funktion auch akzeptabel schnell ? 3. Wenn es nichts fertiges gibt, kann man dann wenigstens durch Iteration über die Felder die Daten zwischenspeichern und dann in einen leeren angehängten Datensatz wieder einkopieren. Ein Beispiel würde mir da sehr helfen. Ich wollte den primitiven Weg über das lesen jedes Feldes und schreiben in einen Record und dann das schreiben aus dem Record in den leeren Datensatz zu Fuß vermeiden. Wenigstens eine Schleife die Feld 1 bis n in den Record schreibt und dann aus dem Record wieder in die Tabelle. Ich arbeite mit einem Query DM.QKat und stehe auf dem zu kopierenden Datensatz. Soweit die Voraussetzungen. |
Re: ADO Daten in gleicher Tabelle kopieren
SQL-Code:
INSERT INTO Tabelle([alle Felder außer PK])
SELECT [alle Felder außer PK] FROM Tabelle WHERE PK = aktueller PK |
Re: ADO Daten in gleicher Tabelle kopieren
Den InsertInto Befehl wollte ich ja nehmen, da sagte mir aber ein Kollege, dass man damit nur in eine andere Tabelle schreiben kann, daher habe ich das verworfen.
Kann ich den wirklich für die gleiche Tabelle benutzen ???? |
Re: ADO Daten in gleicher Tabelle kopieren
Ich wüsste nichts, was dagegenspricht.
|
Re: ADO Daten in gleicher Tabelle kopieren
Probieren geht über Kollegen :zwinker:
|
Re: ADO Daten in gleicher Tabelle kopieren
Zitat:
Gruss Thorsten |
Re: ADO Daten in gleicher Tabelle kopieren
Unter Firebird geht' s (man muss nicht alles glauben, was einem die Kollegen so erzählen, aber vielleicht verhält sich Access da auch anders).
|
Re: ADO Daten in gleicher Tabelle kopieren
Das sollte mit jedem (richtigen) DBMS gehen; sobald das DBMs mehrer Instanzen einer Tabelle verwalten kann
|
Re: ADO Daten in gleicher Tabelle kopieren
Ich habs mal probiert mit folgender Anweisung:
Delphi-Quellcode:
Da kommt nach ExecSQL ein Syntaxfehler in der InsertInto Anweisung.
DM.QKat.SQL.Text:='Insert Into Kataloge [Bildbeschreibung,alteNr,Hersteller]'+
' Select [Bildbeschreibung,alteNr,Hersteller]'+ ' From Kataloge Where BestellNr='+QuotedStr(AktBestNr); Was ist hier falsch ? |
Re: ADO Daten in gleicher Tabelle kopieren
Versuch mal...
Delphi-Quellcode:
Ist die BestellNr eine Autofeld?
DM.QKat.SQL.Text:=
'INSERT INTO Kataloge (Bildbeschreibung, alteNr, Hersteller) ' + 'SELECT Bildbeschreibung, alteNr, Hersteller ' + 'FROM Kataloge ' + 'WHERE BestellNr = ' + QuotedStr(AktBestNr); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz