Neuigkeiten:

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

Mobiles Hauptmenü

SteuerelementTip-Text in der Datenblattansicht

Begonnen von Köbi, Februar 16, 2026, 17:16:18

⏪ vorheriges - nächstes ⏩

Köbi

Ich habe ein Formular mit einem Unterformular, Standardansicht des Unterformulars ist Datenblatt. In diesem Unterformular befindet sich ein Feld TrackNr. Dieses hat einen SteuerelementTip-Text. Dieser wird in dieser Ansicht als Datenblatt nicht angezeigt.
Wechsle ich das Unterformular in ein Endlosformular wird dort der SteuerelementTip-Text angezeigt.
Ist es normal, dass in der Datenblattansicht SteuerelementTip-Texte nicht angezeigt werden? In meinem Falle wäre die Information relativ wichtig.
Gruss, Köbi


Hondo

Hallo,
der Controltiptext wird nur angezeigt wenn das Form auf dem sich das Control befindet den Focus hat.
Wenn du in das Feld klickst im Ufo dann sollte anschließend dieser auch sichtbar sein.
Gruß Andi

Debus

#2
Guten Morgen

Ja, das ist (leider) normal: In der Datenblattansicht werden ControlTipText‑Tooltips von Steuerelementen in Formularen/Subformularen nicht zuverlässig bzw. praktisch gar nicht angezeigt, während sie in Endlosformularen wie erwartet funktionieren.

Wenn die Information wichtig ist, hast du im Wesentlichen drei praktikable Optionen:

Endlosformular statt Datenblatt

Subformular auf Endlosformular umstellen und es optisch ,,wie ein Datenblatt" gestalten (schmale Detailzeile, Linienraster, Spaltenüberschriften im Formularkopf).


Vorteil: Tooltips funktionieren, Design ist recht flexibel.

StatusBarText statt ControlTipText nutzen

Den Text in die Eigenschaft StatusBarText des Feldes schreiben.

Beim Fokus im Feld erscheint der Text in der Statusleiste unten im Access‑Fenster.


Nicht so auffällig wie ein Tooltip, aber funktioniert auch in problematischen Konstellationen.

Eigene ,,Hilfsanzeige" bauen

Z.B. ein Textfeld im Hauptformular, dessen Inhalt du im Ereignis On GotFocus des Feldes TrackNr setzt:

Me.Parent!txtInfo = Me!TrackNr.ControlTipText

Damit zeigst du den Hinweis sichtbar im Hauptformular an (z.B. direkt über/unter dem Unterformular).

Gruß
Holger



Knobbi38

Hallo Köbi,

in der Datenblattansicht gibt es keine Tooltips, weil die Anzeige nicht aus "normalen" Steuerelementen aufgebaut ist. Nur der aktuelle/selektierte DS wird mit gewöhnlichen Steuerelementen dargestellt. Um so etwas nachzubauen, müsste man das MouseMove-Event auswerten und die Zeile unter dem  Mousecursor ermitteln. Das bekommt man mit viel Tricks noch hin, aber es läßt sich leider so noch nicht der DS unter dem Mousecursor ermitteln, den man bräuchte, um die notwendigen Daten für ein ToolTip zu ermitteln.

Mit der IAccessible- oder der UIAutomation-Schnittstelle könnte man eventuell etwas machen, aber das ist relativ kompliziert und der Aufwand relativ hoch.

Gruß Knobbi38

PhilS

Zitat von: Knobbi38 am Februar 18, 2026, 10:02:08Um so etwas nachzubauen, müsste man das MouseMove-Event auswerten und die Zeile unter dem  Mousecursor ermitteln. Das bekommt man mit viel Tricks noch hin, aber es läßt sich leider so noch nicht der DS unter dem Mousecursor ermitteln, den man bräuchte, um die notwendigen Daten für ein ToolTip zu ermitteln.
Es würde ja schon reichen, die Spalte unter dem Cursor zu ermitteln. Der Tooltip eines Controls ist ja für alle Datensätze gleich.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

Knobbi38

Zitat von: PhilS am Februar 18, 2026, 11:38:09Es würde ja schon reichen, die Spalte unter dem Cursor zu ermitteln. Der Tooltip eines Controls ist ja für alle Datensätze gleich.
Die Spalte ist kein Problem, dafür kann das MouseMove-Event der Textbox verwendet werden. Auch die relative Zeile lässt sich mit Tricks ermitteln. Richtig, die Tooltips sind für die gesamte Spalte gleich, was hier aber nicht gewünscht ist – zumindest habe ich das so verstanden. Beim MouseOver sollten doch noch zusätzliche Informationen zu dem DS unter dem Mauscursor per ToolTip angezeigt werden. Dafür müsste man aber den absoluten DS ermitteln können, was so zunächst mal nicht direkt geht. Eventuell gibt es eine Lösung, wenn man zur Berechnung noch Informationen der Scrollbar mit einbezieht, aber so weit wollte ich dann nicht mehr gehen, weil mir der Aufwand dafür zu hoch erscheint.

Übrigens hat eine Sitzung mit der KI hier zum ersten Mal ergeben, dass sie vor einem ,,unlösbaren" Problem steht und deshalb nicht weiterhelfen kann – auch interessant. Das hatte ich so nicht erwartet.

Wie bereits erwähnt, müsste es einen Weg über die IAccessible- oder die UIAutomation-Schnittstelle geben, aber auch hier erscheint mir der Aufwand für ein nicht kommerzielles Produkt zu hoch, zumal auf ein Endlosformular ausgewichen werden kann.

Gruß Knobbi38