Bonjour,
J'apprends à coder en VBA sous Access, et ne connais presque rien à l'informatique encore moins au code... alors votre aide me serait très précieuse !
En deux mots, ce que je cherche à obtenir :
j'ai un formulaire, qui me permet d'ouvrir d'autres formulaires
j'ai créé une zone de liste déroulante (avec des noms de ville) avec à côté un bouton de commande appelé "Rechercher"
je voudrais que, lorsque je sélectionne une ville dans la zone de liste déroulante, puis que je clique sur le bouton de commande, la macro ouvre le formulaire "ville" au niveau du bon enregistrement (celui que j'ai sélectionné dans la liste déroulante)
Et c'est là que ça bloque !
Voici mes bouts de code :
- celui-là fonctionne, car j'ai marqué directement le nom du fonds :
Private Sub Commande28_Click()
DoCmd.OpenForm "ville", acNormal, , "nomville = 'BLAH'", acReadOnly, acWindowNormal
End Sub
- mais quand je remplace le nom du fonds par un bout de code qui va requêter le texte sélectionné dans la case de la liste déroulante (comme ci-dessous), ça ne marche plus. Le formulaire "ville" s'ouvre sur le premier enregistrement et non pas celui que je veux :
Private Sub Commande28_Click()
DoCmd.OpenForm "ville", acNormal, , , acReadOnly, , "nomville = '" & Modifiable26.Value & "'"
End Sub
- autre tentative, autre résultat : j'ai positionné mon code qui va chercher l'info dans la case de liste déroulante non pas au niveau de l'argument ArgOuverture, mais plutôt au niveau de l'argument ConditionWhere :
Private Sub Commande28_Click()
DoCmd.OpenForm "ville", acNormal, , "nomville = 'Modifiable26.Value'", acReadOnly
End Sub
Dans ce cas-ci, le résultat est encore pire : le formulaire ville semble s'ouvrir, mais en fait, c'est juste une fenêtre complètement vide.
Merci d'avance de votre aide si vous avez une petite idée !
