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

Procedure avec Dlookup

2 réponses
Avatar
Castours
Bonjour a tous
Avec access 2000
J'ai utilisé cette procédure dans un champ du formulaire principale pour que
le client ne depasse pas l'encours autorisé.
CodeClient: clé primaire
Rc_MontantCde: champ calculé dans une requette de regroupement en numérique
R_MontantCdeClient: Nom de la requette

Private Sub CodeClient_AfterUpdate()
Dim Z_Encours As Variant

'Z_Encours = Nz(DLookup("[Rc_MontantCde]", "R_MontantCdeClient",
"[CodeClient] = " & CodeClient), 0)
Z_Encours = Nz(DLookup("[Rc_MontantCde]", "R_MontantCdeClient",
"[CodeClient] = " & Me!CodeClient), 0)
If EncoursPermis < Z_Encours Then
MsgBox "Ce client dépasse son encours autoeisé de " & Z_Encours -
EncoursPermis
Cancel = True
End If
End Sub
Actuellement lors du dépassement de l'encours je n'ai pas de renvoi de
message.
Y a t'il une erreur de code?
La procedure est elle placée dans le mauvais evenement?
Merci de votre aide

2 réponses

Avatar
Eric
Bonjour,

Vu de loin ...
Ne faudrait-il pas mettre Me!EncoursPermis au lieu de EncoursPermis sur
la ligne de code IF ... et dans le calcul du dépassement.
Si tu veux annuler, il faut faire cette procédure sur l'évènement
BeforeUpdate car elle dispose de l'argument Cancel et non sur
l'AfterUpdate (pas d'argument Cancel) car là, c'est trop tard.



Castours a écrit :
Bonjour a tous
Avec access 2000
J'ai utilisé cette procédure dans un champ du formulaire principale pour que
le client ne depasse pas l'encours autorisé.
CodeClient: clé primaire
Rc_MontantCde: champ calculé dans une requette de regroupement en numérique
R_MontantCdeClient: Nom de la requette

Private Sub CodeClient_AfterUpdate()
Dim Z_Encours As Variant

'Z_Encours = Nz(DLookup("[Rc_MontantCde]", "R_MontantCdeClient",
"[CodeClient] = " & CodeClient), 0)
Z_Encours = Nz(DLookup("[Rc_MontantCde]", "R_MontantCdeClient",
"[CodeClient] = " & Me!CodeClient), 0)
If EncoursPermis < Z_Encours Then
MsgBox "Ce client dépasse son encours autoeisé de " & Z_Encours -
EncoursPermis
Cancel = True
End If
End Sub
Actuellement lors du dépassement de l'encours je n'ai pas de renvoi de
message.
Y a t'il une erreur de code?
La procedure est elle placée dans le mauvais evenement?
Merci de votre aide





--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Avatar
CErnst
Il y a deux lignes identiques. !....
'Z_Encours = Nz(DLookup("[Rc_MontantCde]", "R_MontantCdeClient",
"[CodeClient] = " & CodeClient), 0)
Z_Encours = Nz(DLookup("[Rc_MontantCde]", "R_MontantCdeClient",
"[CodeClient] = " & Me!CodeClient), 0)



Il faut sans doute une ligne comme :
Z_EncoursPermis = Nz(DLookup("[***Montant permis***]", "***Fichier des
montants permis***", "[CodeClient] = " & Me!CodeClient), 0)





" Castours" a écrit dans le message de news:
49bb698a$0$21741$
Bonjour a tous
Avec access 2000
J'ai utilisé cette procédure dans un champ du formulaire principale pour
que le client ne depasse pas l'encours autorisé.
CodeClient: clé primaire
Rc_MontantCde: champ calculé dans une requette de regroupement en
numérique
R_MontantCdeClient: Nom de la requette

Private Sub CodeClient_AfterUpdate()
Dim Z_Encours As Variant

'Z_Encours = Nz(DLookup("[Rc_MontantCde]", "R_MontantCdeClient",
"[CodeClient] = " & CodeClient), 0)
Z_Encours = Nz(DLookup("[Rc_MontantCde]", "R_MontantCdeClient",
"[CodeClient] = " & Me!CodeClient), 0)
If EncoursPermis < Z_Encours Then
MsgBox "Ce client dépasse son encours autoeisé de " & Z_Encours -
EncoursPermis
Cancel = True
End If
End Sub
Actuellement lors du dépassement de l'encours je n'ai pas de renvoi de
message.
Y a t'il une erreur de code?
La procedure est elle placée dans le mauvais evenement?
Merci de votre aide