Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Access > Conception

Conception Le forum qui vous aide à résoudre vos questions relatives à la modélisation de votre base de données sous Access.

Réponse
 
Outils de la discussion
Vieux 27/11/2008, 17h59   #1 (permalink)
Invité de passage
 
Date d'inscription: novembre 2008
Messages: 5
Par défaut [A-07] - Question de relations/jonction ?

,

J'essaie de créer sous access 2007 une base de données pour gérer une collection. Le basic je me debrouillais, VBA je bidouille mais Access c'est autre chose : très compliqué je trouve...

J'ai cherché un peu et j'ai pas vraiment trouvé donc je poste.

Voilà : j'ai une table A (N°A(clé), NomA, AttributA1, AttributA2 etc), une table B (N°B(clé), NomB, AttributsB1, AttributB2 etc), une C et une D idem.

Je voudrais créer une table Collection ([NomA ou NomB ou NomC ou NomC], AttributCollection1, AttribueCollection2, AttributA1, AttributB2)

Les tables A,B, C et D devant évidemment être en relation avec Collection.

Voilà. Je vous serais reconnaissant de me dire si c'est possible et si oui de me fournir quelques indications.

Merci d'avance,
Jeremie33 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 27/11/2008, 19h18   #2 (permalink)
Modérateur
 
Avatar de Chtulus
 
Date d'inscription: avril 2008
Localisation: Lyon
Âge: 29
Messages: 1 257
Envoyer un message via MSN à Chtulus
Par défaut

Bonjour et bienvenue,

je n'ai pas tout saisie !
C'est bien une table que tu veux ?

Tu aurais un jeu d'essais que l'on comprenne bien ce que tu recherche à faire ?

__________________
- De quelque manière qu'on s'y prenne on s'y prend toujours mal -
-Sigmund Freud-

SQL : http://sql.developpez.com/
Access : http://access.developpez.com/cours/

Chtulus est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 28/11/2008, 01h02   #3 (permalink)
Invité de passage
 
Date d'inscription: novembre 2008
Messages: 5
Par défaut

Bonsoir,

Plus concretement :
J'avais des tables :
- EUROS ( Nom, Faciale, etc)
- COFFRET (Nom, Nombre de pièces, etc)
- STARTER_KIT (Nom, Volume, etc)

Et je voulais cette table :

- COLLECTION (TOUS les noms dans une même colonne, Prix, Date d'achat etc) pour pouvoir, d'un seul clic dans un futur formulaire, trouver , ET les infos générales Et les infos particulières de ma collection.

J'suis clair là ?

Finalement j'indiquerai dans ma table COLLECTION d'ou provient le Nom (ie ou de EUROS ou de COFFRET ou de SK) et avec ces 2 informations je me débrouillerai en programmant. Je sens que je vais m'amuser...

C'est curieux que vous n'ayez pas compris ce que je voulais car ça doit être un cas d'école...car je suis presque sûr qu'il doit y a plus simple que ce que j'ai fait.

D'un autre coté cela me rassure : je reste l'immense génie informatique que j'ai toujours pensé être

En tout cas merci pour votre acceuil.

PS : c'est quoi un jeu d'essai ?
Jeremie33 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 28/11/2008, 22h51   #4 (permalink)
Invité de passage
 
Date d'inscription: novembre 2008
Messages: 5
Par défaut

Bonsoir,

C'est encore moi. J'ai réussi à faire ce que je veux mais il n'y a pas vraiment de relation entre mes tables EUROS, SK, ROULEAUX, COFFRET et ma table COLLECTION : c'est artificiel et je suis obligé de programmer des trucs bizarres pour que les modifications se répercutent dans mes tables.

C'est bien dommage : j'ai le soupçon qu'Access est un super programme mais je trouve qu'il est anti-intuitif : j'ai bien du mal à faire de petites choses.

Y aurait pas un big boss de l'informatique super intelligent qui verrait ce que je demande et qui pourrait m'aiguiller un peu ?

Autre chose comment se fait-il qu'après une instruction SQL Insert into et DoCmd.RunSQL une boite de dialogue apparait me demandant confirmation SANS QUE J'AI RIEN DEMANDE et qui bien sûr m'ennuie au plus haut point.

PS : Sans une petite réponse de quelqu'un je vous soumettrai sans aucune pitié mon projet de gestion d'une BANQUE

Chouette smilley !

Et aussi tant que j'y suis : l'aide d'access est SUPER nulle je trouve.
Jeremie33 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 29/11/2008, 03h29   #5 (permalink)
Responsable MSOffice

 
Avatar de Maxence HUBICHE
 
Date d'inscription: juin 2002
Localisation: Argenteuil (95)
Âge: 39
Messages: 3 586
Envoyer un message via MSN à Maxence HUBICHE Envoyer un message via Skype™ à Maxence HUBICHE
Par défaut

Bonjour !

Ton problème vient d'un défaut d'analyse de départ...
Tu as décidé de mettre les pièces d'un côté, les coffrets de l'autre, etc.
Alors qu'en fait, tu gères une collection d'objets qui ont des attributs variables.

Ta base est donc ta collection

Il ne te reste plusq qu'à avoir 4 tables en tout est pour tout
Une table tblxTypesObjets(tID, tNom)
Une table tblObjets(objID, objDateAchat, objPrix, #objFKtID)
Une table tblxAttributs (aID, aNom)
Une table tblAttributs (#attFKobjID, #attFKaID, attValeur)

Tes relations sont donc :
tblxTypesObjets.tID (1) - (n)tblObjets.objFKtIDtblObjets.objID (1) - (n) tblAttributs .attFKobjID
tblxAttributs.aID (1) - (n) tblAttributs .attFKaID
Il ne te restera plus qu'à avoir un formulaire basé sur Objets pour lister les objets de ta collection, et en sous-formulaire, d'afficher les attributs de l'objet affiché.
Tu pourras aussi faire une requête d'analyse croisée te permettra d'avoir le table exhaustif de tes attributs pour chaque objet, avec leurs valeurs.ais profiter des deux tables en tblx pour faire des listes déroulantes dans la table, sur les champs de clé étrangères auxquelles ils sont liés.

Voilà !



Concernant tes autres remarques...
1- access est un super produit, mais il faut faire un brin de Merise pour en retirer l'essence vitale
2- normalement, on ne pose qu'un question par enfilade (thread, ou suite de posts). Comme ce sont tes débuts, tu es excusé. Pour ne plus avoir le message lors de tes Docmd.RunSQL, ajout avant

Code :
docmd.SetWarnings  false
et, une fois ton code SQL exécuté, tu remets
Code :
docmd.SetWarnings  True
__________________
MVP Office Systems - Access
Je ne réponds pas aux questions techniques par MP

surtout ne cliquez pas >>là<< je vous aurai prévenu !
Profil LinkedIn <=> Viadeo
Pour une formation de qualité : 1formaxion
Maxence HUBICHE est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 29/11/2008, 08h20   #6 (permalink)
Rédacteur/Modérateur
 
Avatar de Jeannot45
 
Date d'inscription: octobre 2004
Localisation: Villemurlin près de Sully sur Loire
Âge: 59
Messages: 1 559
Par défaut



J'ajouterai à ce que t'a dit Maxence, un peu de lecture ne fait pas de mal :

la conception
les relations et les jointures

Bonne lecture
__________________
Jeannot
_________________________________________
On ne devrait pas demander l'impossible (L. De Vinci)
Ne pas prévoir, c'est déjà gémir ... (L. de Vinci)
La rigueur vient toujours à bout de l'obstacle. (L. De Vinci)
_____________________________
Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., Sources VBA

Utilisez le Forum pour poser vos questions pas ma MP
Jeannot45 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 29/11/2008, 10h23   #7 (permalink)
Invité de passage
 
Date d'inscription: novembre 2008
Messages: 5
Par défaut

Bonjour,

THE big boss m'a répondu il me semble

Le truc super c''est que c'est le week-end et que j'ai 48h !
Je vais donc réfléchir (c'est vrai que je ne réfléchis jamais avant de programmer ) à ce système d'attribut variables et voir ce Merise. Pour la lecture je suis un peu moins chaud car il y a tant à lire ! et des bons livres ! Mais je ferai un effort avec ces liens (que j'ai parcouru)

En tout cas j'ai mes pistes : SUPER

Encore merci pour votre intérêt (un peu suscité il est vrai )


PS : Le thread était "up" c'est pourquoi je me permets encore.
Jeremie33 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 05/12/2008, 16h21   #8 (permalink)
Invité de passage
 
Date d'inscription: novembre 2008
Messages: 5
Par défaut

Bonjour,

Je reviens sur ce forum car décidément je n'y arrive pas !

D'abord excuse moi Maxance je n'ai pas compris tes symboles informatiques (quid de # ? quid des soulignements ?). Et pourtant j'ai éssayé !

Ne les ayant pas compris j'ai continué ma méthode et bien sûr plus j'avance plus c'est du grand n'importe quoi (je ferai mieux d'écrire ma collection dans un grand cahier à spirale !)

Je ré-explique, j'ai :

- EUROS (euroID, Nom_Euro, Faciale, Contenu_dans,Poids,Nombre_Euros_Possédés, Images, etc)
- COFFRET (cofID, Nom_Coffret, Prix_Emission, Contiens, Nombre_Coffret_Possédés, etc)
- STARTER_KIT (stID, Nom_SK, Volume_SK, etc)
etc.

et je voudrais en relation avec ces tables une table collection qui serait de la forme :
- COLLECTION (idColl, Nom, Qualité, Prix d'achat, Date d'Achat etc) où Nom est soit un Nom_Euros soit un Nom_Coffret etc.

et surtout ce que je voudrais c'est pouvoir voir toutes les infos générales et particulières à partir du nom dans un formulaire (qui doit être au centre de tout je pense)

Moi je veux bien changer tout si j'ai tout faux mais concrétément comment faire ? Quelle structure adoptée ?

Par ailleurs, je ne l'avais pas dit dans les autres posts, j'ai une relation entre euro et coffret car les euros sont contenus dans les coffrets et les coffrets contiennent des euros !

Voilà. J'ajoute que je ne suis aucunement informaticien (vous l'auriez deviné !) donc le jargon...


Ouh ! Y a d'autres smiley par ici ! Allez les gars ! Tenons nous la main !
Jeremie33 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 09/12/2008, 09h10   #9 (permalink)
Modérateur
 
Avatar de Chtulus
 
Date d'inscription: avril 2008
Localisation: Lyon
Âge: 29
Messages: 1 257
Envoyer un message via MSN à Chtulus
Par défaut

Bonjour, Maxence, Jeannot

Ce que vous a donné Maxence représente les relations qui doivent exister entre vos tables.

Les attributs soulignés sont les clés primaire (PK) et celles avec les # devant sont les clés étrangéres (FK).

Citation:
Je ré-explique
Certes mais toujours sans les relations... Jeannot45 vous avez donné de la lecture il me semble.

Citation:
je voudrais en relation avec ces tables une table collection
Non, ça c'est le SQL qui vous le donnera. Vous passez outre les formes normales. A mon avis il faudrait revoir toute la conception de votre base et reprendre ce que Maxence vous a donné, tout le travail est fait !

Bref relisez bien les tutaux... et servez vous de ce que l'on vous donne !

__________________
- De quelque manière qu'on s'y prenne on s'y prend toujours mal -
-Sigmund Freud-

SQL : http://sql.developpez.com/
Access : http://access.developpez.com/cours/

Chtulus est déconnecté   Envoyer un message privé Réponse avec citation
NEWS ACCESSF.A.Q AccessF.A.Q VBATutorielsSourcesOutilsLivresAccess TVAccess 2007

Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Access > Conception



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide