Die Statusanzeige zeigt nichts oder die falsche Farbe
Ein WklStatusLabel bleibt leer, zeigt den Rohwert statt des Texts eines Eintrags, behält eine graue (neutrale) Farbe
oder zeigt die Farbe eines anderen Datensatzes.
Umgebung
WklStatusLabel ab 1.23, in Access-Formularen sowie auf UserForms in Excel und Word.
Ursache
- Nicht gebunden oder an Null gebunden. Ohne Steuerelementinhalt (
ControlSource) zeigt die Statusanzeige ihren entworfenenText; mit einem Feld, das Null ist, zeigt sieNullText(standardmäßig leer). - Kein Eintrag für den Wert. Ein Eintrag passt über den Wert: Zahlen nach ihrem Wert, gleich welchen Typs, Text ohne Rücksicht auf Groß- und Kleinschreibung. Ein Wert ohne Eintrag wird mit
Formatformatiert in der entworfenen Art (Kind) angezeigt – meist neutral grau. - Das Artfeld enthält keine Art.
KindFielderwartet eine Zahl von 0 bis 5 oder einen Namen (neutral,ok,warnoderwarning,badodererror,info,muted); jeder andere Wert, auch Null, gilt als neutral. Ein Eintrag für den Wert hat Vorrang vor dem Artfeld. - Code hat das Artfeld im selben Datensatz geändert. Die Statusanzeige liest das Artfeld, wenn ein Wert ankommt, also bei einem Datensatzwechsel; eine spätere Änderung durch Code im selben Datensatz bemerkt sie nicht.
- Neuer Datensatz, Bericht, UserForm. Dort gilt die entworfene Art (
Kind);KindFieldwird nicht gelesen. - Der Detailbereich eines Endlosformulars. Access erzeugt dort eine einzige Instanz, die nur den aktuellen Datensatz zeigt; eine gebundene Instanz verhindert, dass Access das Formular öffnet.
Lösung
- Setzen Sie Steuerelementinhalt auf das Feld oder den Ausdruck und
NullTextfür leere Werte. - Fügen Sie mit
AddStatusItemje Wert einen Eintrag hinzu (in der Entwurfsansicht, damit die Einträge mit dem Formular gespeichert werden); prüfen Sie sie mitStatusItemCount. - Speichern Sie im Artfeld eine Art, die die Statusanzeige versteht, oder fügen Sie stattdessen Einträge hinzu.
- Hat Code das Artfeld des aktuellen Datensatzes geändert, rufen Sie
Refreshauf. - Verwenden Sie für einen Status je Datensatz einer Liste eine Statusspalte von
WklGrid(wedStatus) statt einer Statusanzeige in einem Endlosformular.
Siehe auch Status aus einem Feld des Datensatzes anzeigen.
de/wiki/msaccess/comctl/troubleshooting/status-label-shows-nothing.txt · Last modified: by Wolfgang van der Stille