Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Bericht: Wenn Wert im Feld 1 größer als im Feld 2 dann sichtbar ansonsten unsich

Begonnen von woody68, Februar 23, 2018, 10:10:30

⏪ vorheriges - nächstes ⏩

woody68

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!

MzKlMu

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.
Gruß Klaus

woody68

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

MzKlMu

Hallo,
vielleicht solltest Du lesen was ich schreibe.  ;D
Zitatim Ereignis "Beim Formatieren"
Gruß Klaus

Lachtaube

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.
Grüße von der (⌒▽⌒)

woody68

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

Lachtaube

Für berechnete Steuerelemente wird man andere Strategien, wie z. Bsp. die bedingte Formatierung, verwenden (einfach die Textfarbe auf die Hintergrundfarbe setzen).
Grüße von der (⌒▽⌒)

woody68

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.

Lachtaube

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.
Grüße von der (⌒▽⌒)

tismo

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) ???

DF6GL

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.)