Tipps "n" Tricks
Anwender-Software - Access

Last Update: 24. Dezember 2001/Webmaster

Anzeigen von #Fehler bei Summen aus Unterberichten
Thema: Access 97/2000/2002
  Eine Auftragsdatenbank enthält über ein gemeinsames Datum die Verbindung der Abrechnung von Sach- und Personalkosten. In einem zusammengefassten Rechnungsbericht werden die Summen der entsprechenden Unterberichte in einem Textfeld über eine Formel in der folgenden Form summiert:

=[Eingebettet1].[Bericht]![Summe PersKosten] +
[Eingebettet2].[Bericht]![Summe SachKosten]

Es gibt nun Fälle, in denen z.B. Datensätze mit Personalkosten jedoch keine Datensätze mit Sachkosten vorhanden sind. Die Addition der Summen aus den Unterberichten ergibt im Summenfeld in diesen Fällen "#Fehler". Sobald ein "Pseudodatensatz" mit Wert 0 CHF angelegt wird, ist das Problem behoben. Gibt es eine bessere Lösung?

 

Lösung: Wenn keine Datensätze zu Sach- oder Personalkosten vorhanden sind, muss Access bei oben gezeigter Formel mit NULL-Werten rechnen. Genau das geht aber leider nicht, also wird "#Fehler" angezeigt. Am einfachsten lösen Sie das Problem durch den Einsatz einer Funktion "SummeBilden()", die Sie direkt im Bericht anlegen:

Function SummeBilden() As Currency
  Dim curPersKosten As Currency
  Dim curSachKosten As Currency

  On Error Resume Next

  curPersKosten = _
  Me.Eingebettet1.Report.Controls("Summe PersKosten")

  curSachKosten = _
  Me.Eingebettet2.Report.Controls("Summe SachKosten")

  SummeBilden = curPersKosten + curSachKosten

End Function

Im Bericht ersetzen Sie die oben gezeigte Formel des betreffenden Textfeldes durch "=SummeBilden()".

Die Funktion ignoriert durch "On Error Resume Next" zunächst mögliche, durch den Zugriff auf "NULL" verursachte Laufzeitfehler. Die beiden folgenden Anweisungen lesen die Summen aus den Unterberichten. Hat eine der Summen keinen Wert (=NULL), so erfolgt keine Zuweisung, die Variable behält ihren Initialwert "0". Die Addition bei der Zuweisung des Funktionsergebnisses ergibt dann beispielsweise "0" + "360,50" und somit immer einen im Bericht verwertbaren Betrag.

 

Tipps "n" Tricks
Anwender-Software - Access