---Soumis par Dev Ashish---
Utiliser l'info bulle (ControlTipText) pour afficher une valeur.
(Q) Certains de mes enregistrements ont des valeurs qui dépasse les limites du contrôle. Puis-je afficher toute l'information sans que l'usager n'ait à cliquer sur le champ, ni à utiliser de clé du clavier pour accéder à toute l'information?
(A) Les contrôle d'un formulaire Access ont la propriété ControlTipText (le truc sur fond jaune qui surgit (popup) lorsque vous laissez le curseur de souris sur le contrôle, sans bouger, pour quelque temps). Cette propriété peut être utilisée pour afficher la valeur complète du contrôle.
Noter que si le formulaire est en continue, modifier cette propriété modifie celle du même contrôle de tous les enregistrements.
Noter également que sShowToolTip fonctionne tout aussi bien pour des combo box. En supposant qu'il y a deux colonnes, un champ ID de référence et un champ descriptif, la procédure choisi la seconde colonne. J'impose la condition columnCount=2 car avec plus de deux colonnes, il est difficile de déterminer laquelle doit être affichée.
Couper-coller cette procédure dans un nouveau module.
'**************** Code Start ************** Public Sub sShowToolTip(frm As Form) Dim ctl As Control, i As Integer On Error Resume Next For Each ctl In frm.Controls With ctl If .ControlType = acTextBox Then .ControlTipText = .value ElseIf .ControlType = acComboBox Then If .ColumnCount = 2 And .value <> "" Then .ControlTipText = .Column(.BoundColumn) End If End If End With Next ctl Set ctl = Nothing: Set frm = Nothing End Sub '**************** Code End ****************
Maintenant, dans la procédure événementielle Current du formulaire, utiliser quelque chose du genre
Private Sub Form_Current()
Call sShowToolTip(me)
End Sub
S'il vous faut mettre-à-jour l'information, après un modification par exemple, simplement appeler la même sous-routine à nouveau.
Private Sub SomeTextBox_AfterUpdate()
Call sShowToolTip(me)
End Sub