Procedure avec Dlookup

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Eric
Le #18897611
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
CErnst
Le #18898581
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" 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



Publicité
Poster une réponse
Anonyme