Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Berechnetes Feld aktualisieren (https://www.delphipraxis.net/155570-berechnetes-feld-aktualisieren.html)

khh 29. Okt 2010 11:24

Datenbank: firebird • Version: 2.1 • Zugriff über: zeos

Berechnetes Feld aktualisieren
 
Hallo zusammen,
meinem DB-Grid liegt eine Query zugrunde, die ein berechnetes Feld enthält.

Wenn nun im DBgrid einer der Werte die in die Berechnung einfliessen geändert wird, soll beim Verlassen des Datensatzes der Wert neu berechnet werden.
Geht das irgendwie, oder muss ich das Feld ausserhalb der Query berechnen?

Danke Gruss KHH

DeddyH 29. Okt 2010 11:36

AW: Berechnetes Feld aktualisieren
 
Was genau meinst Du mit berechnetem Feld? Handelt es sich um ein CALCULATED FIELD von Firebird oder rechnest Du den Wert innerhalb der Abfrage selbst aus?

khh 29. Okt 2010 11:38

AW: Berechnetes Feld aktualisieren
 
Zitat:

Zitat von DeddyH (Beitrag 1058461)
Was genau meinst Du mit berechnetem Feld? Handelt es sich um ein CALCULATED FIELD von Firebird oder rechnest Du den Wert innerhalb der Abfrage selbst aus?

ich rechne den Wert innerhalb der Abfrage selbst aus.

wobei, wenns mit einem db-feld einfacher geht, soll mir da auch Recht sein

DeddyH 29. Okt 2010 11:44

AW: Berechnetes Feld aktualisieren
 
Irgendwie muss ich wohl vergessen haben, meine Antwort von eben auch zu posten :lol: Also, Du könntest Dir auch einmal OnCalcFields von TDataset anschauen. Da ich das aber selbst noch nie benutzt habe, kann ich Dir auch keine Tipps dazu geben.

khh 29. Okt 2010 11:49

AW: Berechnetes Feld aktualisieren
 
Zitat:

Zitat von DeddyH (Beitrag 1058464)
Irgendwie muss ich wohl vergessen haben, meine Antwort von eben auch zu posten :lol: Also, Du könntest Dir auch einmal OnCalcFields von TDataset anschauen. Da ich das aber selbst noch nie benutzt habe, kann ich Dir auch keine Tipps dazu geben.

ich hab in firebird noch nie berechnete Felder benutzt :-8

wie geht das mit ibexpert?
Was hältst du davon anstatt der Tabelle eine View im Grid zu verwenden?
Funktionieren damit die Aktualisierungen übers Grid noch?

DeddyH 29. Okt 2010 11:53

AW: Berechnetes Feld aktualisieren
 
Zitat:

Zitat von khh (Beitrag 1058465)
ich hab in firebird noch nie berechnete Felder benutzt :-8

Ich auch nicht, ehrlich gesagt. Aber IIRC gibt es in IBExpert die Möglichkeit, eine CALCULATED BY-Formel einzugeben. Leider habe ich hier kein IBExpert zur Hand, könnte aber in 2 Stunden zu Hause nochmal nachschauen, wo und wie genau das geht.

khh 29. Okt 2010 11:55

AW: Berechnetes Feld aktualisieren
 
Zitat:

Zitat von DeddyH (Beitrag 1058466)
Zitat:

Zitat von khh (Beitrag 1058465)
ich hab in firebird noch nie berechnete Felder benutzt :-8

Ich auch nicht, ehrlich gesagt. Aber IIRC gibt es in IBExpert die Möglichkeit, eine CALCULATED BY-Formel einzugeben. Leider habe ich hier kein IBExpert zur Hand, könnte aber in 2 Stunden zu Hause nochmal nachschauen, wo und wie genau das geht.

das wäre sehr nett von dir,
dann schau ich gegen Abend nochmal nach deiner Antwort.

Gruss KHH

Sir Rufo 29. Okt 2010 12:08

AW: Berechnetes Feld aktualisieren
 
Wird das Feld durch die DB berechnet, so muss man die Query aktualisieren.
Ein CalculatedField was man zur Abfrage/Tabelle hinzufügt steht quasi sofort zur Verfügung ohne die Änderung an die DB zu schreiben.

Kommt also drauf an, was du erreichen möchtest

DeddyH 29. Okt 2010 12:17

AW: Berechnetes Feld aktualisieren
 
So isses. Ich bin absolut nicht sicher, aber soweit ich das verstanden habe sind CALCULATED FIELDS auch nur Felder, die bei einer Abfrage "on the fly" berechnet werden. Man spart sich mit solchen Feldern also lediglich die Berechnungsformel innerhalb der Query (sollte ich hier Mist erzählen, korrigiere man mich bitte). Aus Performancegründen würde ich ohne jetzt die Anforderung genau zu kennen eher zu einem clientseitig berechneten Feld tendieren, wo dann wieder das angesprochene OnCalcFields zur Anwendung kommt.

khh 29. Okt 2010 12:25

AW: Berechnetes Feld aktualisieren
 
Zitat:

Zitat von Sir Rufo (Beitrag 1058469)
Wird das Feld durch die DB berechnet, so muss man die Query aktualisieren.
Ein CalculatedField was man zur Abfrage/Tabelle hinzufügt steht quasi sofort zur Verfügung ohne die Änderung an die DB zu schreiben.

Kommt also drauf an, was du erreichen möchtest

Ja das hab ich mir fast gedacht :-(
dazu kommt, dass ich mir dann den Satzzeiger merken muss, damit der Cursor nicht wieder auf dem ersten DS steht.
Das geleiche ist ja auch in der derzeitigen Lösung mit dem berechneten Feld in der Query :-(
Ein berechnetes Feld imm DB-Grid würde mir vollkommen reichen, den Wert brauch ich nicht unbedingt in der DB.
Die Aktualisierung des berechneten Feldes in der Anzeige beim Verlassen des DS wäre schon super.



Gruss KHH


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:09 Uhr.
Seite 1 von 2  1 2      

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