OVH Cloud OVH Cloud

condition valide si avec form et sous-form

6 réponses
Avatar
Txl
Bonjour,

J'ai un form d'offre d'emploi avec un groupe de bascules contenant des
valeurs de 1 à 5 (en cours, suspendue, pourvue agence, pourvue hors agence
et annulée)

Dans ce form j'ai un sous form contenant la liste des candidats de
l'agence a qui à été transmise l'offre et à la suite du nom de chaque
candidat j'ai une case à cocher "succès" et une date de succès eventuelle.

Je voudrais mettre une condition de validation dans le champ de la date de
succès comme quoi la bascule doit avoir comme valeur 3 ou 4 (pourvue par
l'agence ou pourvue par autre que l'agence) mais je n'y arrive pas car le
sous form n'arrive pas à faire le lien avec la table d'origine.

La structure est la suivante :

La table "offres" contient un champ "etat" qui va de 1 à 5 (en cours,
suspendue, etc...)
La table "candidatoffre" contient la liste des candidats a qui telle offre
a été transmise et les champs "succès" et "datesuccès"

le form est basé sur "offres" et le sous form sur "candidatoffre" et je
pense que c'est de la que vient mon problème.

Merci de votre aide pour la formulation de la condition de validation.


PS : Mon pb de requete compliquée (voir post d'hier) n'est tjs pas résolu
malgré mes nombreuses tentatives, si kkun avait une idée la dessus ca
serait sympa

--
Email contact

http://cerbermail.com/?ltQ8eCFmRa

6 réponses

Avatar
3stone
Salut,

"Txl"
J'ai un form d'offre d'emploi avec un groupe de bascules contenant des
valeurs de 1 à 5 (en cours, suspendue, pourvue agence, pourvue hors agence
et annulée)

Dans ce form j'ai un sous form contenant la liste des candidats de
l'agence a qui à été transmise l'offre et à la suite du nom de chaque
candidat j'ai une case à cocher "succès" et une date de succès eventuelle.

Je voudrais mettre une condition de validation dans le champ de la date de
succès comme quoi la bascule doit avoir comme valeur 3 ou 4 (pourvue par
l'agence ou pourvue par autre que l'agence)<snip>



Je pense que c'est sur la case à cocher "succès" que tu veux mettre la condition ?


qque chose comme (dans l'événement "Sur avant mise à jour" de cette case):

With Me.Parent!GroupeOption

if .value<> 3 or .Value<> 4 then
Cancel = True
MsgBox "Annuler"
en if

End With


NB: GroupeOption représente ton "groupe de bascules"...


--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------

Avatar
Txl
On Mon, 16 Aug 2004 18:46:50 +0200, 3stone
wrote:

Salut,

"Txl"
J'ai un form d'offre d'emploi avec un groupe de bascules contenant des
valeurs de 1 à 5 (en cours, suspendue, pourvue agence, pourvue hors
agence
et annulée)

Dans ce form j'ai un sous form contenant la liste des candidats de
l'agence a qui à été transmise l'offre et à la suite du nom de chaque
candidat j'ai une case à cocher "succès" et une date de succès
eventuelle.

Je voudrais mettre une condition de validation dans le champ de la date
de
succès comme quoi la bascule doit avoir comme valeur 3 ou 4 (pourvue par
l'agence ou pourvue par autre que l'agence)<snip>



Je pense que c'est sur la case à cocher "succès" que tu veux mettre la
condition ?


qque chose comme (dans l'événement "Sur avant mise à jour" de cette
case):

With Me.Parent!GroupeOption

if .value<> 3 or .Value<> 4 then
Cancel = True
MsgBox "Annuler"
en if

End With


NB: GroupeOption représente ton "groupe de bascules"...


--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------




Ben en fait c'est sur la DATE et pas sur la case à cocher que je veux
mettre l'option parce que si par exemple le succès n'est pas attribué à un
candidat de l'agence il y aura la basucle en position 4 (pourvue hors
agence) mais pas en face du nom d'un des candidats proposés par l'agence,
en tout cas je vais essayer avec ton code dans la validation de la date et
je te tiens au courant, merci de l'idée.










--
Email contact

http://cerbermail.com/?ltQ8eCFmRa


Avatar
3stone
Salut,

"Txl"

Ben en fait c'est sur la DATE et pas sur la case à cocher que je veux
mettre l'option parce que si par exemple le succès n'est pas attribué à un
candidat de l'agence il y aura la basucle en position 4 (pourvue hors
agence) mais pas en face du nom d'un des candidats proposés par l'agence,
en tout cas je vais essayer avec ton code dans la validation de la date et
je te tiens au courant, merci de l'idée.




ok, mais, que veux-tu faire avec la date,
si le groupe d'options de vaut pas 3 ou 4 ?
annuler la saisie de la date ?

cela reste pareil, mais dans l'avant mise à jour du champ date...


--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------

Avatar
Txl
On Mon, 16 Aug 2004 20:38:31 +0200, 3stone
wrote:

Salut,

"Txl"

Ben en fait c'est sur la DATE et pas sur la case à cocher que je veux
mettre l'option parce que si par exemple le succès n'est pas attribué à
un
candidat de l'agence il y aura la basucle en position 4 (pourvue hors
agence) mais pas en face du nom d'un des candidats proposés par
l'agence,
en tout cas je vais essayer avec ton code dans la validation de la date
et
je te tiens au courant, merci de l'idée.




ok, mais, que veux-tu faire avec la date,
si le groupe d'options de vaut pas 3 ou 4 ?
annuler la saisie de la date ?

cela reste pareil, mais dans l'avant mise à jour du champ date...


--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------



Bonsoir,

Mon idée est que si le groupe d'option n'est pas sur 3 ou sur 4 impossible
de saisir une date (controle avant saisie) ou annuler la saisie (copntrole
après saisie) et remettre le champ à vierge avec une boite d'alerte disant
à l'utilisateur que si il n'y à pas de succès il n'y à pas de date de
succès, en fait le top serait de pouvoir jouer sur la propriété "activé"
de la zone de saisie de date, si le groupe d'option est sur 3 ou 4 alors
activé=oui, sinon activé=non...

Merci de ton aide

--
Email contact

http://cerbermail.com/?ltQ8eCFmRa


Avatar
3stone
re,

"Txl"

Mon idée est que si le groupe d'option n'est pas sur 3 ou sur 4 impossible
de saisir une date (controle avant saisie) ou annuler la saisie (copntrole
après saisie) et remettre le champ à vierge avec une boite d'alerte disant
à l'utilisateur que si il n'y à pas de succès il n'y à pas de date de
succès, en fait le top serait de pouvoir jouer sur la propriété "activé"
de la zone de saisie de date, si le groupe d'option est sur 3 ou 4 alors
activé=oui, sinon activé=non...




Dans ce cas, verrouille le textbox "TextBoxDate" par défaut.

Sur "Après mise à jour" du groupe d'options, tu mets:

Dim boPasBon As Boolean
bPasBon = (Cadre53 = 3) Or (Cadre53 = 4)
Me!NomSousFormulaire.Form!TextBoxDate.enabled = boBasBon


et la même chose dans l'événement "Sur activation"
du formulaire principal...



--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------

Avatar
Txl
On Tue, 17 Aug 2004 01:25:54 +0200, 3stone
wrote:

re,

"Txl"

Mon idée est que si le groupe d'option n'est pas sur 3 ou sur 4
impossible
de saisir une date (controle avant saisie) ou annuler la saisie
(copntrole
après saisie) et remettre le champ à vierge avec une boite d'alerte
disant
à l'utilisateur que si il n'y à pas de succès il n'y à pas de date de
succès, en fait le top serait de pouvoir jouer sur la propriété "activé"
de la zone de saisie de date, si le groupe d'option est sur 3 ou 4 alors
activé=oui, sinon activé=non...




Dans ce cas, verrouille le textbox "TextBoxDate" par défaut.

Sur "Après mise à jour" du groupe d'options, tu mets:

Dim boPasBon As Boolean
bPasBon = (Cadre53 = 3) Or (Cadre53 = 4)
Me!NomSousFormulaire.Form!TextBoxDate.enabled = boBasBon


et la même chose dans l'événement "Sur activation"
du formulaire principal...



--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------





Ben en fait j'ai fait ca hier soir TOUT SEUL avant de lire ta réponse (la
connection par modem c'st la merde !!!)

Private Sub datesucces()
On Error GoTo erreur
If Me.Parent!cadreetat = 3 Or Me.Parent!cadreetat = 4 Then
Me.datesucces.Enabled = True
Else
MsgBox "Merci de cocher l'option PML ou PHML"
Me.datesucces.Enabled = False
End If
erreur:
End Sub

EN sachant que PML et PHML correspondent à un état 3 ou 4 et ca marche pas
trop mal, le seul pb c'est que si je rentre une valeur quand l'état n'est
pas bon ca m'affiche le message d'erreur mais ca me laisse quand meme
rentrer la date... je vais farfouiller de ce coté, en tout cas merci de
m'avoir mis sur la voie.

PS : t'aurais pas une solution à me pro^poser pour mon souci de requete
qui n'affiche pas tout ce que je veux parce que la par contre je bute
dessus depuis 3 jours...










--
Email contact

http://cerbermail.com/?ltQ8eCFmRa