collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 44
  • Punkt Versteckte: 2
  • Punkt Mitglieder: 3
  • Punkt Benutzer Online:

* Forenstatistik

  • stats Mitglieder insgesamt: 13993
  • stats Beiträge insgesamt: 66758
  • stats Themen insgesamt: 9001
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: Bericht: Wenn Wert im Feld 1 größer als im Feld 2 dann sichtbar ansonsten unsich  (Gelesen 1067 mal)

Offline woody68

  • Newbie
  • Beiträge: 5
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!
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7313
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
 

Offline woody68

  • Newbie
  • Beiträge: 5
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
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7313
Hallo,
vielleicht solltest Du lesen was ich schreibe.  ;D
Zitat
im Ereignis "Beim Formatieren"
Gruß
Klaus
 

Offline Lachtaube

  • Access Guru
  • ****
  • Beiträge: 1257
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 (⌒▽⌒)
 

Offline woody68

  • Newbie
  • Beiträge: 5
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
 

Offline Lachtaube

  • Access Guru
  • ****
  • Beiträge: 1257
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 (⌒▽⌒)
 

Offline woody68

  • Newbie
  • Beiträge: 5
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.
 

Offline Lachtaube

  • Access Guru
  • ****
  • Beiträge: 1257
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 (⌒▽⌒)
 

Offline tismo

  • Access-User
  • *
  • Beiträge: 92
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) ???
praktisch denken - Särge schenken.
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23363
Bericht: Wenn Wert im Feld 1 größer als im Feld 2 dann sichtbar
« Antwort #10 am: März 01, 2018, 08:15:44 »
Hallo,


Zitat
Unzulä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.)