Farbe eines Datensatzes im Formular ändern

Moderator: ModerationP

Farbe eines Datensatzes im Formular ändern

Beitragvon Kotty » 20. Aug 2021, 11:37

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?
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
OracleDB, Access 365 (deutsch), kein VBA erlaubt
Kotty
Neuling
 
Beiträge: 2
Registriert: 20. Aug 2021, 10:15

Re: Farbe eines Datensatzes im Formular ändern

Beitragvon KlausMz » 20. Aug 2021, 15:17

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.
Gruß
Klaus . . . . . Feedback wäre wünschenswert.
Ich möchte bitte keine unaufgeforderten PN. Fragen bitte im Forum.
Benutzeravatar
KlausMz
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 40307
Registriert: 06. Okt 2003, 15:09
Wohnort: Irgendwo in der Pfalz

Re: Farbe eines Datensatzes im Formular ändern

Beitragvon Bitsqueezer » 20. Aug 2021, 15:38

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
Bitsqueezer
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 8503
Registriert: 21. Jun 2007, 12:17

Re: Farbe eines Datensatzes im Formular ändern

Beitragvon Mr.TM » 23. Aug 2021, 10:00

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.
OracleDB, Access 365 (deutsch), kein VBA erlaubt
Mr.TM
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 21
Registriert: 20. Aug 2021, 10:14

Re: Farbe eines Datensatzes im Formular ändern

Beitragvon Gast » 24. Aug 2021, 09:59

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
Gast
 

Re: Farbe eines Datensatzes im Formular ändern

Beitragvon Mr.TM » 24. Aug 2021, 10:21

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.
OracleDB, Access 365 (deutsch), kein VBA erlaubt
Mr.TM
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 21
Registriert: 20. Aug 2021, 10:14


Zurück zu Access Forum (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: knobbi38 und 8 Gäste