Forum - Questions générale - Sujet n°505

[]
Nombre de membres 1 membre
Connectés : ( personne )
 

La Charte du Forum - La Charte du Forum

Forum - Forum
Questions générale - Questions générale


clos par 3Stone le 03/06/2011 : 04:10  Sujet n° 505  controle de cohérence

le 10/05/2011 : 22:51
par flomen

Anonyme

visiteur

Bonjour,Je fais des controles de cohérence entre plusieurs champs de mon formulaire dans un fonction déclenchée sur l'événement du formulaire : Avant MAJSi mes tests de cohérences trouvent une anomalie, comment puis-je rester sur l'enregistrement en cours de mon formaulaire ? (pour demander de corriger les champs erronés)Si j'utilise l'instruction End, je perds les valeurs des variables public, pourquoi !Merci pour votre aide
Ecrire à flomen  sujet clos  Haut
Réponse n° 1
--------
le 11/05/2011 : 01:07
par 3Stone

Anonyme

Administrateur

Bonjour,
 
Citation :

Si j'utilise l'instruction End, je perds les valeurs des variables public, pourquoi !

 
Je suis étonné du fait que tu utilises des variables publiques d

L'événement "Avant mise à jour" du formulaire est le meilleur endroit pour vérifier les données.
Si l'on teste la valeur d'un champ, il est simple en cas d'erreur d'y renvoyer l'utilisateur avec un simple:
 
Code :
Me!NomDeLaZoneDeTexte.Setfocus
 Il suffit ensuite d'interrompre et d'annuler la mise à jour du formulaire par:
 
Code :
Cancel=True
 
Cordialement,
Pierre(3stone)
  clos par 3Stone le 03/06/2011 : 04:10  Haut
Réponse n° 2
--------
le 11/05/2011 : 10:46
par flomen

Anonyme

visiteur

Bonjour,

Merci pour ta réponse rapide, cependant je crois avoir trouvé la solution à mon problème, quand je détecte une anomalie dans ma fonction de controle (Av MAJ) j'invite l'utilisateur à apporter des modifs et j'annule l'événement avec l'instruction : DoCmd.cancelevent  ce qui me permet de rester sur l'enregistrement en cours

Merci

Ecrire à flomen   clos par 3Stone le 03/06/2011 : 04:10  Haut
Réponse n° 3
--------
le 11/05/2011 : 13:12
par 3Stone

Anonyme

Administrateur

Bonjour,
 
Citation :

j'annule l'événement avec l'instruction : DoCmd.cancelevent

 
Tu peux vérifier ce que tu veux dans l'événement "avant mise à jour", mais l'annulation de la mise à jour du formulaire DOIT se faire par un simple "Cancel=True" comme dit plus haut!

DoCmd.CancelEvent ne s'adresse pas au formulaire, mais à l'événement en cours... qui peut être un tout autre événement.
Il est connu qu'une mauvaise approche entraine de mauvaises solutions wink

Cordialement,
Pierre(3stone)
  clos par 3Stone le 03/06/2011 : 04:10  Haut
actif sujet actif   clos sujet clos   Important! Important!   Nouveau Nouveau message   -   Rectifier Rectifier message   Clôturer Clôturer sujet   Remonter Remonter
[]
Catégories de discussion  Forum 



Haut