OVH Cloud OVH Cloud

Liste déroulante

2 réponses
Avatar
jask
Bonjour,

Malgr=E8s les nombreux posts au sujet du contr=F4le Combo-box, je ne suis
malheureusement pas tomb=E9 sur une solution me satisfaisant.

Actuellement, j'ai un formulaire comportant deux controles combo.
Je souhaiterais sur la base du changement de valeur de la premi=E8re
combo, s=E9lectionner une valeur dans la deuxi=E8me combo.

A l'open du formulaire je remplis les deux combo =E0 l'aide de requ=EAtes
sql (SQL Server).
Puis je s=E9lectionne un pays qui devrait me s=E9lectionner une zone
(relation 1:1), malheureusement je ne sais pas comment indiqu=E9 =E0 la
combo 2 de se positionner sur l'enregistrement concern=E9 ???

Y a t'il une solution ? le cas est il pr=E9vu ?
Pour info, mes combo sont structur=E9s chacune avec deux colonnes, la
premi=E8re =E9tant syst=E9matiquement la cl=E9 primaire des tables
concern=E9es.

Lors de la s=E9lection de la combo pays une requ=EAte sql va chercher la
cl=E9 =E9trang=E8re de la table zone. puis en vba j'essaie de positionner
la valeur de la combo zone sur cette cl=E9.

Dans l'espoir d'avoir =E9t=E9 suffisamment clair
Lo=EFc

2 réponses

Avatar
CAIRIS
Il faut utiliser la fonction VBA Requery :
Soit un formulaire dont le nom est Form1
Soit la 1ère combo dont le nom est Combo1
Soit la 2ème combo dont le nom est Combo2

Dans l'évènement "après MAJ" de la Combo1, tu rentres une procédure
évènementielle = forms!form1!combo2.requery
Dans le contenu de ta combo2, tu prévois : SELECT champ1, champ2.... FROM
sourcedetacombo2 WHERE champ2=forms!form1!combo1
--
Catherine



Bonjour,

Malgrès les nombreux posts au sujet du contrôle Combo-box, je ne suis
malheureusement pas tombé sur une solution me satisfaisant.

Actuellement, j'ai un formulaire comportant deux controles combo.
Je souhaiterais sur la base du changement de valeur de la première
combo, sélectionner une valeur dans la deuxième combo.

A l'open du formulaire je remplis les deux combo à l'aide de requêtes
sql (SQL Server).
Puis je sélectionne un pays qui devrait me sélectionner une zone
(relation 1:1), malheureusement je ne sais pas comment indiqué à la
combo 2 de se positionner sur l'enregistrement concerné ???

Y a t'il une solution ? le cas est il prévu ?
Pour info, mes combo sont structurés chacune avec deux colonnes, la
première étant systématiquement la clé primaire des tables
concernées.

Lors de la sélection de la combo pays une requête sql va chercher la
clé étrangère de la table zone. puis en vba j'essaie de positionner
la valeur de la combo zone sur cette clé.

Dans l'espoir d'avoir été suffisamment clair
Loïc




Avatar
jask
Bonjour,

Merci pour la réponse, malheureusement, je souhaiterais passer par une
requête rédigée en Sql sur SQL Server et non indiquer en dur la
source de la combo2.

Est ce qu'il est impossible de suivre la logique :

Open Form=>Alimentation des deux combo à travers les requêtes
Sur changement Combo1=>Requery de la combo2 en se positionnant sur la
zone en rapport de la sélection Combo1 ?

J'ai essayé de passer par un combo2.value=combo1.column(0) (par
exemple) sans succès.

Merci d'avance
Loïc

CAIRIS wrote:
Il faut utiliser la fonction VBA Requery :
Soit un formulaire dont le nom est Form1
Soit la 1ère combo dont le nom est Combo1
Soit la 2ème combo dont le nom est Combo2

Dans l'évènement "après MAJ" de la Combo1, tu rentres une procédu re
évènementielle = forms!form1!combo2.requery
Dans le contenu de ta combo2, tu prévois : SELECT champ1, champ2.... FR OM
sourcedetacombo2 WHERE champ2=forms!form1!combo1
--
Catherine



Bonjour,

Malgrès les nombreux posts au sujet du contrôle Combo-box, je ne su is
malheureusement pas tombé sur une solution me satisfaisant.

Actuellement, j'ai un formulaire comportant deux controles combo.
Je souhaiterais sur la base du changement de valeur de la première
combo, sélectionner une valeur dans la deuxième combo.

A l'open du formulaire je remplis les deux combo à l'aide de requêt es
sql (SQL Server).
Puis je sélectionne un pays qui devrait me sélectionner une zone
(relation 1:1), malheureusement je ne sais pas comment indiqué à la
combo 2 de se positionner sur l'enregistrement concerné ???

Y a t'il une solution ? le cas est il prévu ?
Pour info, mes combo sont structurés chacune avec deux colonnes, la
première étant systématiquement la clé primaire des tables
concernées.

Lors de la sélection de la combo pays une requête sql va chercher la
clé étrangère de la table zone. puis en vba j'essaie de positionn er
la valeur de la combo zone sur cette clé.

Dans l'espoir d'avoir été suffisamment clair
Loïc