[Gelöst] Dynamische Tabellenfilter

1. August 2009 08:37

Hi,

ich hab da mal ein interessantes Problem. Ich hab eine Tabelle mit 5 Spalten. Die Spalten A, B, C und D sind zahlen und E ist ein FlowField, dass eine Summe bildet über die Spalten A und B. Ich möchte nun erreichen, dass, wenn in Spalte C etwas drin steht (also größer 0), dann soll die Spalte D auch noch mit addiert werden in dem FlowField, aber auch nur, wenn in C etwas drin steht. Wenn in C nichts drin steht, dann soll der Wert in D auch nicht berücksichtigt werden in dem FlowField. Kann man das bei den FlowFilter-Einstellungen baun???
Zuletzt geändert von Dosihris am 1. August 2009 14:54, insgesamt 1-mal geändert.

Re: Dynamische Tabellenfilter

1. August 2009 09:30

Moin,
das kannst du über ein FlowField gar nicht abbilden. FlowFields können z.B. EIN Feld über mehrere Datensätze aufsummieren, niemals aber mehrere Felder EINES Datensatzes.

Lege E nicht als Tabellenfeld an, sondern als Textbox auf der Form mit einer Decimal-Variable als SourceExpr.
Berechne nun im OnAfterGetCurrRecord-Variable der Form diese Variable.

Oder eleganter ohne Variable: Schreibe eine Funktion (Rückgabewert decimal, am besten auf der Tabelle), die diese Berechnung durchführt und trage den Funktionsnamen als SourceExpr der Textbox ein.

Nachteil: Auf dieses Feld kannst du nicht filtern oder sortieren. Wenn dies gewünscht ist, dann musst du E als NormalField anlegen (nicht editierbar) und die Funktion bei jeder Änderung der Felder A - D anstoßen.

Re: Dynamische Tabellenfilter

1. August 2009 14:54

Aso, is also doch etwas komplizierter.. Nun gut, danke.. ich werd mal in ruhe in mich gehen und gucken, was ich da nun machen kann.. Danke dir. Betrachte das nun erstmal als gelöst..