Einzelnen Beitrag anzeigen

EdAdvokat

Registriert seit: 1. Mai 2016
Ort: Berlin
414 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

gesonderte Ergebnisberechnung in DB-Tab eingeben

  Alt 11. Apr 2017, 10:40
Datenbank: SQLite-3 • Version: 3 • Zugriff über: dbExpress
Hallo zusammen, meine sehr bescheidenen Kenntnisse in Fragen Datenbanken stehen meinem Bestreben hier etwas Brauchbares zu erreichen noch im Wege.
Mit Hilfe einiger Mitglieder des DP-Forums, vor allem die von Haentschman entstand das beigefügte kleine Übungsprogramm mit einer SQLite-Datenbank.
Das Aufrufen einer bestehenden Datenbanktabelle funktioniert soweit ganz gut. Nun möchte ich jedoch als Pilotlösung (also als Schlüssel, wie man das machen könnte) erreichen, dass unabhängig von der Datenbank eine Berechnung (beispielsweise a+b oder eine Rabattberechnung usw.) durchgeführt wird und dieses Ergebnis dann in die bestehende Datenbank aufgenommen wird. Nun dachte ich mir, einfach ein TEdit in das bestehende Programmformular aufzunehmen, um dort das Berechnungsergebnis zu simulieren, dass dann beispielsweise in das Datenbankfeld "Anzahl" eines oder ggf. auch mehrerer Datensätze eingefügt wird.
Dazu habe ich ein OnClick-Routine geschrieben, in der Erwartung, dass meine simulierte Ergebniseingabe im Feld "Anzahl" erscheint, doch es passiert überhaupt nichts... gar nichts.

Delphi-Quellcode:
procedure TMainFrm.btnTest_inputClick(Sender: TObject);
var
  CurrentCustomerID: string;
begin
  qryMain.SQL.Clear;
  qryMain.Params.Clear;
   if IsEdit then
begin
  CurrentCustomerID := lvProductList.Selected.Caption;
  qryMain.SQL.Text := 'UPDATE WARENVERKAUF SET KDNR=:KDNR,NAME=:NAME,VORNAME=:VORNAME,FIRMA=:FIRMA,PRODUKT=:PRODUKT,ANZAHL=:ANZAHL,PREIS=:PREIS,MEMO=:MEMO WHERE ID = :CID';
  qryMain.ParamByName('CID').AsString := CurrentCustomerID;
  qryMain.ParamByName('Anzahl').Text:=(edtTest_input.text);
  qryMain.ExecSQL;
  RefreshItems(CurrentCustomerID, edtCustomerNumber.Text, Name.Text, vorname.Text, firma.Text, produkt.Text, Anzahl.Text, Preis.Text);end; end;
Ist mein Denkansatz überhaupt tragbar oder muss ich ggf. ganz anders herangehen ggf. eine neue Tabelle entwerfen mit einem gesonderten leeren Feld, dass dann bestückt wird?
Es muss doch möglich sein, beispielsweise mit einem Datenbankfeld "Preis" daraus den Netto- und Bruttopreis und auch die MWST zu berechnen und dann wieder in ein gesondertes Datenbankfeld einzugeben.
Das Ganze dient nur für mein Verständnis.
Für Tipps, wie ich hier weiterkomme wäre ich sehr dankbar.
Norbert
Angehängte Dateien
Dateityp: rar waren3_Test1.rar (3,95 MB, 5x aufgerufen)
Norbert
  Mit Zitat antworten Zitat