select dans contrôle

Le
Jean Marc
Bonjour
Dans une base annuaire (access 2003) j'ai un controle "code postal" et un
controle "ville" basés sur deux champs d'une table.
Dans le controle "ville" j'ai fait un select en fonction du code postal entré
précédemment.
Jusque là tout va bien mais je me suis avisé que l'utilisateur pouvait connaître
le nom de la ville et pas le code postal et donc remplur ce champs avant
l'autre.

Question : peut-on mettre une instruction if then else dans la propriété
"contenu" d'un controle, en plus du select ?

En espérant avoir été clair, je vous remercie par avance.


Jean Marc
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Fabien
Le #6300501
Bonjour
Dans une base annuaire (access 2003) j'ai un controle "code postal" et un
controle "ville" basés sur deux champs d'une table.
Dans le controle "ville" j'ai fait un select en fonction du code postal entré
précédemment.
Jusque là tout va bien mais je me suis avisé que l'utilisateur pouvait connaître
le nom de la ville et pas le code postal et donc remplur ce champs avant
l'autre.

Question : peut-on mettre une instruction if then else dans la propriété
"contenu" d'un controle, en plus du select ?

En espérant avoir été clair, je vous remercie par avance.


Jean Marc


Bonjour Jean Marc

Ton controle code postal est une liste dont la source de données est une
table ?
Lorsque tu saisi ou choisit un code dans cette liste, sur l'evenement
apres mise a jour tu affectes le nom de la ville correspondante au champ
Ville. Me.[Ville]=Dlookup("[Ville]","TableCPetVille","[CP]='" &
me.listeCP &"'")
Ton controle Ville est lui aussi une liste liée a une table. Donc Meme
combat, Sur l'evenement aprés mise a jour tu affecte au champs code
postal la valeur correspondante a la ville.
Me.[Code Postal]=Dlookup("[CP]","TableCpEtVille","[Ville]='" &
Me.ListeVille & "'" )
et le tour est joué.
Si mes hypothéses sont fausses ben si elles étaient vrai, ce serait plus
simple pour toi ;-)

A affiner peut-être pour ce qui est du lien CP-Ville car plusieurs
villes/villages peuvent avoir le même CP.
Dans ce cas il faudrait limiter la liste des villes aux seules ayant le
même CP.
Tu agirait alors sur la propriété me.listeVille.rowsource
La procedure apres mise a jour pourrait avoir cette tête là
If Dcout("[Ville]","TableCPetVille","[CP]='" & me.listeCP &"'")>0 then
Me.listeville.RowSource = "select [Ville] from [TableCpEtVille] where
[CP]='" & me.[listeCP] & "'"
Me.listeville.requery
else
Me.listeVille=Dlookup("[Ville]","TableCPetVille","[CP]='" & me.listeCP
&"'")
End if
A voir ......

Jean Marc
Le #6300461
"Fabien" 46ad90b9$0$5095$

Si mes hypothéses sont fausses ben si elles étaient vrai, ce serait plus
simple pour toi ;-)


Un quart d'heure après son post sa base était encore vivante !

Ton code fonctionne.
Il me reste plus qu'à remettre le procesus au départ si l'utilisateur "joue" en
passant d'un code à une ville, puis d"une ville à un code. Car dans ce cas, j'ai
testé, le choix des villes reste bloqué sur l'essai précédent.

Ils sont fatiguants les utilisateurs, il faut penser à toutes leurs idées :-)

Merci pour tout

Jean Marc

Publicité
Poster une réponse
Anonyme