OVH Cloud OVH Cloud

Faire afficher un message si mauvaise "réponse".

7 réponses
Avatar
butch
Bonjour,

Suite à l'exécution d'une requête Ajout contenant un paramètre demandant à
l'usager d'inscrire une donnée, est-il possible de faire afficher un message
si l'usager inscrit une "réponse" non valide soit, pour laquelle aucune
donnée n'existe dans le champ où est placé le paramètre et, évidemment,
d'interrompre le processus d'Ajout de la requête ?

P.-S: Cette requête est lancée par un bouton de commande placé sur un
formulaire et la "réponse" de l'usager doit être inscrite dans un "TextBox"
placé sur le même form.
Notez (peut-être surtout pour Pierre "3Stone"... que je remercie encore) que
cette demande est un peu la suite du "post" concernant le regroupement de 2
requêtes.
--
Merci pour votre aide :-)
Butch

P.-S: Pour écrire à mon adresse personnelle S.V.P. enlever "nospam_" devant
celle-ci.

7 réponses

Avatar
3stone
Salut,

"butch"
| Suite à l'exécution d'une requête Ajout contenant un paramètre demandant à
| l'usager d'inscrire une donnée, est-il possible de faire afficher un message
| si l'usager inscrit une "réponse" non valide soit, pour laquelle aucune
| donnée n'existe dans le champ où est placé le paramètre et, évidemment,
| d'interrompre le processus d'Ajout de la requête ?
|
| P.-S: Cette requête est lancée par un bouton de commande placé sur un
| formulaire et la "réponse" de l'usager doit être inscrite dans un "TextBox"
| placé sur le même form.


Hors de la conversation... difficile de me souvenir précisement ;-)

Si je comprends bien, tu lance une requête et tu souhaite savoir
si le critère à permis de faire une mise à jour ?

Selon la construction, vérifier la propriété .ReordsAffected
ou si l'utilisateur doit saisir une donnée qui existe déjà dans la table
il serait intérressant de lui présenter une liste avec ces données.
Il n'a plus qu'à sélectionner...


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
butch
Bonjour Pierre,

Voici quelques précisions concernant ma question dans ce "post".

Un formulaire contenant un "TextBox" dans lequel "TextBox" l'usager doit
inscrire une donnée (réponse) sous la forme 2001/2002 représentant une année
d'opération parmi plusieurs autres années (ex: 2000/2001 - 2001/2002 -
2002/2003 etc.) contenues dans un champ de table.

Sur le même formulaire, un bouton de commande exécutant une requête AJOUT
permettant d'ajouter des données à une autre table de la BD en fonction de
l'année d'opération inscrite par l'usager dans le "TextBox". La requête
AJOUT vient chercher le paramètre dans le "TextBox" où l'usager à inscrit
l'année d'opération.

Le champ de la table où les années d'opération sont stockées peut contenir
plusieurs fois la même année d'opération.

Ma question :
Si l'usager inscrit soit une mauvaise année d'opération (ex: par erreur, il
inscrit 2000/2000 ou 2000/2002 etc.) ou encore inscrit une année d'opération
non existante encore dans la table (ex: 2010/2011), faire alors afficher un
message lui indiquant que l'année d'opération inscrite est non valable. À ce
moment, pouvoir stopper l'opération de la requête AJOUT et permettre à
l'usager de retourner au formulaire afin de corriger l'année inscrite dans le
"TextBox".

Je ne sais pas si tout cela est possible. Si oui, comment créer ce message
et où le placer ?
--
Merci pour votre aide :-)
Butch

P.-S: Pour écrire à mon adresse personnelle S.V.P. enlever "nospam_" devant
celle-ci.



Salut,

"butch"
| Suite à l'exécution d'une requête Ajout contenant un paramètre demandant à
| l'usager d'inscrire une donnée, est-il possible de faire afficher un message
| si l'usager inscrit une "réponse" non valide soit, pour laquelle aucune
| donnée n'existe dans le champ où est placé le paramètre et, évidemment,
| d'interrompre le processus d'Ajout de la requête ?
|
| P.-S: Cette requête est lancée par un bouton de commande placé sur un
| formulaire et la "réponse" de l'usager doit être inscrite dans un "TextBox"
| placé sur le même form.


Hors de la conversation... difficile de me souvenir précisement ;-)

Si je comprends bien, tu lance une requête et tu souhaite savoir
si le critère à permis de faire une mise à jour ?

Selon la construction, vérifier la propriété .ReordsAffected
ou si l'utilisateur doit saisir une donnée qui existe déjà dans la table
il serait intérressant de lui présenter une liste avec ces données.
Il n'a plus qu'à sélectionner...


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/




Avatar
3stone
Salut,

"butch"
| Voici quelques précisions concernant ma question dans ce "post".
|
| Un formulaire contenant un "TextBox" dans lequel "TextBox" l'usager doit
| inscrire une donnée (réponse) sous la forme 2001/2002 représentant une année
| d'opération parmi plusieurs autres années (ex: 2000/2001 - 2001/2002 -
| 2002/2003 etc.) contenues dans un champ de table.
|
| Sur le même formulaire, un bouton de commande exécutant une requête AJOUT
| permettant d'ajouter des données à une autre table de la BD en fonction de
| l'année d'opération inscrite par l'usager dans le "TextBox". La requête
| AJOUT vient chercher le paramètre dans le "TextBox" où l'usager à inscrit
| l'année d'opération.
|
| Le champ de la table où les années d'opération sont stockées peut contenir
| plusieurs fois la même année d'opération.
|
| Ma question :
| Si l'usager inscrit soit une mauvaise année d'opération (ex: par erreur, il
| inscrit 2000/2000 ou 2000/2002 etc.) ou encore inscrit une année d'opération
| non existante encore dans la table (ex: 2010/2011), faire alors afficher un
| message lui indiquant que l'année d'opération inscrite est non valable. À ce
| moment, pouvoir stopper l'opération de la requête AJOUT et permettre à
| l'usager de retourner au formulaire afin de corriger l'année inscrite dans le
| "TextBox".


Donc, cela revient à dire que l'utilisateur ne peut saisir dans cette zone de texte
que des données qui existe déjà dans une table ?

Dans ce cas, il faut absolument remplacer cette zone de texte par une
liste modifiable (combobox)

Crée cette liste avec l'assistant et indique la bonne table et le bon champ.


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
butch
Bonjour Pierre,

"Pierre a écrit..." :
Donc, cela revient à dire que l'utilisateur ne peut saisir dans cette zone de texte
que des données qui existe déjà dans une table ?


C'est ça !

"Pierre a écrit..." :
Dans ce cas, il faut absolument remplacer cette zone de texte par une
liste modifiable (combobox)


Est-ce que Liste modifiable (combobox) = Zone de liste ou Zone de liste
déroulante ?

J'ai essayé les 2 (liste et liste déroulante) mais, dans les 2 cas, étant
donné que le champ d'où proviennent les données de la liste contient
plusieurs fois la même données (...et il faut qu'il en soit ainsi dans ce
champ de table), en ouvrant la liste on voit donc plusieurs fois la même
année d'opération. Pas correct !

Actuellement, la zone de texte, le bouton de commande et la requête AJOUT
fonctionnent parfaitement bien.

J'essaie seulement de trouver le moyen de faire afficher un message
personnalisé si l'usager commet une erreur en inscrivant une fausse donnée
dans la zone de texte servant de "réponse" à la requête AJOUT. Cette requête
contient un paramètre et utilise la "réponse" inscrite dans la zone de texte
du formulaire comme critère d'exécution !

Si cela n'est possible qu'à partir d'une zone de liste ou zone de liste
déroulante, alors comment empêcher les "doubles" (beaucoup) d'une même année
d'opération en ouvrant la liste ?

--
Merci pour votre aide :-)
Butch

P.-S: Pour écrire à mon adresse personnelle S.V.P. enlever "nospam_" devant
celle-ci.
______________________

| Voici quelques précisions concernant ma question dans ce "post".
|
| Un formulaire contenant un "TextBox" dans lequel "TextBox" l'usager doit
| inscrire une donnée (réponse) sous la forme 2001/2002 représentant une année
| d'opération parmi plusieurs autres années (ex: 2000/2001 - 2001/2002 -
| 2002/2003 etc.) contenues dans un champ de table.
|
| Sur le même formulaire, un bouton de commande exécutant une requête AJOUT
| permettant d'ajouter des données à une autre table de la BD en fonction de
| l'année d'opération inscrite par l'usager dans le "TextBox". La requête
| AJOUT vient chercher le paramètre dans le "TextBox" où l'usager à inscrit
| l'année d'opération.
|
| Le champ de la table où les années d'opération sont stockées peut contenir
| plusieurs fois la même année d'opération.
|
| Ma question :
| Si l'usager inscrit soit une mauvaise année d'opération (ex: par erreur, il
| inscrit 2000/2000 ou 2000/2002 etc.) ou encore inscrit une année d'opération
| non existante encore dans la table (ex: 2010/2011), faire alors afficher un
| message lui indiquant que l'année d'opération inscrite est non valable. À ce
| moment, pouvoir stopper l'opération de la requête AJOUT et permettre à
| l'usager de retourner au formulaire afin de corriger l'année inscrite dans le
| "TextBox".


Avatar
3stone
re,

"butch"
| C'est ça !

et donc la liste...


| "Pierre a écrit..." :
| > Dans ce cas, il faut absolument remplacer cette zone de texte par une
| > liste modifiable (combobox)
|
| Est-ce que Liste modifiable (combobox) = Zone de liste ou Zone de liste
| déroulante ?


une liste modifiable (déroulante)

combobox = liste modifiable
listbox = zone de liste



| Si cela n'est possible qu'à partir d'une zone de liste ou zone de liste
| déroulante, alors comment empêcher les "doubles" (beaucoup) d'une même année
| d'opération en ouvrant la liste ?


- ta liste créée par l'assistant est basé sur une requête,
dans laquelle tu as choisis *un* champ
- place cette requête en mode création et clique à droite a coté de la table
et choisis les propriétés
- là tu mets les "Valeurs distinctes" à Oui
- tu peux aussi en profiter pour fixer le tri du champ

referme ta requete en cliquant oui... et teste ta liste ;-)


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
butch
Bonjour Pierre,

Eureka ! J'ai compris... et... ça marche ! MERCI !

Bon, quelques précisions tout de même pour te dire que je ne comprenais pas,
dans tes réponses, que tu ne mentionnais jamais comment créer le "message
d'erreur" si l'usager inscrivait une mauvaise donnée. En créant le requête
avec Valeurs Uniques et en créant une liste de choix basée sur celle-ci... la
lumière s'est faite ! Pas besoin de message d'erreur... c'est bien ça ?
GROS MERCI.
--
Merci pour votre aide :-)
Butch

P.-S: Pour écrire à mon adresse personnelle S.V.P. enlever "nospam_" devant
celle-ci.
Avatar
3stone
Salut,

"butch"
|
| Eureka ! J'ai compris... et... ça marche ! MERCI !

Tu assimile et tu t'en souvient pour la prochaîne fois ;-)


| Bon, quelques précisions tout de même pour te dire que je ne comprenais pas,
| dans tes réponses, que tu ne mentionnais jamais comment créer le "message
| d'erreur" si l'usager inscrivait une mauvaise donnée. En créant le requête
| avec Valeurs Uniques et en créant une liste de choix basée sur celle-ci... la
| lumière s'est faite ! Pas besoin de message d'erreur... c'est bien ça ?

Oui... et c'est tout de même plus ergonomique que de faire saisir
dieu sait quoi dans un textbox !
Sauf si la liste devrait contenir des milliers items différents, dans ce cas on
utilise plutôt un système à deux listes.

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/