![]() |
Datenbank: Interbase • Version: 6.0 • Zugriff über: Interbase Komponenten von Delphi 6
Datensätze duplizieren / kopieren
Hallo,
folgendes Problem. Ich habe eine bestimmte Liste, die mir in einem DBGrid angezeigt wird. Diese Liste soll jetzt kopiert werden und in die gleiche Datenbanktabelle eingefügt werden, wie die Liste aus dem DBGrid. Beim kopieren soll ein Feld von dem Wert 0 auf 1 geändert werden. Wie würdet Ihr das Problem angehen ? :gruebel: Die Liste wird mit einer einfachen Select-Abfrage erzeugt. Habt Ihr dazu ein paar Vorschläge, wie es am schnellsten und am effektivsten geht ? |
Re: Datensätze duplizieren / kopieren
Zitat:
|
Re: Datensätze duplizieren / kopieren
Ich habe folgende Tabelle mit Werten (dieses ist nur ein Beispiel) :
ID -> 758 (Autoinc) Anzahl -> 5 Artikelnummer -> 10435 Referenz_ID -> 901005 Art -> 0 So, das ist jetzt nur eine Position in der Liste. Zu der Referenz_ID gibt es natürlich noch weitere Positionen. Art legt nur fest, ob es die Version 0 oder 1 ist. So ich habe jetzt eine Tabelle, wo über die Art 0 drinsteht. Jetzt möchte ich dem User die Möglichkeit geben, die Version 0 nach 1 zu kopieren. Ein Beispiel : Ich habe bei der Referenz_ID 901005 Version 0 eine Liste mit 15 unterschiedlichen Artikeln. Jetzt möchte ich diese 15 unterschiedlichen Artikel kopieren, das dann die Kopie die Version 1 ist. Das heißt, es müssen die Felder Anzahl, Artikelnummer und Referenz_ID 1:1 kopiert werden. Beim Einfügen in die gleiche Tabelle, wird dann der Wert Art immer auf 1 gesetzt. Ich hoffe ich habe mich etwas verständlicher ausgedrückt als im ersten Eintrag. |
Re: Datensätze duplizieren / kopieren
Zitat:
Zumindest nicht als Antwort hierdrauf : Zitat:
|
Re: Datensätze duplizieren / kopieren
Die Liste mit den Artikeln, die eine 0 haben, sollen erhalten bleiben und zusätzlich die gleichen Artikel eine 1 haben in der Spalte Art.
|
Re: Datensätze duplizieren / kopieren
Zitat:
|
Re: Datensätze duplizieren / kopieren
Hallo Rolf,
meinst du das hier?
SQL-Code:
Grüße vom marabu
INSERT INTO tabelle (Anzahl, ArtikelNummer, Art, ReferenzId)
SELECT Anzahl, ArtikelNummer, 1, ReferenzId FROM tabelle WHERE ReferenzId = 901005 |
Re: Datensätze duplizieren / kopieren
@Hansa :
Zitat:
Zitat:
Zitat:
@marabu : Dein SQL-Code funktioniert nicht ganz, da ich ja irgendwie die AutoInc-Funktion für die Spalte ID setzen muss. |
Re: Datensätze duplizieren / kopieren
Wenn der Code vom Marabu so (fast) reichen würde, dann fehlt Dir bloß noch ein geeigneter Trigger und das wars ! W kommt die vorhandene ID denn überhaupt her ? AutoInc :gruebel:
|
Re: Datensätze duplizieren / kopieren
Das Feld ID wird durch einen Generator gefüllt.
Edit: Es wird aber im Code nur der Wert des Generators abgefragt und dann in das Feld ID eingtragen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:08 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