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

Conditions dans les champs d'un formulaire

3 réponses
Avatar
mrossier
Bjr, Access 2002/XP - Suis bloque avec une condition suivante
Dans mon formulaire 001_DA, j'ai 12 series de 3 champs qui peuvent
etre remplis( ou non) de nombres, soit
CH1 - CH2 - CH3 - (Primitivement ils sont tous a zero par default)
Je voudrais mettre les conditions suivantes
Si le CH1 + le CH2 est >1, alors le CH3 doit obligatoirement etre >1
et a l'inverse
si le CH3 est >1, alors CH1 + CH2 doit etre >1
J'ai deja une macro sur BeforeUpdate dans mon formulaire et je vois
pas trop comment faire via les ValidationRule
Mci pour l'aide

3 réponses

Avatar
Raymond [mvp]
Bonjour.

il faut que tu puisses passer par l'évènement BeforeUpdate, pour pouvoir
utiliser la même fonction pour les 36 contrôles, sinon ça va être la galère.
tu ne peux pas inclure ta macro dans une fonction qui contiendrait le
contrôles des valeurs ?

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"tomyboy" a écrit dans le message de news:

Bjr, Access 2002/XP - Suis bloque avec une condition suivante
Dans mon formulaire 001_DA, j'ai 12 series de 3 champs qui peuvent
etre remplis( ou non) de nombres, soit
CH1 - CH2 - CH3 - (Primitivement ils sont tous a zero par default)
Je voudrais mettre les conditions suivantes
Si le CH1 + le CH2 est >1, alors le CH3 doit obligatoirement etre >1
et a l'inverse
si le CH3 est >1, alors CH1 + CH2 doit etre >1
J'ai deja une macro sur BeforeUpdate dans mon formulaire et je vois
pas trop comment faire via les ValidationRule
Mci pour l'aide


Avatar
TOMYBOY
Bjr Raymond et merci de l'aide
Voila la macro qui tourne sur le Before Update et qui me
set des valeurs dans la table.
Comment imbriquer les conditions pour le remplissage des
champs la dedans ? Pour info le CH1 et CH2 represententdes
containers 20' et 40' et CH3 est le prix payé pour la
manutention sur le port. Donc il ne peut y avoir de prix
payé sur CH1 ET/OU CH2 = 0, et de meme si CH3 est >1, l'un
des 2 autres(ou les 2) champs doit avoir une valeur
=1.Est-ce 1 clair mon hisoire ?
Bonne journee


'-------------------------------
' SET_VAL
'
'-------------------------------
Function SET_VAL()
On Error GoTo SET_VAL_Err

With CodeContextObject
' Tranfert value [NUM_ENTRY]
[VESNUM] dans Form DATA-
ENTRY

.VESNUM = .NUM_ENTRY
' Tranfert value [CURR_ENTRY]
[CURR] dans Form DATA-
ENTRY

.CURR = .CURR_ENTRY
' Tranfert value [TPORT] >
[TOTPORT]
.TOTPORT = .TPORT
' Tranfert value [TVAR]
[TOTVAR]
.TOTVAR = .TVAR

' Tranfert value [TBUNK] >
[TOTBUNK]
.TOTBUNK = .TBUNK
' Tranfert value [TCASH] >
[TOTCASH]
.TOTCASH = .TCASH
' Tranfert value [TDRY]
[TOTDRY]
.TOTDRY = .TDRY

' Tranfert value [TCARGO] >
[TOTCARGO]
.TOTCARGO = .TCARGO
' Tranfert value [TMT]
[TOTMT]
.TOTMT = .TMT

' Tranfert value [TREEF] >
[TOTREEFER]
.TOTREEFER = .TREEF
' Tranfert value [TCREW] >
[TOTCREW]
.TOTCREW = .TCREW
' Tranfert value [TRUN]
[TOTRUNNING]
.TOTRUNNING = .TRUN

' Tranfert value [TCOMM] >
[TOTCOMM]
.TOTCOMM = .TCOMM
' Tranfert value [TD_A]
[TOTAL_DA]
.TOTAL_DA = .TD_A

' Tranfert value [COEFTEU]
[C_FU] -------------- FULLS dans
Table DA

.COEFTEU = .C_FU
' Tranfert value [COEFRF]
[C_RF] -------------- REEFERS dans Table
DA

.COEFRF = .C_RF
' Tranfert value [COEFTS]
[C_TS] -------------- T/SHIP dans
Table DA

.COEFTS = .C_TS
' Tranfert value [COEFMTY]
[C_MT] -------------- MTIES dans
Table DA

.COEFMTY = .C_MT
End With


SET_VAL_Exit:
Exit Function

SET_VAL_Err:
MsgBox Error$
Resume SET_VAL_Exit

End Function

-----Message d'origine-----
Bonjour.

il faut que tu puisses passer par l'évènement
BeforeUpdate, pour pouvoir

utiliser la même fonction pour les 36 contrôles, sinon ça
va être la galère.

tu ne peux pas inclure ta macro dans une fonction qui
contiendrait le

contrôles des valeurs ?

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"tomyboy" a écrit dans le message de
news:


Bjr, Access 2002/XP - Suis bloque avec une condition
suivante


Dans mon formulaire 001_DA, j'ai 12 series de 3 champs
qui peuvent


etre remplis( ou non) de nombres, soit
CH1 - CH2 - CH3 - (Primitivement ils sont tous a zero
par default)


Je voudrais mettre les conditions suivantes
Si le CH1 + le CH2 est >1, alors le CH3 doit
obligatoirement etre >1


et a l'inverse
si le CH3 est >1, alors CH1 + CH2 doit etre >1
J'ai deja une macro sur BeforeUpdate dans mon
formulaire et je vois


pas trop comment faire via les ValidationRule
Mci pour l'aide



.




Avatar
Raymond [mvp]
tu peux mettre ton contrôle en début de fonction
Function SET_VAL()
tester le Screen.ActiveControl.Name pour connaître les noms des 2 autres
champs en relation
faire les contrôles et si faux faire un Screen.ActiveControl.Undo éventuel
pour annuler les compositions.
retourner false
sortir de la fonction
vérifier si le focus ne bouge pas.
On Error GoTo SET_VAL_Err

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"TOMYBOY" a écrit dans le message de
news: 0d9d01c50e7e$0c177820$
Bjr Raymond et merci de l'aide
Voila la macro qui tourne sur le Before Update et qui me
set des valeurs dans la table.
Comment imbriquer les conditions pour le remplissage des
champs la dedans ? Pour info le CH1 et CH2 represententdes
containers 20' et 40' et CH3 est le prix payé pour la
manutention sur le port. Donc il ne peut y avoir de prix
payé sur CH1 ET/OU CH2 = 0, et de meme si CH3 est >1, l'un
des 2 autres(ou les 2) champs doit avoir une valeur
=1.Est-ce 1 clair mon hisoire ?
Bonne journee


'-------------------------------
' SET_VAL
'
'-------------------------------
Function SET_VAL()
On Error GoTo SET_VAL_Err

With CodeContextObject
' Tranfert value [NUM_ENTRY]
[VESNUM] dans Form DATA-
ENTRY

.VESNUM = .NUM_ENTRY
' Tranfert value [CURR_ENTRY]
[CURR] dans Form DATA-
ENTRY

.CURR = .CURR_ENTRY
' Tranfert value [TPORT] >
[TOTPORT]
.TOTPORT = .TPORT
' Tranfert value [TVAR]
[TOTVAR]
.TOTVAR = .TVAR

' Tranfert value [TBUNK] >
[TOTBUNK]
.TOTBUNK = .TBUNK
' Tranfert value [TCASH] >
[TOTCASH]
.TOTCASH = .TCASH
' Tranfert value [TDRY]
[TOTDRY]
.TOTDRY = .TDRY

' Tranfert value [TCARGO] >
[TOTCARGO]
.TOTCARGO = .TCARGO
' Tranfert value [TMT]
[TOTMT]
.TOTMT = .TMT

' Tranfert value [TREEF] >
[TOTREEFER]
.TOTREEFER = .TREEF
' Tranfert value [TCREW] >
[TOTCREW]
.TOTCREW = .TCREW
' Tranfert value [TRUN]
[TOTRUNNING]
.TOTRUNNING = .TRUN

' Tranfert value [TCOMM] >
[TOTCOMM]
.TOTCOMM = .TCOMM
' Tranfert value [TD_A]
[TOTAL_DA]
.TOTAL_DA = .TD_A

' Tranfert value [COEFTEU]
[C_FU] -------------- FULLS dans
Table DA

.COEFTEU = .C_FU
' Tranfert value [COEFRF]
[C_RF] -------------- REEFERS dans Table
DA

.COEFRF = .C_RF
' Tranfert value [COEFTS]
[C_TS] -------------- T/SHIP dans
Table DA

.COEFTS = .C_TS
' Tranfert value [COEFMTY]
[C_MT] -------------- MTIES dans
Table DA

.COEFMTY = .C_MT
End With


SET_VAL_Exit:
Exit Function

SET_VAL_Err:
MsgBox Error$
Resume SET_VAL_Exit

End Function

-----Message d'origine-----
Bonjour.

il faut que tu puisses passer par l'évènement
BeforeUpdate, pour pouvoir

utiliser la même fonction pour les 36 contrôles, sinon ça
va être la galère.

tu ne peux pas inclure ta macro dans une fonction qui
contiendrait le

contrôles des valeurs ?

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"tomyboy" a écrit dans le message de
news:


Bjr, Access 2002/XP - Suis bloque avec une condition
suivante


Dans mon formulaire 001_DA, j'ai 12 series de 3 champs
qui peuvent


etre remplis( ou non) de nombres, soit
CH1 - CH2 - CH3 - (Primitivement ils sont tous a zero
par default)


Je voudrais mettre les conditions suivantes
Si le CH1 + le CH2 est >1, alors le CH3 doit
obligatoirement etre >1


et a l'inverse
si le CH3 est >1, alors CH1 + CH2 doit etre >1
J'ai deja une macro sur BeforeUpdate dans mon
formulaire et je vois


pas trop comment faire via les ValidationRule
Mci pour l'aide



.