Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

condition si

6 réponses
Avatar
URIANE
Bonjour, je souhaiterais lors de l'ouverture d'un formulaire qui s'ouvre avec
une condition à partir d'une table avoir un message d'erreur de saisie je
m'explique.
Mon for est issu d'une requête qui m'oblige à saisir un nom, si le nom a un
homonyme une condition me le signale, m'ouvre un form intermédiaire qui
m'oblige à sélectionner le nom désiré, ce que je souhaite en plus c'est que
si je tape en faisant une erreur de saisie donc que le nom n'existe pas avoir
un message d'erreur avec une invite qui m'oblige à resaisir le nom
correctement pouvez vous m'aider par avance je vous en remercie.

6 réponses

Avatar
3stone
Salut,

"URIANE"
| Bonjour, je souhaiterais lors de l'ouverture d'un formulaire qui s'ouvre avec
| une condition à partir d'une table avoir un message d'erreur de saisie je
| m'explique.
| Mon for est issu d'une requête qui m'oblige à saisir un nom, si le nom a un
| homonyme une condition me le signale, m'ouvre un form intermédiaire qui
| m'oblige à sélectionner le nom désiré, ce que je souhaite en plus c'est que
| si je tape en faisant une erreur de saisie donc que le nom n'existe pas avoir
| un message d'erreur avec une invite qui m'oblige à resaisir le nom
| correctement pouvez vous m'aider par avance je vous en remercie.


Comme tu ne dis rien du comment tu as fait...

C'est à l'endroit ou la condition te dis qu'il y a un homonyme, que tu dois
inclure la gestion du "n'existe pas" et agir en conséquence ;-)

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Avatar
URIANE
VOICI ma formule magique :
Dim stDocName As String
If DCount("*", "tb_listeAgts", "Nom_usuel='" & Me.Nom_usuel & "'") > 1 Then

MsgBox " Attention ce nom existe avec différents numéros de matricule
veuillez sélectionner le numéro de matricule dans liste jointe !!"
stDocName = "ouvrir_fermer.ouvresimilaire0"
DoCmd.RunMacro stDocName
End If
Merci de me dire ce que je dois rajouter


Salut,

"URIANE"
| Bonjour, je souhaiterais lors de l'ouverture d'un formulaire qui s'ouvre avec
| une condition à partir d'une table avoir un message d'erreur de saisie je
| m'explique.
| Mon for est issu d'une requête qui m'oblige à saisir un nom, si le nom a un
| homonyme une condition me le signale, m'ouvre un form intermédiaire qui
| m'oblige à sélectionner le nom désiré, ce que je souhaite en plus c'est que
| si je tape en faisant une erreur de saisie donc que le nom n'existe pas avoir
| un message d'erreur avec une invite qui m'oblige à resaisir le nom
| correctement pouvez vous m'aider par avance je vous en remercie.


Comme tu ne dis rien du comment tu as fait...

C'est à l'endroit ou la condition te dis qu'il y a un homonyme, que tu dois
inclure la gestion du "n'existe pas" et agir en conséquence ;-)

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)




Avatar
3stone
re,

"URIANE"
| VOICI ma formule magique :
| Dim stDocName As String
| If DCount("*", "tb_listeAgts", "Nom_usuel='" & Me.Nom_usuel & "'") > 1 Then
|
| MsgBox " Attention ce nom existe avec différents numéros de matricule
| veuillez sélectionner le numéro de matricule dans liste jointe !!"
| stDocName = "ouvrir_fermer.ouvresimilaire0"
| DoCmd.RunMacro stDocName
| End If

et donc ?

Dim stDocName As String
Dim iNbre As Integer

iNbre = Nz(DCount("*", "tb_listeAgts", "Nom_usuel='" & Me.Nom_usuel & "'"),0)

If iNbre > 1 Then
MsgBox " Attention ce nom existe avec différents numéros de matricule." _
& "Veuillez sélectionner le numéro de matricule dans liste jointe !!"
stDocName = "ouvrir_fermer.ouvresimilaire0"
DoCmd.RunMacro stDocName
elseif iNbre = 0 Then
Msgbox "il y a gourage ;-) "
exit sub
End If


Remarque que j'ai ajouté le traitement du Null !!


| Merci de me dire ce que je dois rajouter

c'est fait ;-)

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Avatar
URIANE
Hello 3st, ta formule magique fonctionne mais mon formulaire s'ouvre, vide
,mais il s'ouvre. En fait ce que je souhaite c'est obliger l'opérateur à
resaisisir le nom correctement donc revenir au début de ma fonction et je ne
sais pas comment faire
merci


re,

"URIANE"
| VOICI ma formule magique :
| Dim stDocName As String
| If DCount("*", "tb_listeAgts", "Nom_usuel='" & Me.Nom_usuel & "'") > 1 Then
|
| MsgBox " Attention ce nom existe avec différents numéros de matricule
| veuillez sélectionner le numéro de matricule dans liste jointe !!"
| stDocName = "ouvrir_fermer.ouvresimilaire0"
| DoCmd.RunMacro stDocName
| End If

et donc ?

Dim stDocName As String
Dim iNbre As Integer

iNbre = Nz(DCount("*", "tb_listeAgts", "Nom_usuel='" & Me.Nom_usuel & "'"),0)

If iNbre > 1 Then
MsgBox " Attention ce nom existe avec différents numéros de matricule." _
& "Veuillez sélectionner le numéro de matricule dans liste jointe !!"
stDocName = "ouvrir_fermer.ouvresimilaire0"
DoCmd.RunMacro stDocName
elseif iNbre = 0 Then
Msgbox "il y a gourage ;-) "
exit sub
End If


Remarque que j'ai ajouté le traitement du Null !!


| Merci de me dire ce que je dois rajouter

c'est fait ;-)

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)




Avatar
Gloops
URIANE a écrit, le 30/01/2008 14:26 :
Hello 3st, ta formule magique fonctionne mais mon formulaire s'ouvre, v ide
,mais il s'ouvre. En fait ce que je souhaite c'est obliger l'opéra teur à
resaisisir le nom correctement donc revenir au début de ma fonctio n et je ne
sais pas comment faire
merci


Salut,

J'ai quelques neurones d'éteints, déjà, mais je pense que les autres
devraient s'en sortir.

While DCount("*", "tb_listeAgts", "Nom_usuel='" & Me.Nom_usuel & "'") < > 1
If DCount("*", "tb_listeAgts", "Nom_usuel='" & Me.Nom_usuel & "'")
= 0 Then
MsgBox "Sûr que ça s'écrit comme ça ?"
Else
MsgBox "Lequel on prend ?"
End If
Wend
DoCmd.OpenForm nomFormulaire

J'ai cru comprendre que le traitement "Lequel on prend ?" est déjà  
traité, aussi je ne me casse pas plus la tête ;)

Avatar
3stone
Salut,

"URIANE"
| Hello 3st, ta formule magique fonctionne mais mon formulaire s'ouvre, vide
| ,mais il s'ouvre. En fait ce que je souhaite c'est obliger l'opérateur à
| resaisisir le nom correctement donc revenir au début de ma fonction et je ne
| sais pas comment faire


As tu copié correctement le code ?
Ou l'a tu placé ?

Juste avant le "exit sub" tu ajoutes :

Me!NomTextBox.SetFocus


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)