Bonjour à tous,
Je sollicite le forum sur cette question d'une instruction combobox.dropdown que j'ai placée dans une procédure BeforeUpdate dudit combobox et qui ne fonctionne pas. En quelques mots :
- J'ai un formulaire dont la source est une table de ma base access, en feuille de réponse dynamique
- Dans ce formulaire j'ai un combobox (dont le nom est "Status") qui est chargé par une liste depuis un serveur SQL. Ce comobobox est limité à la liste chargée, n'autorise pas les modifications des éléments de la liste. (La liste est en fait un tableau de 3 colonnes dont la première fait le lien avec la table source de mon formulaire).
- Logiquement quand je rentre une valeur différente de la liste dans le combo j'ai le message d'erreur Access me disant que je ne peux pas rentrer une valeur qui n'est pas dans la liste.
- En revanche si je rentre la valeur null, ce message n'apparait pas, ce qui ne me choque pas puisque la valeur null ne peut pas se comparer aux valeurs de la liste
- J'utilise donc l'évènement BeforeUpdate du combo pour gérer le cas où la valeur null est rentrée.
- Lorsque la valeur null est détectée j'annule l'update, je génère un ESCAPE pour retrouver ma valeur précédente et je voudrais que ma liste se déroule pour inciter l'utilisateur à choisir dans la liste...
C'est là qu'est le problème : l'entrée de la valeur null est bien annulée, je retrouve la valeur précédente mais l'instruction combobox.dropdown est inopérante et la liste ne se déroule pas. Le focus est pourtant bien sur le combo en question. Auriez-vous une piste ?
Merci pour votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Public Sub Status_BeforeUpdate(Cancel As Integer) If IsNull(Me.Controls("Status")) Then MsgBox "Status cannot be blank" Cancel = True SendKeys "{ESC}" Me.Controls("Status").Dropdown End If End Sub
Stargates
Partager