Sur un formulaire, deux zones de texte indépendantes Texte12 et Texte17,
plus un bouton Cmd15.
Texte17 = Valeur par défaut =(MaxDom("An";"T_FACTURE"))
Texte12 = Zone permettant de saisir une nouvelle année
Sur événement Sur clic du bouton Cmd15, j'ai le code suivant me permettant
de valider une action si Texte12 n'est pas nul ou ne contient pas de chaine
vide, ou si Texte12 n'est pas égale à la valeur de Texte17 ....
Private Sub Cmd15_Click()
If (IsNull(Texte12) Or (Texte12 = vbNullString)) Or (Texte12 = Texte17) Then
MsgBox "Saisie obligatoire de l'année AVANT validation" & Chr(13) & "La
valeur saisie doit être différente de " & Texte17, 48, "Saisie incorrecte"
Cancel = True
....
.....
Les deux premiers critéres fonctionne bien, mais (Texte12 = Texte17) ne fait
pas ce que je veux, a savoir empêcher la suite du code si la valeur saisie
dans Texte12 est identique à Texte17.
J'ai essayer plusieurs ecriture tel (Me.Texte12.Value = Me.Texte17.Value)
mais aucun résultat.
Quelqu'un pourrait-il me donner une piste...Merci par avance
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Raymond [mvp]
Bonjour et meilleurs voeux pour 2004.
tu mets un cancel = true dans une procédure qui ne le gère pas. il faut que tu testes avant : place tes contrôles de valeurs sur Texte17_BeforeUpdate(Cancel As Integer) et là tu auras la possibilité de faire ton cancel = true et rester dans la saisie du contrôle.
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
" Samban" a écrit dans le message de news:3ff419fa$0$6976$
Bonjour à tous et à toutes..et Bonne Année 2004.
Voici mon petit PB pour l'année nouvelle.
Sur un formulaire, deux zones de texte indépendantes Texte12 et Texte17, plus un bouton Cmd15.
Texte17 = Valeur par défaut =(MaxDom("An";"T_FACTURE"))
Texte12 = Zone permettant de saisir une nouvelle année
Sur événement Sur clic du bouton Cmd15, j'ai le code suivant me permettant de valider une action si Texte12 n'est pas nul ou ne contient pas de chaine
vide, ou si Texte12 n'est pas égale à la valeur de Texte17 ....
Private Sub Cmd15_Click() If (IsNull(Texte12) Or (Texte12 = vbNullString)) Or (Texte12 = Texte17) Then
MsgBox "Saisie obligatoire de l'année AVANT validation" & Chr(13) & "La
valeur saisie doit être différente de " & Texte17, 48, "Saisie incorrecte" Cancel = True .... .....
Les deux premiers critéres fonctionne bien, mais (Texte12 = Texte17) ne fait
pas ce que je veux, a savoir empêcher la suite du code si la valeur saisie dans Texte12 est identique à Texte17. J'ai essayer plusieurs ecriture tel (Me.Texte12.Value = Me.Texte17.Value) mais aucun résultat.
Quelqu'un pourrait-il me donner une piste...Merci par avance
Bonjour et meilleurs voeux pour 2004.
tu mets un cancel = true dans une procédure qui ne le gère pas. il faut que
tu testes avant :
place tes contrôles de valeurs sur Texte17_BeforeUpdate(Cancel As Integer)
et là tu auras la possibilité de faire ton cancel = true et rester dans la
saisie du contrôle.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
" Samban" <samban@club-internet.fr> a écrit dans le message de
news:3ff419fa$0$6976$7a628cd7@news.club-internet.fr...
Bonjour à tous et à toutes..et Bonne Année 2004.
Voici mon petit PB pour l'année nouvelle.
Sur un formulaire, deux zones de texte indépendantes Texte12 et Texte17,
plus un bouton Cmd15.
Texte17 = Valeur par défaut =(MaxDom("An";"T_FACTURE"))
Texte12 = Zone permettant de saisir une nouvelle année
Sur événement Sur clic du bouton Cmd15, j'ai le code suivant me permettant
de valider une action si Texte12 n'est pas nul ou ne contient pas de
chaine
vide, ou si Texte12 n'est pas égale à la valeur de Texte17 ....
Private Sub Cmd15_Click()
If (IsNull(Texte12) Or (Texte12 = vbNullString)) Or (Texte12 = Texte17)
Then
MsgBox "Saisie obligatoire de l'année AVANT validation" & Chr(13) &
"La
valeur saisie doit être différente de " & Texte17, 48, "Saisie incorrecte"
Cancel = True
....
.....
Les deux premiers critéres fonctionne bien, mais (Texte12 = Texte17) ne
fait
pas ce que je veux, a savoir empêcher la suite du code si la valeur saisie
dans Texte12 est identique à Texte17.
J'ai essayer plusieurs ecriture tel (Me.Texte12.Value = Me.Texte17.Value)
mais aucun résultat.
Quelqu'un pourrait-il me donner une piste...Merci par avance
tu mets un cancel = true dans une procédure qui ne le gère pas. il faut que tu testes avant : place tes contrôles de valeurs sur Texte17_BeforeUpdate(Cancel As Integer) et là tu auras la possibilité de faire ton cancel = true et rester dans la saisie du contrôle.
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
" Samban" a écrit dans le message de news:3ff419fa$0$6976$
Bonjour à tous et à toutes..et Bonne Année 2004.
Voici mon petit PB pour l'année nouvelle.
Sur un formulaire, deux zones de texte indépendantes Texte12 et Texte17, plus un bouton Cmd15.
Texte17 = Valeur par défaut =(MaxDom("An";"T_FACTURE"))
Texte12 = Zone permettant de saisir une nouvelle année
Sur événement Sur clic du bouton Cmd15, j'ai le code suivant me permettant de valider une action si Texte12 n'est pas nul ou ne contient pas de chaine
vide, ou si Texte12 n'est pas égale à la valeur de Texte17 ....
Private Sub Cmd15_Click() If (IsNull(Texte12) Or (Texte12 = vbNullString)) Or (Texte12 = Texte17) Then
MsgBox "Saisie obligatoire de l'année AVANT validation" & Chr(13) & "La
valeur saisie doit être différente de " & Texte17, 48, "Saisie incorrecte" Cancel = True .... .....
Les deux premiers critéres fonctionne bien, mais (Texte12 = Texte17) ne fait
pas ce que je veux, a savoir empêcher la suite du code si la valeur saisie dans Texte12 est identique à Texte17. J'ai essayer plusieurs ecriture tel (Me.Texte12.Value = Me.Texte17.Value) mais aucun résultat.
Quelqu'un pourrait-il me donner une piste...Merci par avance
Raymond [mvp]
.../... sur texte12 qui est le contrôle de saisie. excuses.
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
.../...
sur texte12 qui est le contrôle de saisie. excuses.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
.../... sur texte12 qui est le contrôle de saisie. excuses.
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
Samban
Merci Raymond....
Mais ....heu.....ça doit être un restant des fêtes, mais je ne comprends pas trop la manip ;-)
Dans mon champ Texte17 figure déjà une valeur qui est récupéré à partir d'une table Valeur par défaut =(MaxDom("An";"T_FACTURE")) par exemple 2003
Mon champ Texte12 ne me sert qu'à saisir une nouvelle date ; exemple 2004
Et ce n'est que sur clic sur Cmd15 que je fait mon contrôle de saise. C'est pourquoi je te disais que les deux critères If (IsNull(Texte12) Or (Texte12 = vbNullString)) fonctionne correctement et affiche correctement le MsgBox et n'execute pas le reste du code.
Par contre le critére (Texte12 = Texte17) devant théoriquement vérifier que la nouvelle date ne correspond pas à Texte17, ne fonctionne pas et continue le reste du code. !!!!
Si eventuellement tu pouvais m'expliquer un peu plus précisemnet mes erreurs ou m'indiquer une façon plus correcte de vérifier cette saisie d'une autre façon.... Merci par avance...et désolé de mon ignorance ;-))
Merci Raymond....
Mais ....heu.....ça doit être un restant des fêtes, mais je ne comprends pas
trop la manip ;-)
Dans mon champ Texte17 figure déjà une valeur qui est récupéré à partir
d'une table
Valeur par défaut =(MaxDom("An";"T_FACTURE"))
par exemple 2003
Mon champ Texte12 ne me sert qu'à saisir une nouvelle date ; exemple 2004
Et ce n'est que sur clic sur Cmd15 que je fait mon contrôle de saise.
C'est pourquoi je te disais que les deux critères If (IsNull(Texte12) Or
(Texte12 = vbNullString)) fonctionne correctement et affiche correctement
le MsgBox et n'execute pas le reste du code.
Par contre le critére (Texte12 = Texte17) devant théoriquement vérifier que
la nouvelle date ne correspond pas à Texte17, ne fonctionne pas et continue
le reste du code. !!!!
Si eventuellement tu pouvais m'expliquer un peu plus précisemnet mes erreurs
ou m'indiquer une façon plus correcte de vérifier cette saisie d'une autre
façon....
Merci par avance...et désolé de mon ignorance ;-))
Mais ....heu.....ça doit être un restant des fêtes, mais je ne comprends pas trop la manip ;-)
Dans mon champ Texte17 figure déjà une valeur qui est récupéré à partir d'une table Valeur par défaut =(MaxDom("An";"T_FACTURE")) par exemple 2003
Mon champ Texte12 ne me sert qu'à saisir une nouvelle date ; exemple 2004
Et ce n'est que sur clic sur Cmd15 que je fait mon contrôle de saise. C'est pourquoi je te disais que les deux critères If (IsNull(Texte12) Or (Texte12 = vbNullString)) fonctionne correctement et affiche correctement le MsgBox et n'execute pas le reste du code.
Par contre le critére (Texte12 = Texte17) devant théoriquement vérifier que la nouvelle date ne correspond pas à Texte17, ne fonctionne pas et continue le reste du code. !!!!
Si eventuellement tu pouvais m'expliquer un peu plus précisemnet mes erreurs ou m'indiquer une façon plus correcte de vérifier cette saisie d'une autre façon.... Merci par avance...et désolé de mon ignorance ;-))
Maxence HUBICHE
Bonjour,
Moi, je ferai un truc dans ce genre :
On Error GoTo GestErr Select Case True Case Nz(Texte12, "") = "" Err.Raise 65000, "Texte12", "La première année n'est pas renseignée, merci de corriger" Case Not IsNumeric(Texte12, "") Err.Raise 65000, "Texte12", "La première année n'est pas un nombre, merci de corriger" Case Nz(Texte17, "") = "" Err.Raise 65000, "Texte17", "La deuxième année n'est pas renseignée, merci de corriger" Case Not IsNumeric(Texte17, "") Err.Raise 65000, "Texte17", "La deuxième année n'est pas un nombre, merci de corriger" Case Nz(Texte12, "") = Nz(Texte17, "") 'Traitement si les données sont équivalentes Case Else Err.Raise 64999, "MonProgramme", "Les 2 années ne correspondent pas. Pourriez-vous vérifier votre saisie s'il vous plaît ?" End Select FinProg: 'Ici le code à exécuter systématiquement On Error Resume Next Exit Sub GestErr: MsgBox Err.Description, vbExclamation, "Oulaaah !" If Err.Number = 65000 Then Me.Controls(Err.Source).SetFocus Err.Clear Resume FinProg
Maintenant, c'est vrai que tu pourras adapter à vonté ...
-- ---------------------------------------------------------------------------- - Maxence HUBICHE Formateur et développeur indépendant Modérateur/rédacteur sur http://www.developpez.com
" Samban" a écrit dans le message de news: 3ff543ff$0$6970$
Merci Raymond....
Mais ....heu.....ça doit être un restant des fêtes, mais je ne comprends pas
trop la manip ;-)
Dans mon champ Texte17 figure déjà une valeur qui est récupéré à partir d'une table Valeur par défaut =(MaxDom("An";"T_FACTURE")) par exemple 2003
Mon champ Texte12 ne me sert qu'à saisir une nouvelle date ; exemple 2004
Et ce n'est que sur clic sur Cmd15 que je fait mon contrôle de saise. C'est pourquoi je te disais que les deux critères If (IsNull(Texte12) Or (Texte12 = vbNullString)) fonctionne correctement et affiche correctement le MsgBox et n'execute pas le reste du code.
Par contre le critére (Texte12 = Texte17) devant théoriquement vérifier que
la nouvelle date ne correspond pas à Texte17, ne fonctionne pas et continue
le reste du code. !!!!
Si eventuellement tu pouvais m'expliquer un peu plus précisemnet mes erreurs
ou m'indiquer une façon plus correcte de vérifier cette saisie d'une autre façon.... Merci par avance...et désolé de mon ignorance ;-))
Bonjour,
Moi, je ferai un truc dans ce genre :
On Error GoTo GestErr
Select Case True
Case Nz(Texte12, "") = ""
Err.Raise 65000, "Texte12", "La première année n'est pas
renseignée, merci de corriger"
Case Not IsNumeric(Texte12, "")
Err.Raise 65000, "Texte12", "La première année n'est pas un
nombre, merci de corriger"
Case Nz(Texte17, "") = ""
Err.Raise 65000, "Texte17", "La deuxième année n'est pas
renseignée, merci de corriger"
Case Not IsNumeric(Texte17, "")
Err.Raise 65000, "Texte17", "La deuxième année n'est pas un
nombre, merci de corriger"
Case Nz(Texte12, "") = Nz(Texte17, "")
'Traitement si les données sont équivalentes
Case Else
Err.Raise 64999, "MonProgramme", "Les 2 années ne correspondent
pas. Pourriez-vous vérifier votre saisie s'il vous plaît ?"
End Select
FinProg:
'Ici le code à exécuter systématiquement
On Error Resume Next
Exit Sub
GestErr:
MsgBox Err.Description, vbExclamation, "Oulaaah !"
If Err.Number = 65000 Then Me.Controls(Err.Source).SetFocus
Err.Clear
Resume FinProg
Maintenant, c'est vrai que tu pourras adapter à vonté ...
--
----------------------------------------------------------------------------
-
Maxence HUBICHE
Formateur et développeur indépendant
Modérateur/rédacteur sur http://www.developpez.com
" Samban" <samban@club-internet.fr> a écrit dans le message de news:
3ff543ff$0$6970$7a628cd7@news.club-internet.fr...
Merci Raymond....
Mais ....heu.....ça doit être un restant des fêtes, mais je ne comprends
pas
trop la manip ;-)
Dans mon champ Texte17 figure déjà une valeur qui est récupéré à partir
d'une table
Valeur par défaut =(MaxDom("An";"T_FACTURE"))
par exemple 2003
Mon champ Texte12 ne me sert qu'à saisir une nouvelle date ; exemple 2004
Et ce n'est que sur clic sur Cmd15 que je fait mon contrôle de saise.
C'est pourquoi je te disais que les deux critères If (IsNull(Texte12) Or
(Texte12 = vbNullString)) fonctionne correctement et affiche correctement
le MsgBox et n'execute pas le reste du code.
Par contre le critére (Texte12 = Texte17) devant théoriquement vérifier
que
la nouvelle date ne correspond pas à Texte17, ne fonctionne pas et
continue
le reste du code. !!!!
Si eventuellement tu pouvais m'expliquer un peu plus précisemnet mes
erreurs
ou m'indiquer une façon plus correcte de vérifier cette saisie d'une autre
façon....
Merci par avance...et désolé de mon ignorance ;-))
On Error GoTo GestErr Select Case True Case Nz(Texte12, "") = "" Err.Raise 65000, "Texte12", "La première année n'est pas renseignée, merci de corriger" Case Not IsNumeric(Texte12, "") Err.Raise 65000, "Texte12", "La première année n'est pas un nombre, merci de corriger" Case Nz(Texte17, "") = "" Err.Raise 65000, "Texte17", "La deuxième année n'est pas renseignée, merci de corriger" Case Not IsNumeric(Texte17, "") Err.Raise 65000, "Texte17", "La deuxième année n'est pas un nombre, merci de corriger" Case Nz(Texte12, "") = Nz(Texte17, "") 'Traitement si les données sont équivalentes Case Else Err.Raise 64999, "MonProgramme", "Les 2 années ne correspondent pas. Pourriez-vous vérifier votre saisie s'il vous plaît ?" End Select FinProg: 'Ici le code à exécuter systématiquement On Error Resume Next Exit Sub GestErr: MsgBox Err.Description, vbExclamation, "Oulaaah !" If Err.Number = 65000 Then Me.Controls(Err.Source).SetFocus Err.Clear Resume FinProg
Maintenant, c'est vrai que tu pourras adapter à vonté ...
-- ---------------------------------------------------------------------------- - Maxence HUBICHE Formateur et développeur indépendant Modérateur/rédacteur sur http://www.developpez.com
" Samban" a écrit dans le message de news: 3ff543ff$0$6970$
Merci Raymond....
Mais ....heu.....ça doit être un restant des fêtes, mais je ne comprends pas
trop la manip ;-)
Dans mon champ Texte17 figure déjà une valeur qui est récupéré à partir d'une table Valeur par défaut =(MaxDom("An";"T_FACTURE")) par exemple 2003
Mon champ Texte12 ne me sert qu'à saisir une nouvelle date ; exemple 2004
Et ce n'est que sur clic sur Cmd15 que je fait mon contrôle de saise. C'est pourquoi je te disais que les deux critères If (IsNull(Texte12) Or (Texte12 = vbNullString)) fonctionne correctement et affiche correctement le MsgBox et n'execute pas le reste du code.
Par contre le critére (Texte12 = Texte17) devant théoriquement vérifier que
la nouvelle date ne correspond pas à Texte17, ne fonctionne pas et continue
le reste du code. !!!!
Si eventuellement tu pouvais m'expliquer un peu plus précisemnet mes erreurs
ou m'indiquer une façon plus correcte de vérifier cette saisie d'une autre façon.... Merci par avance...et désolé de mon ignorance ;-))
Raymond [mvp]
Bonjour. ce que je te disais est que tu n'as pas besoin d'un bouton pour controler ta composition mais seulement de la contrôler avant la mise à jour de texte12.
Private Sub Texte12_BeforeUpdate(Cancel As Integer) If (Nz(Texte12, "") = "") Or (Texte12 = Texte17) Then MsgBox "Saisie obligatoire de l'année AVANT validation" & vbCrLf & _ "La valeur saisie doit être non nulle et différente de " & Texte17, vbCritical , "Saisie incorrecte" Cancel = True End If End Sub la procédure continue sur la composition de texte12 si erreur et sur le contrôle suivant si ok.
autre solution:
Private Sub Texte12_BeforeUpdate(Cancel As Integer) If (Nz(Texte12, "") = "") Or (Texte12 = Texte17) Then MsgBox "Saisie obligatoire de l'année AVANT validation" & vbCrLf & _ "La valeur saisie doit être non nulle et différente de " & Texte17, vbCritical , "Saisie incorrecte" Cancel = True Exit Sub End If 'Ici on continue la procédure si la composition est bonne End Sub
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
" Samban" a écrit dans le message de news:3ff543ff$0$6970$
Merci Raymond....
Mais ....heu.....ça doit être un restant des fêtes, mais je ne comprends pas
trop la manip ;-)
Dans mon champ Texte17 figure déjà une valeur qui est récupéré à partir d'une table Valeur par défaut =(MaxDom("An";"T_FACTURE")) par exemple 2003
Mon champ Texte12 ne me sert qu'à saisir une nouvelle date ; exemple 2004
Et ce n'est que sur clic sur Cmd15 que je fait mon contrôle de saise. C'est pourquoi je te disais que les deux critères If (IsNull(Texte12) Or (Texte12 = vbNullString)) fonctionne correctement et affiche correctement le MsgBox et n'execute pas le reste du code.
Par contre le critére (Texte12 = Texte17) devant théoriquement vérifier que
la nouvelle date ne correspond pas à Texte17, ne fonctionne pas et continue
le reste du code. !!!!
Si eventuellement tu pouvais m'expliquer un peu plus précisemnet mes erreurs
ou m'indiquer une façon plus correcte de vérifier cette saisie d'une autre façon.... Merci par avance...et désolé de mon ignorance ;-))
Bonjour. ce que je te disais est que tu n'as pas besoin d'un bouton pour
controler ta composition mais seulement de la contrôler avant la mise à jour
de texte12.
Private Sub Texte12_BeforeUpdate(Cancel As Integer)
If (Nz(Texte12, "") = "") Or (Texte12 = Texte17) Then
MsgBox "Saisie obligatoire de l'année AVANT validation" & vbCrLf & _
"La valeur saisie doit être non nulle et différente de " &
Texte17, vbCritical , "Saisie incorrecte"
Cancel = True
End If
End Sub
la procédure continue sur la composition de texte12 si erreur et sur le
contrôle suivant si ok.
autre solution:
Private Sub Texte12_BeforeUpdate(Cancel As Integer)
If (Nz(Texte12, "") = "") Or (Texte12 = Texte17) Then
MsgBox "Saisie obligatoire de l'année AVANT validation" & vbCrLf & _
"La valeur saisie doit être non nulle et différente de " &
Texte17, vbCritical , "Saisie incorrecte"
Cancel = True
Exit Sub
End If
'Ici on continue la procédure si la composition est bonne
End Sub
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
" Samban" <samban@club-internet.fr> a écrit dans le message de
news:3ff543ff$0$6970$7a628cd7@news.club-internet.fr...
Merci Raymond....
Mais ....heu.....ça doit être un restant des fêtes, mais je ne comprends
pas
trop la manip ;-)
Dans mon champ Texte17 figure déjà une valeur qui est récupéré à partir
d'une table
Valeur par défaut =(MaxDom("An";"T_FACTURE"))
par exemple 2003
Mon champ Texte12 ne me sert qu'à saisir une nouvelle date ; exemple 2004
Et ce n'est que sur clic sur Cmd15 que je fait mon contrôle de saise.
C'est pourquoi je te disais que les deux critères If (IsNull(Texte12) Or
(Texte12 = vbNullString)) fonctionne correctement et affiche correctement
le MsgBox et n'execute pas le reste du code.
Par contre le critére (Texte12 = Texte17) devant théoriquement vérifier
que
la nouvelle date ne correspond pas à Texte17, ne fonctionne pas et
continue
le reste du code. !!!!
Si eventuellement tu pouvais m'expliquer un peu plus précisemnet mes
erreurs
ou m'indiquer une façon plus correcte de vérifier cette saisie d'une autre
façon....
Merci par avance...et désolé de mon ignorance ;-))
Bonjour. ce que je te disais est que tu n'as pas besoin d'un bouton pour controler ta composition mais seulement de la contrôler avant la mise à jour de texte12.
Private Sub Texte12_BeforeUpdate(Cancel As Integer) If (Nz(Texte12, "") = "") Or (Texte12 = Texte17) Then MsgBox "Saisie obligatoire de l'année AVANT validation" & vbCrLf & _ "La valeur saisie doit être non nulle et différente de " & Texte17, vbCritical , "Saisie incorrecte" Cancel = True End If End Sub la procédure continue sur la composition de texte12 si erreur et sur le contrôle suivant si ok.
autre solution:
Private Sub Texte12_BeforeUpdate(Cancel As Integer) If (Nz(Texte12, "") = "") Or (Texte12 = Texte17) Then MsgBox "Saisie obligatoire de l'année AVANT validation" & vbCrLf & _ "La valeur saisie doit être non nulle et différente de " & Texte17, vbCritical , "Saisie incorrecte" Cancel = True Exit Sub End If 'Ici on continue la procédure si la composition est bonne End Sub
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
" Samban" a écrit dans le message de news:3ff543ff$0$6970$
Merci Raymond....
Mais ....heu.....ça doit être un restant des fêtes, mais je ne comprends pas
trop la manip ;-)
Dans mon champ Texte17 figure déjà une valeur qui est récupéré à partir d'une table Valeur par défaut =(MaxDom("An";"T_FACTURE")) par exemple 2003
Mon champ Texte12 ne me sert qu'à saisir une nouvelle date ; exemple 2004
Et ce n'est que sur clic sur Cmd15 que je fait mon contrôle de saise. C'est pourquoi je te disais que les deux critères If (IsNull(Texte12) Or (Texte12 = vbNullString)) fonctionne correctement et affiche correctement le MsgBox et n'execute pas le reste du code.
Par contre le critére (Texte12 = Texte17) devant théoriquement vérifier que
la nouvelle date ne correspond pas à Texte17, ne fonctionne pas et continue
le reste du code. !!!!
Si eventuellement tu pouvais m'expliquer un peu plus précisemnet mes erreurs
ou m'indiquer une façon plus correcte de vérifier cette saisie d'une autre façon.... Merci par avance...et désolé de mon ignorance ;-))
Samban
Re merci.
Je teste tout ça .. mais j'ai une manie de mettre des boutons partout ;-))
Il est vraie que controler directement à partir de Texte12 est plus simple
Bonne journée
Re merci.
Je teste tout ça .. mais j'ai une manie de mettre des boutons partout ;-))
Il est vraie que controler directement à partir de Texte12 est plus simple
Je teste tout ça .. mais j'ai une manie de mettre des boutons partout ;-))
Il est vraie que controler directement à partir de Texte12 est plus simple
Bonne journée
Samban
Et oui, encore moi, mais là je ne comprends plus rien ;-( Et pourtant, Raymond j'ai testé ton code ......
Préférant pour des raisons pratiques vérifier la valeur de Texte12 aprés le clic sur le bouton Cmd15, j'ai le code suivant :
Private Sub Cmd15_Click() 'Vérifie que le champ Année (Texte12) soit rempli correctement If (IsNull(Texte12) Or (Texte12 = vbNullString)) Or Len(Texte12) <> 4 Then MsgBox "Saisie obligatoire de l'année AVANT validation" & vbCrLf & _ "La date saisie doit comporter 4 chiffres.", 48, "Saisie incomplète" Exit Sub End if ............ ............ Suite du code
Les deux arguments sur If fonctionne correctement; pas de saisie vide ou < 4 caractéres Par contre si je rajoute l'argument suivant : Or (Texte12 = Texte17) celui çi n'est jamais pris en compte, et même si la saisie correspond à la valeur de Texte17, et bien pas de MsgBox et le code continue son execution !!!!! Par contre si je remplace Or (Texte12 = "2003") ça fonctionne Est-ce que je n'aurais pas une erreur venant du fait que la valeur de Texte17 ne soit pas prise en compte ??? Ou autre .. HELP ME......merci
Et oui, encore moi, mais là je ne comprends plus rien ;-(
Et pourtant, Raymond j'ai testé ton code ......
Préférant pour des raisons pratiques vérifier la valeur de Texte12 aprés le
clic sur le bouton Cmd15, j'ai le code suivant :
Private Sub Cmd15_Click()
'Vérifie que le champ Année (Texte12) soit rempli correctement
If (IsNull(Texte12) Or (Texte12 = vbNullString)) Or Len(Texte12) <> 4 Then
MsgBox "Saisie obligatoire de l'année AVANT validation" & vbCrLf & _
"La date saisie doit comporter 4 chiffres.", 48, "Saisie incomplète"
Exit Sub
End if
............
............ Suite du code
Les deux arguments sur If fonctionne correctement; pas de saisie vide ou < 4
caractéres
Par contre si je rajoute l'argument suivant : Or (Texte12 = Texte17)
celui çi n'est jamais pris en compte, et même si la saisie correspond à la
valeur de Texte17, et bien pas de MsgBox et le code continue son execution
!!!!!
Par contre si je remplace Or (Texte12 = "2003") ça fonctionne
Est-ce que je n'aurais pas une erreur venant du fait que la valeur de
Texte17 ne soit pas prise en compte ??? Ou autre ..
HELP ME......merci
Et oui, encore moi, mais là je ne comprends plus rien ;-( Et pourtant, Raymond j'ai testé ton code ......
Préférant pour des raisons pratiques vérifier la valeur de Texte12 aprés le clic sur le bouton Cmd15, j'ai le code suivant :
Private Sub Cmd15_Click() 'Vérifie que le champ Année (Texte12) soit rempli correctement If (IsNull(Texte12) Or (Texte12 = vbNullString)) Or Len(Texte12) <> 4 Then MsgBox "Saisie obligatoire de l'année AVANT validation" & vbCrLf & _ "La date saisie doit comporter 4 chiffres.", 48, "Saisie incomplète" Exit Sub End if ............ ............ Suite du code
Les deux arguments sur If fonctionne correctement; pas de saisie vide ou < 4 caractéres Par contre si je rajoute l'argument suivant : Or (Texte12 = Texte17) celui çi n'est jamais pris en compte, et même si la saisie correspond à la valeur de Texte17, et bien pas de MsgBox et le code continue son execution !!!!! Par contre si je remplace Or (Texte12 = "2003") ça fonctionne Est-ce que je n'aurais pas une erreur venant du fait que la valeur de Texte17 ne soit pas prise en compte ??? Ou autre .. HELP ME......merci
Raymond [mvp]
Tu vieux bien me passer ton formulaire pour voir ? (en zip obligatoire)
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
" Samban" a écrit dans le message de news:3ff5a8a6$0$6976$
Et oui, encore moi, mais là je ne comprends plus rien ;-( Et pourtant, Raymond j'ai testé ton code ......
Préférant pour des raisons pratiques vérifier la valeur de Texte12 aprés le
clic sur le bouton Cmd15, j'ai le code suivant :
Private Sub Cmd15_Click() 'Vérifie que le champ Année (Texte12) soit rempli correctement If (IsNull(Texte12) Or (Texte12 = vbNullString)) Or Len(Texte12) <> 4 Then MsgBox "Saisie obligatoire de l'année AVANT validation" & vbCrLf & _ "La date saisie doit comporter 4 chiffres.", 48, "Saisie incomplète" Exit Sub End if ............ ............ Suite du code
Les deux arguments sur If fonctionne correctement; pas de saisie vide ou < 4
caractéres Par contre si je rajoute l'argument suivant : Or (Texte12 = Texte17) celui çi n'est jamais pris en compte, et même si la saisie correspond à la valeur de Texte17, et bien pas de MsgBox et le code continue son execution !!!!! Par contre si je remplace Or (Texte12 = "2003") ça fonctionne Est-ce que je n'aurais pas une erreur venant du fait que la valeur de Texte17 ne soit pas prise en compte ??? Ou autre .. HELP ME......merci
Tu vieux bien me passer ton formulaire pour voir ? (en zip obligatoire)
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
" Samban" <samban@club-internet.fr> a écrit dans le message de
news:3ff5a8a6$0$6976$7a628cd7@news.club-internet.fr...
Et oui, encore moi, mais là je ne comprends plus rien ;-(
Et pourtant, Raymond j'ai testé ton code ......
Préférant pour des raisons pratiques vérifier la valeur de Texte12 aprés
le
clic sur le bouton Cmd15, j'ai le code suivant :
Private Sub Cmd15_Click()
'Vérifie que le champ Année (Texte12) soit rempli correctement
If (IsNull(Texte12) Or (Texte12 = vbNullString)) Or Len(Texte12) <> 4 Then
MsgBox "Saisie obligatoire de l'année AVANT validation" & vbCrLf & _
"La date saisie doit comporter 4 chiffres.", 48, "Saisie incomplète"
Exit Sub
End if
............
............ Suite du code
Les deux arguments sur If fonctionne correctement; pas de saisie vide ou <
4
caractéres
Par contre si je rajoute l'argument suivant : Or (Texte12 = Texte17)
celui çi n'est jamais pris en compte, et même si la saisie correspond à la
valeur de Texte17, et bien pas de MsgBox et le code continue son execution
!!!!!
Par contre si je remplace Or (Texte12 = "2003") ça fonctionne
Est-ce que je n'aurais pas une erreur venant du fait que la valeur de
Texte17 ne soit pas prise en compte ??? Ou autre ..
HELP ME......merci
Tu vieux bien me passer ton formulaire pour voir ? (en zip obligatoire)
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
" Samban" a écrit dans le message de news:3ff5a8a6$0$6976$
Et oui, encore moi, mais là je ne comprends plus rien ;-( Et pourtant, Raymond j'ai testé ton code ......
Préférant pour des raisons pratiques vérifier la valeur de Texte12 aprés le
clic sur le bouton Cmd15, j'ai le code suivant :
Private Sub Cmd15_Click() 'Vérifie que le champ Année (Texte12) soit rempli correctement If (IsNull(Texte12) Or (Texte12 = vbNullString)) Or Len(Texte12) <> 4 Then MsgBox "Saisie obligatoire de l'année AVANT validation" & vbCrLf & _ "La date saisie doit comporter 4 chiffres.", 48, "Saisie incomplète" Exit Sub End if ............ ............ Suite du code
Les deux arguments sur If fonctionne correctement; pas de saisie vide ou < 4
caractéres Par contre si je rajoute l'argument suivant : Or (Texte12 = Texte17) celui çi n'est jamais pris en compte, et même si la saisie correspond à la valeur de Texte17, et bien pas de MsgBox et le code continue son execution !!!!! Par contre si je remplace Or (Texte12 = "2003") ça fonctionne Est-ce que je n'aurais pas une erreur venant du fait que la valeur de Texte17 ne soit pas prise en compte ??? Ou autre .. HELP ME......merci