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.
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
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
Das ist ja super, danke =)
nz() wird gegenüber wenn() auch viel performer sein nehme ich an.
Also danke nochmals
Grüsse