Grafik formaieren nach Ergebnis?

hallo zusammen,

wie schaff ich es eine grafik (rechteck) farblich zu formatieren je nachdem welches ergebniss ich in einer form habe?

also nochmal langsam - ich rechne ein bonussystem aus (in einen bericht) wenn einer „viel“ bonus bekommt soll die zeile in welcher das ergebnis der bonusrechnung steht gruen sein

wenn kein bonus erarbeitet wurde soll die zeile rot werden

habe dazu schon mal n rechteck in den bericht eingefuegt und transparent gemacht - das ergebnis liegt drauf - so nun wie gehts weiter?

gruss manuel!

Hallo, Manuel!

wie schaff ich es eine grafik (rechteck) farblich zu
formatieren je nachdem welches ergebniss ich in einer form
habe?

Über was reden wir genau? Access-Formular und Bericht? Normales VB-Formular?

Relativ egal: Das Rechteck wird eine BackColor-Eigenschaft haben. Die kannst Du setzen. Dazu muss das Rechteck aber ausgefüllt sein, also nich transparent.

Unter Access kannst Du ein Textfeld verwenden und ihm über eine bedingte Formatierung Hintergrund- und Schriftfarbe setzen.

also nochmal langsam - ich rechne ein bonussystem aus (in
einen bericht) wenn einer „viel“ bonus bekommt soll die zeile
in welcher das ergebnis der bonusrechnung steht gruen sein

Was ist das für eine Zeile? Zeile in Excel? Großes Textfeld oder Rechteck in einem Access-Bericht? Access-Formular? VB-Formular?

habe dazu schon mal n rechteck in den bericht eingefuegt und
transparent gemacht - das ergebnis liegt drauf - so nun wie
gehts weiter?

Wie liegt das Ergebnis drauf? Was für ein Ergebnis ist das?

Also als Beispiel: Das Ergebnis ist eine Zahl. Wenn die größer ist als 100.000 willst Du den Bonus draufpacken, also grün. Wenn weniger, soll das rot sein.

Unter VB wird das Formular ja irgendwie erzeugt/angezeigt/was auch immer, d. h. Du hast ein Ereignis, welches den „Bericht“ anzeigt. In diesem setzt Du die BackColor-Eigenschaft von Textfeld oder Rechteck in Abhängigkeit vom berechneten Wert.

Unter Access nimmst Du ein Textfeld und arbeitest mit bedingter Formatierung: Wenn Zellwert>100.000, dann Hintergrund grün, ansonsten rot. Wenn Du nur ein Kästchen haben willst, in dem keine Zahl steht (quasi als Symbol/Rechteck), setzt Du außerdem die gleiche Textfarbe.

Halbwegs klar?

Gruß, Manfred

Hallo, Manfred!

Über was reden wir genau? Access-Formular und Bericht?
Normales VB-Formular?

aus n vba-form soll n bericht geschrieben werden.

Relativ egal: Das Rechteck wird eine BackColor-Eigenschaft
haben. Die kannst Du setzen. Dazu muss das Rechteck aber
ausgefüllt sein, also nich transparent.

hab ein rechteck aus der toolbox - transparent

Unter Access kannst Du ein Textfeld verwenden und ihm über
eine bedingte Formatierung Hintergrund- und Schriftfarbe
setzen.

Was ist das für eine Zeile? Zeile in Excel? Großes Textfeld
oder Rechteck in einem Access-Bericht? Access-Formular?
VB-Formular?

rechteck im access-bericht

Wie liegt das Ergebnis drauf? Was für ein Ergebnis ist das?

Also als Beispiel: Das Ergebnis ist eine Zahl. Wenn die größer
ist als 100.000 willst Du den Bonus draufpacken, also grün.
Wenn weniger, soll das rot sein.

Unter VB wird das Formular ja irgendwie erzeugt/angezeigt/was
auch immer, d. h. Du hast ein Ereignis, welches den „Bericht“
anzeigt. In diesem setzt Du die BackColor-Eigenschaft von
Textfeld oder Rechteck in Abhängigkeit vom berechneten Wert.

das ereignis - is wenn der bericht geoeffnet wird
Private Sub Report_Open(Cancel As Integer)

Unter Access nimmst Du ein Textfeld und arbeitest mit
bedingter Formatierung: Wenn Zellwert>100.000, dann
Hintergrund grün, ansonsten rot. Wenn Du nur ein Kästchen
haben willst, in dem keine Zahl steht (quasi als
Symbol/Rechteck), setzt Du außerdem die gleiche Textfarbe.

Halbwegs klar?

klappt aber leider noch nicht - wie soll der code aussehen

dim rechteck as ?
dim Ergebnis as interger
Dim lngBlack As Long
Dim lngRed As Long
Dim lngYellow As Long

lngRed = RGB(255, 0, 0)
lngBlack = RGB(0, 0, 0)
lngYellow = RGB(255, 255, 0)
lngWhite = RGB(255, 255, 255)

If Proz_Erg > 100 Then

BackColor = lngBlack
Else
BackColor = lngRed
End If

Gruß, manuel

Hallo, Manuel!

Relativ egal: Das Rechteck wird eine BackColor-Eigenschaft
haben. Die kannst Du setzen. Dazu muss das Rechteck aber
ausgefüllt sein, also nich transparent.

hab ein rechteck aus der toolbox - transparent

Nimm eine normale. Einem transparenten Steuerelement ist die Farbe egal, weil sie nicht dargestellt wird - transparent eben.

das ereignis - is wenn der bericht geoeffnet wird
Private Sub Report_Open(Cancel As Integer)

Okay. Falsches Ereignis. Du nimmst den Bereich, in dem das Rechteck liegt (vermutlich Detailbereich) und hier das Ereignis OnFormat/BeimFormatieren.

klappt aber leider noch nicht - wie soll der code aussehen

Das Rechteck ist ja im Bericht und hat einen Namen. Heißt von mir aus Rechteck. Weiterhin behaupte ich, es liegt im Detailbereich.

Dann:

Private Sub Detailbereich\_Format(Cancel As Integer, FormatCount As Integer)
 dim Ergebnis as integer
 Dim lngBlack As Long
 Dim lngRed As Long
 Dim lngYellow As Long
 lngRed = RGB(255, 0, 0)
 lngBlack = RGB(0, 0, 0)
 lngYellow = RGB(255, 255, 0)
 lngWhite = RGB(255, 255, 255)
 If Proz\_Erg \> 100 Then
 Me.Rechteck.BackColor = lngBlack
 Else
 Me.Rechteck.BackColor = lngRed
 End If
End Sub

Gruß, Manfred

1 Like

und schon funtzt es!
Danke Dir!

Super - hast mir sehr geholfen!

Gruss Manuel!