Bonjour,
Au niveau du formulaire il n'y a aucune difficulté je pense, une formulaire ouvert en mode dialog contenant une zone de texte (nommée ztReponse) et son étiquette et un bouton ok, sur lequel il faut mettre une instruction de fermeture :
docmd.close acform,me.name
Pour la commande de lancement du formulaire c'est ça :
docmd.openform "frmDialogbox",acNormal ,,,,acDialog
Pour le renvoi de la valeur c'est un peu plus compliqué.
Il faut utiliser une variable globale (visible dans toute l'application) et une fonction pour en renvoyer la valeur (un getteur).
Ouvre un module et après les 2 lignes du début déclare-la comme ceci :
1 2 3 4 5 6 7 8
| Option Compare Database
Option Explicit 'les 2 lignes du module
Dim vVar As variant 'la variable
Function getvVar() as variant
getvVar= vVar
end Function |
Une fois celle-ci déclarée il faut intervenir sur le formulaire.
Dans l'événement Sur Fermeture du formulaire affecte la valeur de la zone de texte à ta variable :
vVar = me.ztReponse.value
et enfin le plus gros morceau c'est le traitement de ta requête.
Chaque fois que tu as besoin de cette valeur saisie tu fais ceci :
WHERE monchamp = getvVar()
ou encore dans le générateur mettre dans sur la ligne de la condition :
Note que si tu peux combiner ça avec un like (voir mon tuto), dans ce cas remplace le = par Like et tapes tes jokers directement dans la zone de texte de formulaire.
Cordialement,
Partager