OVH Cloud OVH Cloud

Message d'alerte avec code

13 réponses
Avatar
jcl
Bonjour,
Je viens une nouvelle fois faire appel aux lumières des pros
J'ai une fonction Age() qui marche bien et qui me donne pour chaque salarié
connu ou crée son age dans un formulaire de saisie de la pathologie
Je souhaiterais, si l'age est inférieur à 18 ans (un exemple) que des le
remplissage du champ dans le formulaire une boite de dialogie m'oblige à
m'arreter avec un message clair. Ca me permettra lorsque j'aurai compris ça
de lancer une procédure automatique pour faire autre chose. Mais je bloque à
ce niveau.
Je sais faire cette boite message mais elle ne s'affiche pas au remplissage
du champ
J'ai essayé sur les différentes options activation du formulaire ou mise à
jour du champ
Ca ne marche pas
Qui peut me dire ou mettre ce message, sur quelle partie du champ ou du
formulaire ?
Merci d'avance

jcl

3 réponses

1 2
Avatar
jcl
OK si mon code est bon c'est déjà ça
Donc je retente demain mais jusqu'à présent ça ne marche pas On a
l'impression que le remplissage du champ se fait immédiatement et que le
test est pris de court
N'y aurait il pas un moyen de mettre le test dans le code lui meme pour
afficher le message en meme temps que le champ se rempli ?
Merci de ton aide
Je te tiens au courant

"3stone" a écrit dans le message de news:
O$
Salut,

jcl
Voici le code que j'utilise pour afficher l'age :

Function DDN()
Set DDN = Nothing
DDN = DLookup("[Date de naissance]", "Salariés", "[N° de code] > > Forms![Pathologie essai]![N° de code]")
End Function
Function DateJour()
Set DateJour = Nothing
DateJour = Nz(Forms("Pathologie essai")("Date de visite").Value,
"")


End Function

Function Age()
Age = (DateJour() - DDN()) / Calcul
End Function

Je mets =Age() dans un champ texte et l'age est affiché correctement




Oui... un peu "compliqué" inutilement... mais bon...


Mais, en mettant ceci "Sur activation" du formulaire, cela doit
fonctionner:


If Age < 18 Then
MsgBox "Trop jeune..."
End if



Je suis sur qu'il doit y avoir plus simple mais je suis bidouilleur et
non


professionnel comme toi


Tiens... cela fait deux fois aujourd'hui....
Moi, bidouilleur aussi, spécialiste "Home User"

;-))


--
A+
Pierre (3stone) Access MVP
--------------------------------------
Une pour tous, tous pour une ;-)
http://users.skynet.be/mpfa/
--------------------------------------







Avatar
3stone
Salut,

jcl
OK si mon code est bon c'est déjà ça


J'ai pas vraiment dit cela ;-)
Il aurait été beaucoup plus simple d'ajouter la date de naissance
du salarié dans la source du formulaire...
et utiliser une fonction nettement plus simplifiée.
Mais bon, ce sera pour ta prochaine base ;-)


Donc je retente demain mais jusqu'à présent ça ne marche pas On a
l'impression que le remplissage du champ se fait immédiatement et que le
test est pris de court


Si tu l'a bien mis "Sur activation" (et pas "Sur activé") du formulaire,
cela *doit* fonctionner... pour autant que ta fonction est capable
de remplir ton champ... age !

N'y aurait il pas un moyen de mettre le test dans le code lui meme pour
afficher le message en meme temps que le champ se rempli ?



Bien sûr... en complètant ainsi...

Function Age()
Age = (DateJour() - DDN()) / Calcul
if Cint(Age) < 18 then
MsgBox "Trop jeune..."
end if
End Function



--
A+
Pierre (3stone) Access MVP
--------------------------------------
Une pour tous, tous pour une ;-)
http://users.skynet.be/mpfa/
--------------------------------------

Avatar
jcl
Merci, ça me plait mieux et je vais essayer cette piste si l'autre s'avere
récalcitrante
Je pense ne plus avoir de conflit
Merci encore
Je te dirais le résultat
Bonne nuit


"3stone" a écrit dans le message de news:

Salut,

jcl
OK si mon code est bon c'est déjà ça


J'ai pas vraiment dit cela ;-)
Il aurait été beaucoup plus simple d'ajouter la date de naissance
du salarié dans la source du formulaire...
et utiliser une fonction nettement plus simplifiée.
Mais bon, ce sera pour ta prochaine base ;-)


Donc je retente demain mais jusqu'à présent ça ne marche pas On a
l'impression que le remplissage du champ se fait immédiatement et que le
test est pris de court


Si tu l'a bien mis "Sur activation" (et pas "Sur activé") du formulaire,
cela *doit* fonctionner... pour autant que ta fonction est capable
de remplir ton champ... age !

N'y aurait il pas un moyen de mettre le test dans le code lui meme pour
afficher le message en meme temps que le champ se rempli ?



Bien sûr... en complètant ainsi...

Function Age()
Age = (DateJour() - DDN()) / Calcul
if Cint(Age) < 18 then
MsgBox "Trop jeune..."
end if
End Function



--
A+
Pierre (3stone) Access MVP
--------------------------------------
Une pour tous, tous pour une ;-)
http://users.skynet.be/mpfa/
--------------------------------------







1 2