![]() |
Datensatz in selbe Tabelle kopieren
Hi Leute, ich bin dabei einen Knopf zu programmieren mit dem ich den aktuellen Datensatz in dieselbe Tabelle kopiere. Der einzige Unterschied soll sein, dass die Felder für den Namen, MA-Nr, etc.. leer bleiben sollen.
Ich versuche das ganze mit
Delphi-Quellcode:
allerdings erhalte ich so nur einen leeren Datensatz.
procedure TAufgabenMusterForm.Button1Click(Sender: TObject);
begin AufgabenMusterPosQuery.Open(); AufgabenMusterPosQuery.Append(); AufgabenMusterPosQuery.FieldByName('PositionsNr').AsInteger := AufgabenMusterPosQuery.FieldByName('PositionsNr').AsInteger; AufgabenMusterPosQuery.FieldByName('Name').AsString := AufgabenMusterPosQuery.FieldByName('Name').AsString; AufgabenMusterPosQuery.FieldByName('Prioritäten').AsInteger := AufgabenMusterPosQuery.FieldByName('Prioritäten').AsInteger; AufgabenMusterPosQuery.FieldByName('MitarbeiterGruppe').AsString := AufgabenMusterPosQuery.FieldByName('MitarbeiterGruppe').AsString; AufgabenMusterPosQuery.FieldByName('Datum').AsDateTime := AufgabenMusterPosQuery.FieldByName('Datum').AsDateTime; AufgabenMusterPosQuery.FieldByName('Erledigt').Value := AufgabenMusterPosQuery.FieldByName('Erledigt').Value; AufgabenMusterPosQuery.FieldByName('ErledigtDatum').AsDateTime := AufgabenMusterPosQuery.FieldByName('ErledigtDatum').AsDateTime; AufgabenMusterPosQuery.FieldByName('ErledigtMANr').AsInteger := AufgabenMusterPosQuery.FieldByName('ErledigtMANr').AsInteger; AufgabenMusterPosQuery.Post(); end; Kann mir jemand hierbei helfen ? |
AW: Datensatz in selbe Tabelle kopieren
Ich möchte dir ungern das Denken abnehmen. Daher beschreibe ich jetzt einfach mal in Worten, was du aktuell machst:
- Du öffnest das Query (Open) - Du legst einen neuen Datensatz an (Append), auf dem du dann auch aktuell "stehst" - Du weist die aktuellen Daten auf den aktuellen Datensatz zu Da aber dort nichts drin steht (ist ja ein neuer Datensatz), bleibt der Datensatz leer. Jetzt die Preisfrage für dich: Was musst du machen, damit die Daten, die dort eingetragen werden sollen, auch nach dem Append zur Verfügung stehen? |
AW: Datensatz in selbe Tabelle kopieren
Ich denke mal, ich muss wieder den Datensatz auswählen, den ich kopieren möchte und nicht den neuen, der mit Append erzeugt wurde.
Richtig so ? |
AW: Datensatz in selbe Tabelle kopieren
Dann musst du mit zwei Querys arbeiten. Eine für den "alten" Datensatz und eine für den neuen.
Die Alternative wäre, dass du dir die alten Daten in Variablen zwischenspeicherst. Es gibt noch andere Möglichkeiten, aber die basieren auf ähnlichen Konzepten oder erfordern mehr SQL-Kenntnisse. Mir ist nur wichtig, dass du verstehst, warum dein erster Ansatz nicht funktionieren kann. |
AW: Datensatz in selbe Tabelle kopieren
Ah okay, ja das hab ich jetzt verstanden, ich wusste nicht, dass ein mit Append erstellter Datensatz sofort ausgewählt wird.
Dann schau ich mal wie ich das jetzt löse, aber das sollte ja kein Problem werden. Danke für die Hilfe. |
AW: Datensatz in selbe Tabelle kopieren
Hallo,
entweder speicherst Du die Daten des "alten" Datensatzes in lokalen Variablen zwischen, oder Du arbeitest einfach mit 2 Queries, wo schon vorgeschlagen wurde. Wenn Du eine 2. Query benutzt, kannst Du auch gleich mit richtigem SQL arbeiten, also "Insert Into Tabelle" |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:22 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-2025 by Thomas Breitkreuz