Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Formatierungsproblem im Formular

Begonnen von itwebmaster, Juli 28, 2023, 13:02:07

⏪ vorheriges - nächstes ⏩

itwebmaster

If Weekday(Me.Datum) = 1 Then
    Me.Section(acDetail).BackColor = HTMLColour("#CDDCAF") 'dunkleres Grün
    'Exit Sub
ElseIf Weekday(Me.Datum) = 7 Then
    Me.Section(acDetail).BackColor = HTMLColour("#E6EDD7") 'hellers Grün
    'Exit Sub
Else
    Me.Section(acDetail).BackColor = HTMLColour("#FFFFFF") 'weiß
End If
Mit diesem Code versuche ich das Sonnabende Hellgrün und Sonntage mit einem dunkleren Grün im Detailbereich des Formulars hinterlegt werden.

Leider wird in der einen Woche der Sonnabend (hellgrün) und in der nächsten Woche der Sonntag (dunkleres Grün) hinterlegt. Hat jemand eine Ahnung was ich falsch mache und kann mir einen Tipp geben? Ich verwende Office 365, 32Bit

andyfau

Hallo,
Formatierung im Endlosformular ist über die bedingte Formatierung leichter zu realisieren.

Beste Grüße
Andreas
Beste Grüße
Andreas

PhilS

Zitat von: itwebmaster am Juli 28, 2023, 13:02:07Mit diesem Code [....]
Wo befindet sich der Code?
Du schreibst im Titel "Formatierungsproblem im Formular". Dein Screenshot sieht aber eher aus wie ein Bericht.
Zusätzlich wäre es noch wichtig zu wissen in welcher Ereignisprozedur der gezeigte Code steht.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

itwebmaster

Zitat von: PhilS am Juli 28, 2023, 16:04:55
Zitat von: itwebmaster am Juli 28, 2023, 13:02:07Mit diesem Code [....]
Wo befindet sich der Code?
Du schreibst im Titel "Formatierungsproblem im Formular". Dein Screenshot sieht aber eher aus wie ein Bericht.
Zusätzlich wäre es noch wichtig zu wissen in welcher Ereignisprozedur der gezeigte Code steht.
Ja Sorry, ist im Bericht im Detailbereich ... bei drucken

PhilS

Zitat von: itwebmaster am Juli 28, 2023, 13:02:07Leider wird in der einen Woche der Sonnabend (hellgrün) und in der nächsten Woche der Sonntag (dunkleres Grün) hinterlegt.
Die wahrscheinlichste Ursache ist meiner Meinung, dass du für die Alternate Back Color Eigenschaft dieselbe Farbe wie für die normale Back Color Eigenschaft eingestellt hast. Diese Farbe hat dann Priorität über deiner, per Code gesetzter Hintergrundfarbe. - Um das zu vermeiden, für Alternate Back Color explizit "No Color" einstellen.

Zitat von: itwebmaster am Juli 29, 2023, 17:47:01ist im Bericht im Detailbereich ... bei drucken
Das ist ok. Allerdings sollte dir bewusst sein, dass das Ereignis nur beim tatsächlichen Ausdrucken und der Druckvorschau ausgelöst wird, nicht aber wenn in Access die normale Berichtsansicht öffnet. Da braucht es das OnPaint-Ereignis.

Die Bedingte Formatierung, wie von Andy vorgeschlagen, wäre eine brauchbare Alternative.

Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

MzKlMu

Hallo,
Zitat von: PhilSUrsache ist meiner Meinung, dass du für die Alternate Back Color Eigenschaft
Habe ich daran gedacht, aber müssten dann die anderen Zeilen nicht auch die alternative Farbe haben ?

Ich würde auch die bedingte Formatierung vorziehen, da braucht es auch kein VBA.

Wenn doch VBA würde ich das Ereignis "Beim Formatieren" verwenden.
Gruß Klaus

PhilS

Zitat von: MzKlMu am Juli 30, 2023, 14:26:42Habe ich daran gedacht, aber müssten dann die anderen Zeilen nicht auch die alternative Farbe haben ?
Ja, schon, nur wenn die normale Hintergrundfarbe und die Alternative die selbe Farbe ist, dann macht das optisch keinen Unterschied. Erst dann, wenn dadurch die per VBA gesetzten Sonderfarben überschrieben werden, kann man das sehen.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

itwebmaster

Mit der bedingten Formatierung komme ich nicht weiter, da ich diese nur auf Steuerelemente anwenden kann (soweit ich mir das erlesen habe), nicht aber auf den Hintergrund des Detailbereiches. Ich habe jetzt schon mit Case Select probiert, es kommt immer das gleich Ergebnis raus. Die Alternative Hintergrundfarbe habe ich im Eigenschaftsbereich "gleichgesetzt".

PhilS

Zitat von: itwebmaster am Juli 31, 2023, 11:56:16Die Alternative Hintergrundfarbe habe ich im Eigenschaftsbereich "gleichgesetzt".
Genau das ist die Ursache für das Problem, wie oben bereits geschrieben.
Du darfst die Alternative Hintergrundfarbe nicht verwenden und musst sie explizit auf "No Color" einstellen.

Für die Hintergrundfarbe des Detailbereichs sind Bedingte Formatierungen tatsächlich nicht direkt verwendbar. - Hatte ich nicht bedacht.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

itwebmaster

Bin nicht ganz zufrieden. Ich habe jetzt das Feld Datum über den gesamten Detailbereich erweitert und in den Hintergrund gesetzt, jetzt funktioniert es mit der bedingten Formatierung. Danke an alle, die mir bei Denken geholfen haben.

MzKlMu

Hallo,
Du solltest den Hinweis von PhilS beachten. Dann funktioniert es.
ZitatDu darfst die Alternative Hintergrundfarbe nicht verwenden und musst sie explizit auf "No Color" einstellen.
Gruß Klaus