Bonjour,
J’ai développé un logiciel de gestion de la Bourse aux Livres d’un Lycée sous Access 2002.
J’utilise un formulaire de saisie assez complexe avec 4 sous formulaires (les commandes de livres, les retours, les règlements effectués, la saisie d’un nouveau règlement)
J’utilise entre autre les tables Elèves, Livres Commandés, Livres en Retour et Règlements, avec relation sur la Réf commande.
Dans le formulaire principal j’affiche le solde du compte de l’élève (valeur livres commandés - valeur retours +/- règlements effectués)
Si l’un des sous formulaires est vierge (nouvel élève : pas de livre en retour ou pas de règlement déjà enregistré), j’obtiens ‘#Erreur’ dans la zone Solde Compte, même en utilisant Nz dans ma formule de calcul.
Pour l’instant j’ai résolu le problème en utilisant comme source de chaque sous formulaire une requête qui liste la Réf commande de la Table Elèves et les informations de la table correspondant au sous formulaire (Commandés, Retours ou Règlements).
Si dans l’une de ces 3 tables il n’y a aucune information correspondant à la Réf commande du formulaire principal, j’obtiens une liste vierge, sauf la Réf commande de la Table Elèves et le Solde Compte s’affiche correctement.
C’est bien, mais je ne suis pas tout à fait satisfait …, car dans ce cas j’ai une ligne détail, avec des zones vierges qui s’affiche dans le sous formulaire. Je voudrais éviter cet affichage inutile pour ne pas perturber l’utilisateur.
Les paramétrages du sous formulaire sont les suivants :
Ajout autorisé : non
Entrée de données : non
Type recordset : feuille réponse dynamique
J’ai essayé de jouer sur ces paramètres, mais soit ça ne change rien, soit je me retrouve avec #Erreur.
Y a-t-il une solution possible, soit au niveau de la formule de calcul, soit dans le paramétrage du sous formulaire, soit par une procédure VBA, pour obtenir un calcul correct, sans afficher une ligne vierge dans le sous formulaire en cas d’absence de données dans la table correspondante.
J’espère que mes explications sont assez claires. N’hésitez pas à me demander des explications complémentaires si nécessaire.
Merci pour votre aide.
Partager