Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problème avec LimitToList de mon ComboBox

3 réponses
Avatar
domivax
Bonjour =E0 tous,

J=92ai MonFormulaire avec MonComboBox

J=92ai mis les propri=E9t=E9s de MonComboBox comme suit :

Nbre colonnes : 1
Largeurs colonnes : vide
Colonne li=E9e : 1
Limiter =E0 liste : Non

J=92ai cr=E9e un menu contextuel en regard de MonComboBox : "Look up"

Le but de la man=9Cuvre =E9tant de saisir une donn=E9e dans MonComboBox,
cliquer "Look up" et alimenter MonComboBox avec une requ=EAte avec le
crit=E8re saisi initialement dans MonComboBox.

Voici ma fonction attach=E9e au "Look up"

Function CallQueryLookUp()
Dim MyVariant As Variant

MyVariant =3D Forms!MonFormulaire.MonComboBox.Value

Forms!MonFormulaire.MonComboBox.RowSource =3D ""
Forms!MonFormulaire.MonComboBox.ColumnCount =3D 1
Forms!MonFormulaire.MonComboBox.ColumnWidths =3D ""
Forms!MonFormulaire.MonComboBox.BoundColumn =3D 1
Forms!MonFormulaire.MonComboBox.LimitToList =3D False

Forms!MonFormulaire.MonComboBox.Value =3D MyVariant

Forms!MonFormulaire.MonComboBox.ColumnCount =3D 4
Forms!MonFormulaire.MonComboBox.ColumnWidths =3D "0cm;8.5cm;0cm;2cm"
Forms!MonFormulaire.MonComboBox.ListWidth =3D 6300
Forms!MonFormulaire.MonComboBox.LimitToList =3D True


MyQuery =3D "SELECT MaTable.MonChampId, MaTable.MonChampName,
MaTable.MonChampStatus, IIf([MonChampStatus]=3DTrue,'Active','Inactive')
AS MonChampStatusActiveInactive " _
& "FROM MaTable " _
& "WHERE (((MaTable.MonChampName)Like ""*" & [MyVariant] &
"*"");"

Forms!MonFormulaire.MonComboBox.RowSource =3D MyQuery
End Function

Alors mon code marche bien pour la premi=E8re donn=E9e =E0 rechercher (sauf
que : autre probl=E8me, je dois faire un Enter avant de lancer la
fonction "Look up", comme pour valider ma donn=E9e) mais ne fonctionne
plus pour la deuxi=E8me recherche. J=92ai visiblement un probl=E8me avec le
param=E8tre .LimitToList qui est maintenant =E0 True.

1) Comment faire pour lors de la saisie d=92une nouvelle donn=E9e =E0
rechercher dans MonComboBox, remettre le champ MonComboBox =E0 vide avec
les propri=E9t=E9s initiaux.

2) Comment =E9viter ce fameux Enter pour valider ma donn=E9e ?

J=92esp=E8re avoir =E9t=E9 clair.
Merci pour votre aide.
A bient=F4t.
Xavier

3 réponses

Avatar
RaphK34
Salut,
je ne comprends pas, c'est quoi le but de ta combobox ?

--
@+ Raph.

--------------------------------------------
Merci de répondre sur le NG
Toutes remarques bienvenues !
--------------------------------------------
a écrit dans le message de news:

Bonjour à tous,

J’ai MonFormulaire avec MonComboBox

J’ai mis les propriétés de MonComboBox comme suit :

Nbre colonnes : 1
Largeurs colonnes : vide
Colonne liée : 1
Limiter à liste : Non

J’ai crée un menu contextuel en regard de MonComboBox : "Look up"

Le but de la manœuvre étant de saisir une donnée dans MonComboBox,
cliquer "Look up" et alimenter MonComboBox avec une requête avec le
critère saisi initialement dans MonComboBox.

Voici ma fonction attachée au "Look up"

Function CallQueryLookUp()
Dim MyVariant As Variant

MyVariant = Forms!MonFormulaire.MonComboBox.Value

Forms!MonFormulaire.MonComboBox.RowSource = ""
Forms!MonFormulaire.MonComboBox.ColumnCount = 1
Forms!MonFormulaire.MonComboBox.ColumnWidths = ""
Forms!MonFormulaire.MonComboBox.BoundColumn = 1
Forms!MonFormulaire.MonComboBox.LimitToList = False

Forms!MonFormulaire.MonComboBox.Value = MyVariant

Forms!MonFormulaire.MonComboBox.ColumnCount = 4
Forms!MonFormulaire.MonComboBox.ColumnWidths = "0cm;8.5cm;0cm;2cm"
Forms!MonFormulaire.MonComboBox.ListWidth = 6300
Forms!MonFormulaire.MonComboBox.LimitToList = True


MyQuery = "SELECT MaTable.MonChampId, MaTable.MonChampName,
MaTable.MonChampStatus, IIf([MonChampStatus]=True,'Active','Inactive')
AS MonChampStatusActiveInactive " _
& "FROM MaTable " _
& "WHERE (((MaTable.MonChampName)Like ""*" & [MyVariant] &
"*"");"

Forms!MonFormulaire.MonComboBox.RowSource = MyQuery
End Function

Alors mon code marche bien pour la première donnée à rechercher (sauf
que : autre problème, je dois faire un Enter avant de lancer la
fonction "Look up", comme pour valider ma donnée) mais ne fonctionne
plus pour la deuxième recherche. J’ai visiblement un problème avec le
paramètre .LimitToList qui est maintenant à True.

1) Comment faire pour lors de la saisie d’une nouvelle donnée à
rechercher dans MonComboBox, remettre le champ MonComboBox à vide avec
les propriétés initiaux.

2) Comment éviter ce fameux Enter pour valider ma donnée ?

J’espère avoir été clair.
Merci pour votre aide.
A bientôt.
Xavier
Avatar
domivax
Salut,

Le but de la ComboBox, c'est de faire un choix dans la liste de nos
fournisseurs, ensuite cette donnée (avec d'autres données, date,
montant, monnaie etc) alimentent une autre table. Le but du Look up
c'est de simplifier la recherche dans la liste des fournisseurs qui va
devenir très étoffée à la longue.
Avatar
RaphK34
Re,
Pour rafraichir la liste, je te propose un refresh de ta combo à la fin de
ta sub!
Pour le reste, je trouve ça très complexe, ne serait-il pas plus simple
defaire des listbox imbriquées ?
Je pense que ce sera plus simple pour toi et pour les utilisateurs ...

--
@+ Raph.

--------------------------------------------
Merci de répondre sur le NG
Toutes remarques bienvenues !
--------------------------------------------
a écrit dans le message de news:

Salut,

Le but de la ComboBox, c'est de faire un choix dans la liste de nos
fournisseurs, ensuite cette donnée (avec d'autres données, date,
montant, monnaie etc) alimentent une autre table. Le but du Look up
c'est de simplifier la recherche dans la liste des fournisseurs qui va
devenir très étoffée à la longue.