Bonjour... Et BRAVO pour ce site que je découvre.
J'ai un problème de gestion style commande, pour lequel je n'arrive pas à trouver la solution, entre autres dans le bouquin de référence "Access 2007 - The Missing Manual", que je recommande aux débutants.
J'ai un formulaire Client qui comporte plusieurs sous-formulaires placés dans des onglets. Il y a donc très classiquement:
- une table Clients, qui comporte le type de client, entre autre si c'est un particulier ou un revendeur;
- une table Commandes, qui est le résumé de la commande;
- une table Détails Commande, qui contient les différents articles.
Clients est lié à Commande, qui est lié à Détails Commande.
Ceci fonctionne parfaitement, puisque sur les formulaires-onglets, le n° du client choisi s'affiche bien sur tous les onglets.
Dans le sous-formulaire Détails Commande, une liste déroulant permet le choix du produit, et via la fonction _Change, appelle une Private_Sub qui devrait aller:
- chercher le prix dans la table Produits (cela fonctionne);
- chercher, dans la table Clients, le type de client, permettant de calculer le prix du produit commandé.
Et ce dernier point, via la fonction DLookup, refuse d'aller chercher cette info... qui est pourtant présente sur l'onglet concerné, et utilisé comme argument de recherche. Le debugger indique que cette données = Null... alors qu'elle est affichée.
J'ai donc du louper quelque chose, et après des heures d'essais divers... j'en suis donc réduit à demander de l'aide :0)
En pratique, la question est:
Lorsque le focus est sur un formulaire, comment puis-aller récupérer le champ d'un autre formulaire, lui aussi ouvert ?
Merci de vos lumières.
Partager