Je suis aux prises avec un déclenchement accidentel des règles de validation lors de l'activation d'un sous-formulaire.MS Access: Empêcher la validation du sous-formulaire
Dans MS Access, j'ai un formulaire avec des données sur un patient, qui contient un sous-formulaire avec un enregistrement d'un dispositif médical qui appartient à ce patient. La table des patients a un champ [ID] et la table des dispositifs médicaux a un champ [PatientID]. La table des dispositifs médicaux a une relation un-à-plusieurs avec la table des patients (un patient peut avoir plusieurs dispositifs médicaux).
Lorsque le formulaire contenant le sous-formulaire est ouvert, la méthode Form_Load()
du sous-formulaire remplit certains champs tels que la date actuelle.
Le problème est le suivant: dès que le contrôle du sous-formulaire est activé (par tabulation ou clic), les règles de validation de la table des dispositifs médicaux sont déclenchées - une fois et une seule fois. Après avoir ignoré le message d'erreur de validation, je peux basculer entre les contrôles sur le formulaire parent et le sous-formulaire sans problème.
Lorsque je supprime le code de la méthode Form_Load()
, je peux activer les contrôles du sous-formulaire sans déclencher de validation.
Le formulaire parent et le sous-formulaire sont tous deux liés à des tables et non à des requêtes.
Comment puis-je remplir des données dans le sous-formulaire en utilisant VBA sans déclencher la validation?
Merci pour la suggestion! Pour référence future: Il n'est pas possible d'utiliser des fonctions définies par l'utilisateur pour la valeur par défaut d'un champ de table; mais il est possible d'utiliser une fonction VBA définie par l'utilisateur pour la valeur par défaut d'un formulaire, c'est donc ce que j'ai fini par faire. – bovender