Announcement

Collapse
No announcement yet.

OnCalcFields nur einmal durchlaufen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • OnCalcFields nur einmal durchlaufen

    Ich habe eine TADOQuery bei, die eine Vielzahl von kalk. Feldern beinhaltet. Diese soll als Datenquelle für einen (Sammel-)QuickReport dienen. Leider wird nun das OnCalcFields-Ereignis viel zu häufig durchlaufen (Öffnen der Query, Preview, Ausdruck), was sich in deutlich in der Performance nieder schlägt. Eine Zuweisung des Recordsets auf das Recordsets einer temp Query hat nichts gebracht, da dabei die kalk. Felder nicht übergeben wurden. Auch ein Ändern des OnCalcFields-Ereignisses auf nil brachte nichts. Kann mir jemand noch ein paar Möglichkeiten nennen, wie ich das OnCalcFields-Ereignis nach dem ersten Durchlauf umgehen kann?
    In God we trust - all others pay cash!

  • #2
    Hallo,

    das wird so nicht gehen. Anstelle von OnCalcFields muss man in einer eigenen Schleife alle Datensätze einmal mit den berechneten Werten füllen, indem auf einen eigene Hilfsspalte des Recordsets zurückgegriffen wird, die erst zur Laufzeit der Ergebnismenge aus der Datenbank hinzugefügt wird. Ein Beispiel dafür habe ich hier im Forum vor einiger Zeit schon einmal vorgestellt - damals ging es darum, die Datensätze für die Anzeige im TDBGrid durchzunummerieren

    Comment

    Working...
    X