1 membre
Connectés : ( personne )
- La Charte du Forum - Forum - Problèmes Access des débutants
Sujet n° 503 |
Relations entre tables |
le 03/05/2011 : 19:59 par apzk42
visiteur |
Bonsoir, Je butte depuis plusieurs heures sur le développement d'une base sous access2007. Bien évidemment, je suis débutant. Ma BDD concerne le calcul de performance de production (TRS) de machines. J'aimerai donc enregistrer les données journalières de mes machines et éditer des synthèses et courbes d'analyse de performance. J'ai donc créer une 1ère table (T_Journalier et clé primaire avec N°Auto) avec son formulaire de saisie (F_Journalier) qui enregistre les données de production et un N° d'Ordre de Fabrication (N°OF). Sur le formulaire F_Journalier, j'ai créé un bouton qui me permet d'accéder à un formulaire unique avec onglets qui ouvre chacun un sous-formulaire (chaque s/formulaire possède sa clé primaire N°Auto et un liste déroulante qui enregistre le N°OF). Mon problème vient du fait que les s/formulaires ne sont pas systématiquement ouvert pour chaque saisie dans le F_Journalier. Par conséquent, les clés primaires ne sont plus cohérentes entr'elles et ne me permettent plus de faire des analyses par requête.J'espère avoir été clair; pour résumé:T_Journalier: Clé N°OF & ;nbs p; 1 23 & ;nbs p; 2 24 & ;nbs p; 3 25 & ;nbs p; 4 26
T_SF_PanneMachine Clé N°OF & ;nbs p; 1 23 & ;nbs p; 2 &am p;nb sp; 24 & ;nbs p; 3 26 (Il n'y a pas eu d'enregistrement avec T_Journalier Clé 3)En faisant une requête, seul les N° de clés sont équivalentes et je me retrouve donc avec une erreur au niveau de l'affectation du N°OF.Comment puis-je contourner ce problème ?? D'avance merci à vous tous les pros d'accessAlain |
|
|
Réponse n° 1 -------- le 03/05/2011 : 20:26 par 3Stone
Administrateur
|
Bonjour,
Ce ne sont pas les formulaires qui possèdent (ou doivent posséder) une clé primaire, mais bien les tables.
Dans l'exemple cité, T_Journalier doit avoir une clé primaire numéroauto et être en relation avec la table T_PanneMachine qui possèdera une clé externe "entier long". Le fait de placer le sous-formulaire dans le formulaire automatisera l'alimentation de la clé externe.
Un peu de lecture serait la bienvenue, me semble-t-il.
Cordialement, Pierre(3stone) |
|
|
Réponse n° 2 -------- le 04/05/2011 : 10:39 par apzk42
visiteur |
Bonjour Pierre,
Merci beaucoup pour ces conseils, on croit savoir et en fait...
La modification de la clé externe de la T_PanneMachine me permet effectivement d'obtenir les bonnes information dans ma requête. Merci Par contre, mon s/formulaire n'est pas placé dans le formulaire car il est appelé par l'intermédiaire d'un bouton de commande. Cette opération semble rendre mon s/formulaire indépendant et access m'empêche de renseigner les champs Père & Fils de la feuille de propriété. Je dois donc renseigner manuellement le champ de la clé externe. Cela ne me semble pas logique ! Y aurait-il une astuce pour automatiser l'alimentation de cette clé ?
Cordialement Alain |
|
|
Réponse n° 4 -------- le 05/05/2011 : 18:43 par apzk42
visiteur |
Bonsoir,
Tout est problème de sémantique !! Lorsque l'on a compris la relation formulaire/sous-formulaire; il n'y a plus qu'à considérer que la relation est formulaire <-> formulaire. Ainsi, j'ai réglé mon problème en reprenant un champ de la T_Journalier dans mon formulaire T_SF_PanneMachine et en créant un lien permanent dans la feuille de propriété "Valeur par défaut". Cela m'oblige quand même d'avoir le formulaire F_Journalier ouvert avant de saisir des données dans le formulaire T_SF_PanneMachine. En fait, on est dans le sens logique d'utilisation de la BDD. Donc, ça marche.
Encore merci à Pierre qui m'a ouvert les yeux. Cordialement Alain |
|
|
sujet actif
sujet clos
Important!
Nouveau message -
Rectifier message
Clôturer sujet
Remonter
|