Hallo,
ich wollte als Unterstützung die ControlTipText Funktionen in Access nutzen. Zuerst über den Weg Ereignis Beim Hingehen
Private Sub txtVerzeichnisname_Enter()
Me.txtVerzeichnisname.ControlTipText = "Hier muss die Eingabe-Konvention beachtet werden - " & vbCrLf & _
"String_String"
End Sub
Ich bin mir sicher, dass es schon ging, sprich mir beim hingehen der Text angezeigt wurde. Inzwischen habe ich Office 2016 installiert und es geht aktuell nicht mehr. Man hat ja auch noch die Möglichkeit, in den Eigenschaften eines Feldes SteuerelemntTip-Text zu hinterlegen. Aber auch diese Option geht irgendwie nicht. Muss ich noch etwas aktivieren oder habe ich etwas übersehen oder funktioniert das einfach nur unzuverlässig?
mfG
Andreas
Hallo,
schau mal unter Optionen, Allgemein, Quickinfo.
lg
crystal
Hi,
ist bei mir aktiviert. Ich habe es jetzt mal deaktiviert, wieder aktiviert, DB neu gestartet, sieh da es ging. Aber schon einen Datensatz weiter geht es nicht mehr. Ich habe das ganze mit dem Ereignis "Beim hingehen" verbunden. Das sieht dann so aus:
Private Sub txtVerzeichnisname_Enter()
Me.txtVerzeichnisname.ControlTipText = "Hier muss die Eingabe-Konvention beachtet werden"
End Sub
Jetzt habe ich mal den Weg über die Eigenschaften --> Andrere --> SteuerelementTipText versucht, ging auch nur einmal, dann war es das. Ist das Buggie oder einfach nur unzuverlässlich?
mfG
Andreas
Hallo,
könnte es sein, dass du im Code irgendwo ein "echo off" stehen hast?
Nur so eine Idee.
lg
crystal
Edit:
Andere Idee:
benutzt du irgendeine externe Library?
Hi,
also ich habe keinen echo off gefunden. An Libarys habe ich folgende aktiv, Bild1 (fällt mir schwer zu unterscheiden, was extern ist :(...).
Gruß Andreas
Hallo,
die Verweise scheinen OK zu (ich dachte du würdest vielleicht irgendeine exotische Lib benutzen...).
Das letzte, was mir noch einfällt:
check, ob die Steuerelement im Vordergrund stehen.
lg
crystal
Hi,
danke für die Tipps, aber es geht einfach nicht. Ich glaube echt, dass es ein kleiner Bug ist. Wenn ich das wieder deaktiviere und wieder aktiviere und die DB neu starte, dann geht es auch nicht mehr, egal welche Option ich nutze also SteuerelementTip -Text oder VBA ControlTipText! Das ist wohl nicht im Sinne des Erfinders. Egal, sei es drum, schade.
Gruß Andreas
Hallo Andreas,
vielleicht kann http://lebans.com/tooltip.htm helfen.
Wenn ich mich recht erinnere, funktionieren die auch bei der Tabellendarstellung.
Harald
Zitat von: derilzemer am Januar 01, 2017, 22:14:53
Ich habe das ganze mit dem Ereignis "Beim hingehen" verbunden. Das sieht dann so aus:
Private Sub txtVerzeichnisname_Enter()
Me.txtVerzeichnisname.ControlTipText = "Hier muss die Eingabe-Konvention beachtet werden"
End Sub
Also bei mir funktioniert der Tiptext generell problemlos. Ich habe allerdings eine ältere Version von Access.
Warum machst du das so?
Hast du den vollständigen Code gepostet?
Der TipText wird ja ausgelöst sobald der Mauszeiger sich eine gewisse Zeit über dem Control befindet. Der Focus hat nichts damit zu tun. Das Event würde ja theoretisch dazu führen, dass der Tiptext nicht vorhanden ist, so lange das Control den Focus nicht hatte.
LG Markus
Hallo Andreas,
ZitatDer TipText wird ja ausgelöst sobald der Mauszeiger sich eine gewisse Zeit über dem Control befindet. Der Focus hat nichts damit zu tun.
Ich kann diesem Zitat nur zustimmen.
Ich kann den ControlTipText über das Enter- oder das GotFocus- oder über ein anderes Ereignis zuweisen, angezeigt wird der Text immer nur dann, wenn die Maus über dem Textfeld steht.
Gruß
Josef, A2010
Hi,
Danke für eure Antworten und Hilfen. Naja, das war auch mein Verständnis mit dem drüberfahren oder über dem Textfeld stehen. Ich habe das Ereignis sowohl mit GotFocus oder eben Enter (beim hingehen) eingestellt. Wenn ich dann mit der Maus auf das Textfeld fahre oder den Cursor platziere, egal wie, es kommt kein ToolTip.
Unter den Optionen habe ich meines Erachtens alles korrekt eingestellt (siehe Bild1). Ich würde mal behaupten, das ist einfach ein Bug. Aber ein Layer 8 Problem kann ich nicht gänzlich ausschließen. Ist der Code nicht korrekt?
Private Sub txtVerzeichnisname_Enter()
Me.txtVerzeichnisname.ControlTipText = "Hier muss die Eingabe-Konvention beachtet werden"
End Sub
Gruß Andreas
Hallo Andreas,
um nochmal auf meine Frage zurückzukommen.
Welchen Sinn hat es dem Control via Event den Tooltiptext zuzuweisen?
Meines Erachtens nach, ist das überflüssig. Hast du es einmal versucht indem du den Text direkt dem Control zuweist - also ohne das Event zu nutzen?
Ändert sich der Text während der Laufzeit?
LG Markus
Hi Markus,
okay, vielleicht reden wir aneinander vorbei.
Ich habe auch ohne Event Zuweisung schon versucht, indem ich eben in den Eigenschaften des Textfeldes unter dem Reiter Andere --> SteuerelementTipText befüllt habe. Ich gehe davon aus, dass du das meinst mit "..Text direkt dem Control zuweisen". Ansonsten habe ich eine Lücke was das anwenden dieser TipText Geschichte angeht :(.
ZitatÄndert sich der Text während der Laufzeit.
Nein, genauer gefragt was meinst du mit ändern?
Gruß Andreas
Hi,
welche Form der Darstellung verwendest Du: Formular, Endlos, Tabelle?
Harald
Hallo Harald,
es ist ein Formular, kein Endlos oder Tabelle.
Gruß Andreas
Hallo Andreas,
kann es sein, das ein anderes Element (z.B. ein Rechteck) über Deinem Steuerelement liegt?
Was passiert, wenn Du das in Frage kommende Steuerelement in den Vordergrund holst?
Harald
Moin Harald,
das habe ich auch schon gemacht und in der Tat, wenn ich Glück habe, dann poppt vielleicht einmal der Eintrag auf. Schließe ich die DB, dann kommt es nicht mehr. Also ich denke, dass es kein probater Weg ist, dass man damit arbeitet. Ich habe jetzt auch sehr viel gelesen, dass es da wohl wirklich viele Probleme geben kann. Da steht der Aufwand nicht zur Relation mit dem Nutzen :(. Wenn man sich das unten verlinkte Video anschaut, das wäre schon nett, wie auch immer man das einbaut mit dem Code. Wenn man das downloaded ist im VBA acwztool verfügbar. Aber wie ich das jetzt nutze mit dem Endergebnis wie im Video, da bin ich planlos :(:
https://www.youtube.com/watch?v=DDFZ1S2D8s0 (https://www.youtube.com/watch?v=DDFZ1S2D8s0)
Gruß Andreas
Hallo nochmal, Andreas,
ich denke, dein Ansatz ist insofern falsch, als du ihn im falschen Event unterbringst, was ja auch schon gesagt wurde.
Ich habe z. B. ein Kalender-Formular mit fast 500 Feldern, denen ich zur Laufzeit Tooltips zuweise (wenn sich etwas an diversen Comboboxen ändert) und damit keine Probleme.
Versuch doch bitte, dich vom Feld-Event "Bei Hineingehen" zu lösen und deine Zuordnungen in andere, formular-spezifische Events zu verlagern.
lg
crystal
Hi Crystal,
hab mich schon gelöst, weiss aber nicht, was du mit Formular spezifische Events meinst. Kannst du mir da mal ein einfaches Beispiel geben? Bin nicht der Access-Profi, den mein Profil ausgibt :-\
Gruß Andreas
Hi Andreas,
damit meine ich Events, die das Formular insgesamt befreffen, z.B.
beim Laden
beim Anzeigen
(im Eigenschaften-Fenster sichbar, wenn du das gesamte Formular anwählst -> Quadrat oben links in der Ecke).
lg
crystal
Hi Crystal,
okay, da habe ich ja einige Ereignisprozeduren, was das Formular betrifft, insgesamt 6 (sorry war auf dem Schlauch gestanden). Aber dennoch, weiß ich nicht, wie man jetzt über diesen Weg definieren kann, dass wenn man irgend ein Feld im Formular befüllt, ich hier eine ToolTip hinterlegen kann. Das meinte ich mit Beispiel. Ich habe ja hier zwar eine Unmenge an Möglichkeiten, welche man nutzen kann, z.B. Bei Maustaste auf oder was auch immer. Muss darüber dann alle Quickinfos generieren, z.B. so?
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Me.txtVerzeichnisname.ControlTipText = "Hier muss die Eingabe-Konvention beachtet werden"
End Sub
Sorry, Thema geht mir nicht in den Schädel :(.
Gruß Andreas
Lieber Andreas,
du denkst leider völlig falsch.
Das Anzeigen des Tooltipps wird nicht über einen Event gesteuert, sondern automatisch von Access (wurde hier aber auch schon gesagt).
Du musst nur den Text zuweisen, das war's.
Private Sub Form_Load()
Me.txtVerzeichnisname.ControlTipText = "Hier muss die Eingabe-Konvention beachtet werden"
End Sub
Der ControlTipText ist ein Attribut des Steuerelements, so wie Farbe, Schriftart, Position, Größe usw.
lg
crystal
Hi,
okay, da hast du recht was das denken angeht :(. Ich habe das jetzt mal in Ereignis beim laden mit reingepackt, hab das ganze mal eingedampft was den Text angeht. Aber dennoch wird nichts angezeigt.
Private Sub Form_Load()
Me.txtUser = Environ("USERNAME")
Me.txtVerzeichnisname.ControlTipText = "Test"
End Sub
Das Thema Environ geht, nur das Thema ControlTipText nicht. Der Name des Textfeldes passt, insofern lass ich es jetzt gut sein. Vielleicht liegt es wirklich an Office 2016, dass es einen Bug hat.
Gruß und Danke für die Unterstützung
Andreas
Hallo Andreas,
bei mir (Acc2016) funktioniert es ohne Probleme.
Füge in dein Formular doch mal ein Textfeld ein (txtDummy) und den Code
in form_load
me.txtdummy.controltiptext = "Hurra!"
Was passiert dann, wenn du den Cursor auf das Feld bewegst (nicht klicken)?
lg
crystal
Hi,
vielleicht hilft es:
- neue Datenbank unter a2016 anlegen
- neues Formular anlegen
- dort einem Steuerelement die tip-Eigenschaft zuweisen
- und kontrollieren, ob das funktioniert.
Hintergrund:
Vielleicht ist ja die Datenbank oder das Formular angeschossen.
Harald
Hi Crystal,
Zitat von: crystal am Januar 04, 2017, 18:12:37
Füge in dein Formular doch mal ein Textfeld ein (txtDummy) und den Code
in form_load
me.txtdummy.controltiptext = "Hurra!"
Was passiert dann, wenn du den Cursor auf das Feld bewegst (nicht klicken)?
hab ein Textfeld erstellt, abgeändert auf txtdummy, Code ergänzt
Private Sub Form_Load()
Me.txtUser = Environ("USERNAME")
Me.txtdummy.ControlTipText = "Hurra!"
End SubDB neu gestartet, mit der Maus aufs Feld bewegt aber nichts passiert.
Gruß Andreas
Hi,
also dann weiß ich auch nicht mehr...
Bitte befolge den Rat von Harald.
lg
crystal