Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

VBA bedingte Formatierung in Endlosformular

Begonnen von Thüringer, August 27, 2026, 10:25:15

⏪ vorheriges - nächstes ⏩

Thüringer

Ich habe folgendes Problem:

In einem Textfeld A soll, wenn es leer ist, in leichtgrauer Schrift ein Wort stehen. Z.B. "Name". Wenn es nicht leer ist, soll die Schrift nicht sichbar sein. Das soll das Ausfüllen erleichtern, ohne Beschriftungsfelder zu verwenden.

* Endlosformular
* Das Wort soll nur angezeigt werden, wenn das Feld leer ist.
* Das Wort soll auch nicht angezeigt werden, wenn der Cursor im Feld steht. (aktiv ist)

Meine Idee:
* Ich lege ein zweites ungebundenes Textfeld B an, in dem das Wort in grau steht.
* Textfeld B wird unter Textfeld A gelegt.
* Dazu bräuchte ich den code für die bedingte Formatierung für Textfeld B

Bin für jeden Hinweis dankbar.

Knobbi38

#1
Hallo,

leider ist das Problem nicht einfach mit einer FC (bedingte Formatierung) zu lösen, auch nicht, wenn du mit zwei Steuerelementen arbeitest. Es kann außerdem sehr verwirrend sein, wenn in leeren Feldern jetzt auf einmal der Vorgabetext erscheint. Das abzufangen ist sicherlich noch ein gutes Stück schwieriger.

Was du machen kannst ist, ein Format in der Textbox zu verwenden, z.B.:
@;;"- Vorname -  "[Blau]Nicht ganz das was du möchtest, aber immerhin. Üblicherweise kann man dafür auch ein Dialog-Formular verwenden - nur mal so als Idee.

Knobbi38

Thüringer

Danke für die Antwort. Ich habe diese Funktion schon einmal in anderen Anwendungen gesehen, die allerdings nicht Access waren.

Den Code habe ich nicht ganz verstanden. Kannst Du ihn bitte mal für ein Textfeld A ausformulieren, damit ich es lernen kann, wie er funktioniert?

Knobbi38

Hallo,

so etwas kann man auch in der Hilfe nachlesen, aber möglicherweise ist das dort nicht wirklich gut beschrieben.

Für Textboxen mit Textfelder gibt es 3 Abschnitte in der Format-Eigenschaft:
  • Abschnitt: gilt für Felder die Text enthalten
    Das @ Zeichen ist ein Platzhalter und zeigt den Text an.
  • Abschnitt: für Felder mit leerer Zeichenfolgen
    In diesem Fall nichts angegeben.
  • Abschnitt: gilt für Felder mit NULL
    Hier wird der Platzhaltertext "- Vorname -" in der Farbe Blau angezeigt.
Wie gesagt, welche Platzhalter und welche Farben unterstützt werden, kann in der Hilfe für die Textbox Format-Eigenschaft nachgeschlagen werden, dass brauche ich hier nicht nochmal wiedergeben.

Knobbi38