Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Datensatz in einer DBF - Datei kopieren (https://www.delphipraxis.net/20802-datensatz-einer-dbf-datei-kopieren.html)

tylix 23. Apr 2004 13:30


Datensatz in einer DBF - Datei kopieren
 
Hi Leute,

ich brauch mal wieder eure Hilfe.

Ich hab einen Datensatz den möchte ich komplett Duplizieren, daher diese Einstellungen nochmals vorkommen und sich z.B. nur die Projektnummer ändert.

Wie mache ich sowas?

Des weiteren hab ich das Problem, daß es eine Haupt und eine Detail-DBF gibt.
Ich müsste beide kopieren und den Index neu vergeben?

Könnt ihr mir da ne schnelle Lösung sagen?

Danke euch

INC-Man 23. Apr 2004 14:44

Re: Datensatz in einer DBF - Datei kopieren
 
Hallo tylix,
ich habe mal was zusammengestellt, ich hoffe es läuft auch so wie ich mir das vorstelle.

mfg INC-Man
Delphi-Quellcode:

procedure Spiegeldaten(tblQuelle: TTable);
var
  aVarArray: array[0..100] of Variant;
  slFieldList: TStringlist;
  nLauf, nMaxListZahl: Integer;
begin
  slFieldList := TStringlist.Create;
  slFieldList.Clear;
  tblQuelle.GetFieldNames(slFieldList);
  nMaxListZahl := slFieldList.Count - 1;
  if nMaxListZahl > 100 then nMaxListZahl := 100;
  for nLauf := 0 to nMaxListZahl do
    begin
      aVarArray[nLauf] := tblQuelle.FieldByName(slFieldList[nLauf]).value;
      slFieldList[nLauf] := UpperCase(slFieldList[nLauf]);
    end;

  tblQuelle.Append;
   for nLauf := 0 to nMaxListZahl do
        tblQuelle.FieldByName('FORDERUNGSKONTO').AsInteger := nUnterkonten;
  slFieldList.Free;
end;

// Aufruf:
begin
  tblQuelle muß auf den zu spielgenden Satz stehen

  Spiegeldaten(tblQuelle); {Daten Spiegeln ohne Post}

  // Daten noch ändern
  tblQuelle.FieldByName('xy').AsInteger := 2;

  // Daten abschließen
  tblQuelle.Post;
  {dann kann der weiter Datensatz bearbeitet werden.}
end;

nieurig 26. Apr 2004 07:30

Re: Datensatz in einer DBF - Datei kopieren
 
Guten Morgen Tylix,
ich würde versuchen das über SQL hinzukriegen.
a la ...
INSERT INTO TabName (Feld1, Feld2, ProjektNummer ....)
SELECT Feld1, Feld2, 234233 from TabName
WHERE ?????

Die Where-Klausel muss so formuliert sein, dass nur der zu kopierende
Datensatz getroffen wird.

Hoffe es hilft.
Niels

shmia 26. Apr 2004 09:49

Re: Datensatz in einer DBF - Datei kopieren
 
siehe Code-Library: aktuellen Datensatz kopieren/duplizieren

INC-Man 26. Apr 2004 10:03

Re: Datensatz in einer DBF - Datei kopieren
 
Hallo Shmia,

interessante Lösung, ich habe was dazugelernt.

thx INC-Man

tylix 26. Apr 2004 11:54

Re: Datensatz in einer DBF - Datei kopieren
 
supi, danke, hat auf anhieb funktioniert. Find ich sau geil.

LG

tylix


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:11 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz