Access: Wenn-Funktion im Bericht

Hallo,

ich möchte in einem Bericht ein Feld nur anzeigen, wenn es auch mit Daten gefüllt ist. Ein mit „0“ gefülltes Feld würde in meinem Fall nämlich komisch aussehen. Wie kann ich sowas umsetzen?

Ich arbeite übrigens mit Access 2002.

Vielen Dank im Voraus für die Hilfe!

Dana

Hallo.

ich möchte in einem Bericht ein Feld nur anzeigen, wenn es
auch mit Daten gefüllt ist. Ein mit „0“ gefülltes Feld würde
in meinem Fall nämlich komisch aussehen. Wie kann ich sowas
umsetzen?

Sei „DeinFeld“ also numerisch. Dann zeigst Du nicht „DeinFeld“ im Bericht an, sondern legst ein Textfeld an, in das Du die Formel

**=Wenn(DeinFeld=0;"";Format$(DeinFeld;"0.00")**

einträgst. Für „0,00“ setzest Du natürlich das von Dir gewünschte Format ein …

Gruß kw

Hi Dana,
neben der Lösung kw. kannst du auch das Format Ereignis nutzen indem du das Feld auf 0 abfragst und es dann unsichbar machst. Das ist machmal sinnvoller, wenn man das Feld zb. noch mit Rahmen vesehen hat und diesen Rahmen auch nicht anzeigen möchte.

Gruss
Quaser

==================================
Private Sub Detailbereich_Format(Cancel As Integer, FormatCount As Integer)
If Me.MeinTextFeld = 0 Then
Me.MeinTextFeld.Visible = False
Else
Me.MeinTextFeld.Visible = True
End If
End Sub

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

Hallo kw,

vielen Dank für Deinen Tip. Leider fehlt eine Klammer. Ich hab die mal ans Ende gesetzt, weil mir das logisch erschien, also

**=Wenn(DeinFeld=0;"";Format$(DeinFeld;"0.00"))**

Nur leider macht Access mir dann eine Parameterabfrage daraus. Warum denn das???

Viele Grüße,
Dana

Hi Quaser,

danke auch für Deinen Tip. Leider bin ich mit Access nicht wirklich fit, so daß ich jetzt mal eine ganz blöde Frage stellen muß *schäm*:

Wie komme ich auf das „Format Ereignis“? Im Eigenschaftenfenster gibt es zwar den Reiter „Ereignis“, nur leider gibt es da wiederum keinen Inhalt, wo ich irgendwas eintragen könnte. Das ist ganz grau.

Wärst Du so lieb, das nochmal für Deppen zu erklären?

Viele Grüße,
Dana

Hi Dana,
neben der Lösung kw. kannst du auch das Format Ereignis nutzen
indem du das Feld auf 0 abfragst und es dann unsichbar machst.
Das ist machmal sinnvoller, wenn man das Feld zb. noch mit
Rahmen vesehen hat und diesen Rahmen auch nicht anzeigen
möchte.

Gruss
Quaser

==================================
Private Sub Detailbereich_Format(Cancel As Integer,
FormatCount As Integer)
If Me.MeinTextFeld = 0 Then
Me.MeinTextFeld.Visible = False
Else
Me.MeinTextFeld.Visible = True
End If
End Sub

Hallo,

möglicherweise geht es noch einfacher:

In den Eigenschaften der Tabelle kannst Du für das numerische Feld den Standardwert „0“ löschen. Dann bleben die Felder leer.

Für die bereits bestehenden Datensätze kannst Du der Wert „0“ mittels einer Aktualisierungsabfrage gegen „“ austauschen.

Ulrich

Leider fehlt eine Klammer. Ich hab
die mal ans Ende gesetzt, weil mir das logisch erschien, also

=Wenn(DeinFeld=0;"";Format$(DeinFeld;„0.00“))

Nur leider macht Access mir dann eine Parameterabfrage daraus.
Warum denn das???

Weil Access das Feld „DeinFeld“ nicht kennt.
Hier musst du den Namen deines Feldes eintragen
(und der sollte möglichst keine Umlaute; keine Leerzeichen und keine Ziffer am Anfang enthalten)

Probier mal das:

**=Wenn(Nz(HierDerNameDeinesFeldes)=0; " "; Format$(HierDerNameDeinesFeldes; "0.00"))**

(nach den Semicolons in der Formel kommt jeweils ein Leerzeichen !!)

Klappts ?
Stefan