Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Access; Bericht: Summierung eines berechneten Feldes





Frage

Hi supportnet Ich habe einen Bericht erstellt, welcher pro "Datensatz" verschiedene Stunden zusammenrechnet. Nun möchte ich im Bereichsfuss diese Felder wiederum summieren. Formel für die Summe im Detailbereich: =Wenn([Jan] Ist Null;0;[Jan])+Wenn([Feb] Ist Null;0;[Feb])+Wenn([März] Ist Null;0;[März])+Wenn([April] Ist Null;0;[April])+Wenn([Mai] Ist Null;0;[Mai])+Wenn([Juni] Ist Null;0;[Juni])+Wenn([Juli] Ist Null;0;[Juli])+Wenn([Aug] Ist Null;0;[Aug])+Wenn([Sept] Ist Null;0;[Sept])+Wenn([Okt] Ist Null;0;[Okt])+Wenn([Nov] Ist Null;0;[Nov])+Wenn([Dez] Ist Null;0;[Dez]) Diese ganzen wenn Abfragen deshalb, weil man mit Null nicht rechnen kann. Also muss jedesmal wenn ein Null vorkommt eine 0 addiert werden. Wenn hier jemand eine bessere Lösung weiss, wäre ich dankbar, aber so funktionierts auch =) Wenn ich aber im Bereichsfuss ein Feld mit der Formel =Summe(<Formel von oben>) erstelle und den Bericht anzeigen will stürzt Access regelmässig ab. Leider bin ich hier am Ende meiner Weisheit. Vielleicht liegt es an diesen wenn Abfragen, da es dann einfach zu viel für Access wird. Obwohl ich schon viel schlimmere "Verbrechen" mit Access angestellt habe.. Hoffe mir kann jemand Helfen oder mir sagen wie ichs richtig machen kann. Vielen Dank Grüsse Peter

Antwort 1 von Pseudonym

Hallo
Ich bins nochmals.
Um dieses Problem zu umgehen, hab ich das Feld mit der WennFormel kopiert und als lauffende Summe im Detailbereich versteckt.
Dies funktioniert soweit, doch leider braucht Access nun fast doppelt so lange um den Bericht zu erstellen.

PS: Arbeite mit Access 2003.

Antwort 2 von Teddy7

Hallo Peter !

Die Funktion um mit NULL rechnen zu können ist nz.
Also:
nz(Jan,0) + nz(Feb,0) + ...usw...

Das funktioniert auch für Textfelder, denn Verknüpfungen mit NULL gehen auch nicht:
nz(Text1,"") & nz(Text2,"")

Mach als Datenquelle Deines Berichts eine Abfrage.
In eine zusätzliche Spalte dieser Abfrage baust Du dann die nz-Rechnerei ein.
Achtung: in einer Abfrage mußt Du statt dem Komma ein Semikolon verwenden!!!!! nz(Jan;0)

Dieses Feld kannst Du dann im Bericht summieren lassen als wäre es ein Tabellenfeld.

Gruß
Teddy

Antwort 3 von Pseudonym

Hey Teddy

Das ist ja super, danke =)
nz() wird gegenüber wenn() auch viel performer sein nehme ich an.

Also danke nochmals
Grüsse