Access-o-Mania

Access-Forum (Deutsch/German) => Bericht => Thema gestartet von: Carl am November 30, 2017, 10:05:03

Titel: bedingte Formatierung mit VBA im Bericht
Beitrag von: Carl am November 30, 2017, 10:05:03
Ich habe in einem Bericht ein Feld "A". Nun möchte ich mit VBA machen, dass der Rahmen des Feldes "B" transparent wird, wenn:

A leer ist oder
B leer ist

Kennt jemand den Code?

Carl
Titel: Re: bedingte Formatierung mit VBA im Bericht
Beitrag von: MzKlMu am November 30, 2017, 10:49:41
Hallo,
im Ereignis "Beim Formatieren" des entsprechenden Bereichs:
Me.FeldB.BorderStyle = Not (IsNull(FeldA) Or IsNull(FeldB))
Titel: Re: bedingte Formatierung mit VBA im Bericht
Beitrag von: Carl am November 30, 2017, 13:37:13
Ich habs mal so probiert, aber er macht den Rahmen nicht transparent. Siehst Du den Fehler?

Private Sub Detailbereich_Format(Cancel As Integer, FormatCount As Integer)
Me.Skalenwert01.BorderStyle = Not IsNull(Skalenwert01)
End Sub

Titel: Re: bedingte Formatierung mit VBA im Bericht
Beitrag von: Lachtaube am November 30, 2017, 13:54:26
BorderStyle erwartet Zahlen- und keine Wahrheitswerte. Und zwar 0 für Trnsparenz, 1 für durchgezogene Linie, 2 für gestrichelte Liniem ... Versuche die Anweisung: Me.Skalenwert01.BorderStyle = Abs(IsNumeric(Me.Skalenwert01))

PS: der entstehende Effekt kann übrigens auch nur in der Seitenansicht, im Ausdruck oder im PDF-Export beobachtet werden.
Titel: Re: bedingte Formatierung mit VBA im Bericht
Beitrag von: Carl am November 30, 2017, 14:57:39
Hm .. ich kriegs nicht hin.

Vielleicht anders herum:

Das Feld "Skalenwert01" soll einen durchgezogenen Rahmen haben, wenn es selbst nicht leer ist. Andernfalls soll es transparent sein.

Geht das?
Titel: Re: bedingte Formatierung mit VBA im Bericht
Beitrag von: Lachtaube am November 30, 2017, 15:33:59
Und das Steuerelement darf natürlich auch keinen transparenten Hintergrund haben, denn dorthin wird ja der Rahmen gemalt.
Titel: Re: bedingte Formatierung mit VBA im Bericht
Beitrag von: Carl am Dezember 02, 2017, 15:24:15
Ich komme immer noch nicht klar.

* Skalenwert01 ist ein Textfeld, das zahlen und Buchstaben enthalten kann.
* es hat einen weißen Hintergrund und einen Rahmen
* Im Bericht soll es nur dann KEINEN Rahmen erhalten, wenn es leer ist.

Das hier habe ich probiert:


Private Sub Detailbereich_Format(Cancel As Integer, FormatCount As Integer)
Me.Skalenwert01.BorderStyle = Abs(IsNumeric(Me.Skalenwert01))
End Sub


aba es geht nich
Titel: Re: bedingte Formatierung mit VBA im Bericht
Beitrag von: DF6GL am Dezember 02, 2017, 16:04:07
Hallo,



Private Sub Detailbereich_Format(Cancel As Integer, FormatCount As Integer)
Me!Skalenwert01.BorderStyle =IIf(nz(Me!Skalenwert01,"")="",0,1)
End Sub


Titel: Re: bedingte Formatierung mit VBA im Bericht
Beitrag von: Carl am Dezember 02, 2017, 18:58:58
Hm ... er gibt keine Fehlermeldung aus aber es passiert auch nichts.

Leider verstehe ich die Funktionen nicht.

Gibt es noch eine alternative Formulierung, mit der ich probieren könnte?

Carl
Titel: Re: bedingte Formatierung mit VBA im Bericht
Beitrag von: Lachtaube am Dezember 02, 2017, 19:02:33
Der Unterschied zwischen Berichts- und Aeitenansicht ist Dir bewußt? Welche der beiden benutzt Du?
Titel: Re: bedingte Formatierung mit VBA im Bericht
Beitrag von: Carl am Dezember 02, 2017, 19:07:05
Zitat von: Lachtaube am Dezember 02, 2017, 19:02:33
Der Unterschied zwischen Berichts- und Aeitenansicht ist Dir bewußt? Welche der beiden benutzt Du?

Ach, alles klar! Danke, Lachtaube!

:)

Carl