Berechnungen für einen Bericht, was ist sinnvoll?!

Hallo,

ich möchte verschiedene (viele kleine) Berechnungen auf Grundlage einer Abfrage durchführen und in meinem Bericht an verschiedenen Stellen ausgeben. Ich habe jetzt vieles über DSum, DCount u.s.w. realisiert, muss aber feststellen das diese Berechnungen lange dauern und der Bericht sehr verzögert geöffnet wird.

Spezielle Berechnungen wie z.B.:
Me!Textfeld = DSum(Spalte A * Faktor, Tabelle)
sind nicht möglich da ich bei „DSum“ ja keine weiteren Berechnungen einbauen kann und er nur die Spalte A nimmt :frowning:

Da ich die Berechnungen nicht speichern, sondern nur im Bericht ausgeben möchte, ist es nicht notwendig die Daten in der Tabelle abzulegen.
Macht es Sinn hier mit SQL zu arbeiten???

Danke im Voraus
Thomas

Hallo,

Spezielle Berechnungen wie z.B.:
Me!Textfeld = DSum(Spalte A * Faktor, Tabelle)
sind nicht möglich da ich bei „DSum“ ja keine weiteren
Berechnungen einbauen kann und er nur die Spalte A nimmt :frowning:

wieso nicht? :

Me!Textfeld = DSum("[SpalteA] * 1.5", „Tabelle“) oder mittels Variablen

Dim Fakt as Double
Fakt=1.5
Me!Textfeld = DSum("[SpalteA] * " & Fakt & ", „Tabelle“)

Berechnungen auf DS -Ebene sollten in der über mehrere Tabellen verknüpfende Berichtsabfrage (wobei da, wie immer, ein normalisierter Tabellenaufbau zugrunde liegen muß) erledigt werden. Berechnungen auf Gruppenebene können im Bericht im den entspr. Fußbereichen erledigt werden, direkt im steuerelementinhalt oder über VBA in den einzelnen Format-Ereignisprozeduren.

Die in der Tat langsamen Domänenfunktionen können durch eigenerstelle Public-Funktionen mit z. B. Recordset und dabei SQL-Strings ersetzt werden.

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!

Hallo Franz,

danke für die Tipps, das hilft mir sehr…

Grüße, Thomas

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]