Access-o-Mania

Access-Forum (Deutsch/German) => Bericht => Thema gestartet von: woody68 am Februar 23, 2018, 10:10:30

Titel: Bericht: Wenn Wert im Feld 1 größer als im Feld 2 dann sichtbar ansonsten unsich
Beitrag von: woody68 am Februar 23, 2018, 10:10:30
Hallo,

habe mich schon "zu Tode" gegoogelt.

Ich habe in einem Bericht 2 berechnete Felder. Nun soll jeweils nur das Feld angezeigt werden, daß den größeren Wert erechnet hat.

Wenn Feld "Positionssumme" < als Feld "Wert" dann unsichtbar

wenn es größer ist dann Feld "Wert" unsichtbar.

Kann mir bitte jemand den VBA-Code für den Access-Bericht nennen? Danke!
Titel: Re: Bericht: Wenn Wert im Feld 1 größer als im Feld 2 dann sichtbar ansonsten unsich
Beitrag von: MzKlMu am Februar 23, 2018, 10:28:13
Hallo,
im Ereignis "Beim Formatieren"
Me.PositionsSumme.Visible = (Me.PositionsSumme > Me.Wert)
Analog dazu auch für das Feld "Wert".

PS:
Auf einen Feldnamen "Wert" solltest Du verzichten. Das ist auch eine Funktion und daher für eigene Namen nicht zu empfehlen.
Titel: Re: Bericht: Wenn Wert im Feld 1 größer als im Feld 2 dann sichtbar ansonsten unsich
Beitrag von: woody68 am Februar 23, 2018, 10:35:31
Danke,

habe jetzt den Namen von "Wert" auf "PSPCI" umgeändert.

Ich bekomme folegnde Fehlermeldung:

Laufzeitfehler '2427':
Sie haben einen Ausdruck ohne Wert eingegeben.

Mein VBA-Code:

Private Sub Report_Open(Cancel As Integer)

RunCommand acCmdAppMaximize
DoCmd.Maximize

Me.Positionssumme.Visible = (Me.Positionssumme > Me.PSPCI)
Me.PSPCI.Visible = (Me.Positionssumme < Me.PSPCI)

End Sub
Titel: Re: Bericht: Wenn Wert im Feld 1 größer als im Feld 2 dann sichtbar ansonsten unsich
Beitrag von: MzKlMu am Februar 23, 2018, 11:01:52
Hallo,
vielleicht solltest Du lesen was ich schreibe.  ;D
Zitatim Ereignis "Beim Formatieren"
Titel: Re: Bericht: Wenn Wert im Feld 1 größer als im Feld 2 dann sichtbar ansonsten unsich
Beitrag von: Lachtaube am Februar 23, 2018, 11:03:13
In Report_Open sind noch keine Daten geladen. Die beiden Ausdrücke gehören jeweils in das Format-Ereignis des Bereichs, in dem die Felder angesiedelt sind.
Titel: Re: Bericht: Wenn Wert im Feld 1 größer als im Feld 2 dann sichtbar ansonsten unsich
Beitrag von: woody68 am Februar 26, 2018, 08:16:32
Guten Morgen,

kann jetzt erst wieder dran weiter arbeiten.

Danke für den Hinweis "Beim Formatieren", habe den Code jetzt in den Gruppenkopf (da werden die Daten berechnet) geschrieben.

Nun erhalte ich die Fehlermeldung:

Laufzeitfehler '94':

Unzulässige Verwendung von Null
Titel: Re: Bericht: Wenn Wert im Feld 1 größer als im Feld 2 dann sichtbar ansonsten unsich
Beitrag von: Lachtaube am Februar 26, 2018, 08:33:38
Für berechnete Steuerelemente wird man andere Strategien, wie z. Bsp. die bedingte Formatierung, verwenden (einfach die Textfarbe auf die Hintergrundfarbe setzen).
Titel: Re: Bericht: Wenn Wert im Feld 1 größer als im Feld 2 dann sichtbar ansonsten unsich
Beitrag von: woody68 am Februar 26, 2018, 08:39:54
Danke für den Tip.

Wie sieht es dann mit der Addierung der Werte aus? Es soll nur der jeweils größere Wert berücksichtigt werden.
Titel: Re: Bericht: Wenn Wert im Feld 1 größer als im Feld 2 dann sichtbar ansonsten unsich
Beitrag von: Lachtaube am Februar 26, 2018, 09:43:12
Wir kennen weder Daten, Bericht, noch Berechnung - am besten lädst Du eine abgespeckte DB mit dem Bericht hoch und teilst mit, was wann wo ausgeblendet sein soll.
Titel: Re: Bericht: Wenn Wert im Feld 1 größer als im Feld 2 dann sichtbar ansonsten unsich
Beitrag von: tismo am Februar 28, 2018, 22:22:41
genau mein Problem ...

wie sieht es aus wenn die Positionssumme grundsätzlich sichtbar ist wenn die Positionssumme größer null ist
Me.PositionsSumme.Visible = (Me.PositionsSumme > 0) ???
Titel: Bericht: Wenn Wert im Feld 1 größer als im Feld 2 dann sichtbar
Beitrag von: DF6GL am März 01, 2018, 08:15:44
Hallo,


ZitatUnzulässige Verwendung von Null

warum dann nicht:

Me!PositionsSumme.Visible = (nz(Me!PositionsSumme,0) > nz(Me!Wert,0))


(Beim Bericht nehme ich grundsätzlich das "!"- Zeichen bei Referenzen auf Berichts-Felder.)