Seite 1 von 1

Farbe eines Datensatzes im Formular ändern

BeitragVerfasst: 20. Aug 2021, 11:37
von Kotty
Hallo zusammen,

ich arbeite gerade viele alte Excel-Abfragen in Access-Abfragen um. Dabei versuche ich die Optik möglichst nahe an die Excel-Abfrage zu bekommen.

Mein Problem ist, dass ich bisher noch keine Möglichkeit gefunden habe, einen Datensatz entsprechend einem Kriterium in einem Formular komplett einzufärben.

Access_Formular_Farbe.png

Im Screensht ist zu sehen, dass ich die einzelnen letzten Felder nach dem Inhalt ("Ja") über die Bedingte Formatierung einfärben kann. Leider habe ich bis jetzt keine Möglichkeit gefunden, nach diesem Kriterium den kompletten Datensatz einzufärben.

WICHTIG: Ich darf kein VBA verwenden. Ist leider eine ziemlich nervige Vorgabe.

Kann mir jemand von euch helfen?

Re: Farbe eines Datensatzes im Formular ändern

BeitragVerfasst: 20. Aug 2021, 15:17
von KlausMz
Hallo,
das geht nur mit einem Trick.
Lege in den Hintergrund ein transparentes Feld das den kompletten Detailbereich einnimmt.
Diese Feld kannst Du dann mit der bF einfärben.

Re: Farbe eines Datensatzes im Formular ändern

BeitragVerfasst: 20. Aug 2021, 15:38
von Bitsqueezer
Hallo,

beinahe...:)
Wenn das Feld im Hintergrund transparent ist, wirkt auch keine Hintergrundfarbe...;)

Aber davon ab kannst Du natürlich das gleiche Kriterium für CF auch auf alle anderen Felder anwenden. Natürlich nur für Controls, die CF akzeptieren, also Textboxen und Komboboxen. Kommen auch Checkboxen etc. hinzu, dann mußt Du die Klaus-Methode anwenden.

Wobei bei einem Gesamt-Datensatz-Textfeld im Hintergrund natürlich das Problem ist, daß Du nur die Bereich um die einzelnen Felder gelb markiert siehst, die Felder selbst natürlich nicht. Das geht dann nur, wenn jedes der Felder selbst transparent eingestellt ist.

Außerdem mußt Du die Eigenschaften des Hintergrundfeldes so einstellen, daß es den Fokus nicht erhalten kann oder Eingaben darin erlaubt sind, da muß man auch beim CF aufpassen, da eine einfache Farbeinstellung die Sperreinstellung wieder aufheben kann (ist da eine eigene Eigenschaft).

Gruß

Christian

Re: Farbe eines Datensatzes im Formular ändern

BeitragVerfasst: 23. Aug 2021, 10:00
von Mr.TM
In Anbetracht der Menge an Abfragen, die ich umbauen soll werde ich es aber frühestens in der V2 ausprobiert.
Trotzdem vielen Dank für eure schnelle Antwort.

Re: Farbe eines Datensatzes im Formular ändern

BeitragVerfasst: 24. Aug 2021, 09:59
von Gast
Du kannst die Hintergrundfarbe der Felder in Abhängigkeit vom Kriterium einfärben, den Code musst Du im OpenForm-Ereignis des Formulars einfügen:
Code: Alles auswählen
With Me.Controls("feld1").FormatConditions.Add(acExpression, 1, "[status] = 1")
    .BackColor = RGB(0, 225, 0)
End With
With Me.Controls("feld2").FormatConditions.Add(acExpression, 1, "[status] = 1")
    .BackColor = RGB(0, 225, 0)
End With
With Me.Controls("feld3r").FormatConditions.Add(acExpression, 1, "[status] = 1")
    .BackColor = RGB(0, 225, 0)
End With

[code]With Me.Controls("feld1").FormatConditions.Add(acExpression, 2, "[status] = 2")
    .BackColor = RGB(255, 225, 0)
End With

[code]With Me.Controls("feld1").FormatConditions.Add(acExpression, 3, "[status] = 3")
    .BackColor = RGB(255, 225, 255)
End With

Re: Farbe eines Datensatzes im Formular ändern

BeitragVerfasst: 24. Aug 2021, 10:21
von Mr.TM
Danke für die Info.

Leider darf ich kein VBA verwenden. Über die Sinnhaftigkeit dieser Vorgabe brauchen wir nicht zu diskutiere, nur ändern kann ich es leider nicht.