Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Edit Zahl nach DBEDIT kopieren (https://www.delphipraxis.net/160168-edit-zahl-nach-dbedit-kopieren.html)

blondervolker 30. Apr 2011 14:38

Datenbank: ADO • Version: 4 • Zugriff über: Dataset/ADOTable

Edit Zahl nach DBEDIT kopieren
 
Komme nicht weiter...

bekomme von einer Datenbank ADOTable4 die jeweiligen Endsummen in Editfeldern angezeigt.
ADOTable4 und ADOTable6 sind miteinander verknüpft.
In der ADOTable6 wird nur immer 1 Datensatz angezeigt als Endsumme.
Diese versuche ich nun vergebens in eine ADOTable 6 als Endsummen in mehren DBEeldern anzuzeigen.
Mal werden ein paar Endsummen angzeigt und mal wieder nicht...:oops::oops::oops:

Delphi-Quellcode:
procedure TForm1.Summe1Click(Sender: TObject);
var
KA_ANZAHL,KA_SUMME,KA_ABZUG,KA_PREIS,KA_NFA,KA_ZWSCHISUM,KA_SUM_MWST,KA_ENDSUM: Double;

begin
   ADOTable4.First;
   KA_ANZAHL := 0;
   KA_SUMME := 0;
   KA_ABZUG := 0;
   KA_PREIS := 0;
   KA_NFA  := 0;
   KA_ZWSCHISUM := 0;
   KA_SUM_MWST := 0;
   KA_ENDSUM := 0;
   While not ADOTable4.EOF do
     begin
      KA_ANZAHL := KA_ANZAHL + ADOTable4.FieldByName('KA_ANZAHL'). asFloat ;
      KA_SUMME := KA_SUMME + ADOTable4.FieldByName('KA_SUMME'). asFloat ;
      KA_ABZUG := KA_ABZUG + ADOTable4.FieldByName('KA_ABZUG'). asFloat ;
      KA_PREIS := KA_PREIS + ADOTable4.FieldByName('KA_PREIS'). asFloat ;
      KA_NFA := KA_NFA + ADOTable4.FieldByName('KA_NFA'). asFloat ;
      KA_ZWSCHISUM := KA_ZWSCHISUM + ADOTable4.FieldByName('KA_ZWSCHISUM'). asFloat;
      KA_SUM_MWST := KA_SUM_MWST + ADOTable4.FieldByName('KA_SUM_MWST'). asFloat ;
      KA_ENDSUM := KA_ENDSUM + ADOTable4.FieldByName('KA_ENDSUM').asFloat;
      ADOTable4.Next;

     
      // wird alles sauber angezeigt :
      Edit11.Text:= FormatFloat('0.00',KA_ANZAHL);
      Edit12.Text:= FormatFloat('0.00',KA_PREIS);
     

 //Endsumme in die ADOTable6 einfügen:


Edit11.SelectAll;
Edit11.CopyToClipboard;//Anzahl
DBEdit89.PasteFromClipboard;// Anzahl
DBEdit89.Field.Value :=RoundTo( DBEdit89.Field.AsFloat, -2 );
Clipboard.Clear;
Edit12.SelectAll;//Preis
Edit12.CopyToClipboard;//Preis
DBEdit90.PasteFromClipboard;//Preis
DBEdit90.Field.Value :=RoundTo( DBEdit90.Field.AsFloat, -2 );
ADOTable6.Post;
Clipboard.Clear;
end;
end;
//Habe gerundet weil permanent eine Fehlermeldung kam:oops::oops::oops:

mkinzler 30. Apr 2011 15:35

AW: Edit Zahl nach DBEDIT kopieren
 
Zu was die Zwischenablage?

olaf 1. Mai 2011 07:55

AW: Edit Zahl nach DBEDIT kopieren
 
Hallo,

warum schreibst du die Werte nicht direkt in die Datenbank, den Umweg über die Zwischenablage verstehe ich nicht.

olaf

Aviator 1. Mai 2011 08:13

AW: Edit Zahl nach DBEDIT kopieren
 
Also das mit deiner Zwischenablage verstehe ich jetzt auch nicht wirklich.
Ich gehe mal davon aus, dass deine Felder in der DB als Feld des Typs "Text" oder vielleicht auch NVarChar(..) deklariert sind, oder? Sonst würde das mit deiner Zwischenablage nämlich keinen Sinn machen, da sowieso alles als String übernommen wird.

Könntest du vielleicht noch deine Feldnamen und -typen aus deiner DB hier posten?

Andernfalls hier noch ein kleiner Hinweiß wie du es machen könntest:


Delphi-Quellcode:
  AdoTable6.Fields[0].AsString := Edit1.Text;
oder auch so:

Delphi-Quellcode:
  AdoTable1.FieldByName('Feldname').AsString := Edit1.Text;
.
Mit diesen Zeilen kannst du direkt in die DB schreiben. Die erste Zeile tut nichts anderes als die Zweite. Es gibt Vor- und Nachteile ein Datenbankfeld über den Namen bzw. die Nummer aufzurufen.

Sir Rufo 1. Mai 2011 09:38

AW: Edit Zahl nach DBEDIT kopieren
 
So wie ich das sehe kommen alle Werte zum Berechnen aus der Datenbank.
(und eine komplizierte Berechnung erfolgt da auch nicht)
Warum lässt du die Datenbank dann nicht die Berechnung durchführen und liest nur noch das Ergebnis aus?

blondervolker 2. Mai 2011 16:31

AW: Edit Zahl nach DBEDIT kopieren
 
Guten Tag erstmal...:-D:-D:-D

vielen Dank für die Hilfe. Bin noch lernfähig.:roll::roll::roll:

Dies ist mein 1.Versuch, Summen in einer ADO zu berechnen und zu speichern.
Darum auch der Versuch die berechneten Felder in die Ablage zu kopiern,
um diese dann in der anderen ADO wieder einzufügen.:oops::oops::oops:

Jetzt gehts endlich:cyclops::cyclops::cyclops::oops::oops::oop s::thumb::thumb::thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:59 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