Bonjour à tous
tout d'abord, merci de m'excuser si la réponse à ma question est déjà disponible, mais après avoir écumé tutos et forums, je m'arrache les quelques cheveux qu'il me reste.
Je travaille dans une grande entreprise de transport. A terme, je veux mettre à disposition cet outil pour les collègues. Il y aura donc une partie admin, et une partie navigation. Vous pourriez me répondre de m'adresser à notre service informatique mais :
- ils n'ont jamais le temps (d'ailleurs, ils sont plus chefs de projet que développeurs, ou je ne connais pas les bonnes personnes)
- je me suis mis à Access sur mon temps perso, confronté comme beaucoup à l'impossibilité de gérer une grande quantité d'info avec Excel. Et maîtriser cet outil puissant ne peut être qu'un gros plus personnel.
Pour ces raisons, j'aimerais bien comprendre mon (mes?) erreur(s), afin de ne pas les renouveler dans le futur. Peut-être est-ce trop ambitieux et ne peux être fait qu'avec du code, dans ce cas, Access n'est pas pour moi. Je peux éventuellement gérer les macros, mais guère plus.
Dans notre activité, nous proposons des solutions personnalisés de transport à nos clients. Vous avez peut-être déjà reçu un colis par nos soins (et j'espère que tout s'est bien passé).
Nous gérons donc beaucoup de transporteurs et de produits différents.
J'ai tenté pour schématiser de construire ma bdd de la façon suivante:
- un transporteur à des hubs, des employés, un réseau, et assure les mêmes prestations à l'origine quelque soit le pays de destination (à destination, cela dépend du produit sélectionné). Donc une table pour chacune de ces familles, et en créant les bonnes relations, cela a l'air de fonctionner correctement.
- un produit est composé de plusieurs caractéristiques (dimensions etc). J'ai tenté de regrouper les différents détails par famille, afin d'alléger les tables. J'ai donc créé une table produits qui est composée de quelques grandes caractéristiques, et des clés étrangères de mes différentes tables (qui elles ont leur ID en clés
- et j'ai créé une table de jonction. Cette jonction relie les produits avec les transporteurs. En effet, un produit peut être proposé par plusieurs transporteurs (pour une même destination, les colis peuvent arriver de plusieurs pays). D'où le choix d'une table de jonction. J'ai essayé avec 2 ou 3 clés primaires (un NumAuto), mon problème ne vient pas de là apparemment.
J'ai voulu créer un formulaire Produit, qui regroupe les caractéristiques principales et les ID des différentes catégories, le détail des sous-catégories étant regroupé dans un sous-formulaire à onglet.
Ensuite, j'ai essayé de créer un formulaire avec les contrôles de ma table de jonction. Et je souhaite incorporer le sous-formulaire produit créé précédemment pour pouvoir créer/mettre à jour les différentes combinaisons.
J'ai correctement (enfin, je crois...) paramétré les champs pères/fils, en indiquant que la source était le sous-formulaires (quand je veux faire l'inverse, refus catégorique d'Access. Mais lorsque j'essaie de renseigner les détails, l'enregistrement n'est pas pris en compte (j'ai pourtant paramétré sur entrée de données). Ca ne marche pas plus en ce qui concerne les mises à jour.
Voyant que cela ne marchait pas, j'ai ensuite essayé avec le générateur de requête de renseigner ces ProduitsDétailsID en les faisant 'piocher' le Contrôle correspondant dans les sous-formulaires. Les champs sont bien renseignés avec le numéro auto mais ne s'enregistrent pas.
J'ai pensé à un problème père-fils, mais avec, cela boucle et m'enregistre un sous-détail dès que j'arrête d'écrire.
Quand je rentre manuellement la combinaison des clés primaires dans ma table de jonction, je peux naviguer, mais j'aimerais bien pouvoir saisir/mettre à jour via les formulaires.
En désespoir de cause, j'écris ce message. J'espère avoir été clair, je n'ai pas mis de screenshot mais au besoin, je peux en envoyer.
Merci d'avoir pris le temps de me lire, et éventuellement de me répondre.
je pars quelques jours pour prendre l'air (ça va me faire du bien après ces jours à essayer de faire marcher le bouzin). Pardon d'avance du délai en cas de réponse à mon post.
Partager