Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Modélisation
Modélisation Le forum qui vous aide à résoudre vos questions relatives à la modélisation (tables et relations) de votre base de données sous Access. Pour les états et les formulaires, postez dans le forum IHM.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/09/2007, 15h00   #1
Membre actif
 
Homme David
Inscription : septembre 2007
Messages : 354
Détails du profil
Informations personnelles :
Nom : Homme David
Localisation : France

Informations professionnelles :
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : septembre 2007
Messages : 354
Points : 195
Points : 195
Par défaut Tables sous access

bonjour,

je suis entrain de faire une base de données sous access pour gérer des échantillons dans un labo avec plusieurs analyses par échantillons et des calculs pour chaque analyse!
Pour l'instant j'ai fait qu'une seule table avec la description de l'échantillon, les analyses à faire (case à cocher) et tous les calculs que je fais avec des requête.Mon problème est que mon unique table devient assez lourde.
Je voudrais que dans ma table échantillon on puisse choisir les analyses à faire.
Et j'aimerais créer des tables pour chaque analyse mais je ne sais pas comment lier tout cela avec ma table échantillon.
Quelqu'un a-t-il une idée?
Merci
damalaan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/09/2007, 15h03   #2
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 625
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 625
Points : 30 920
Points : 30 920
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
Bonjour

Un peu plus de détail nous aiderait beaucoup.

Qu'as tu actuellement dans ta table.

Avant va jeter un coup d'oeil à ce tuto : http://mhubiche.developpez.com/Access/cours/bases/

Starec
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/09/2007, 16h21   #3
Membre actif
 
Homme David
Inscription : septembre 2007
Messages : 354
Détails du profil
Informations personnelles :
Nom : Homme David
Localisation : France

Informations professionnelles :
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : septembre 2007
Messages : 354
Points : 195
Points : 195
Dans ma grosse "table actuelle" j'ai
-un numéro d'échantillon (ma clef)
-plusieurs champs de renseignement : clients, nature, date réception
puis tous les champs avec les types d'analyse avec des cases à cocher
puis plus de 40 champs numérique (en général des résultats de pesée et de densité optique) relatifs aux analyses
Donc ces champs sont tous dans la même table, je les trie avec des requêtes où je fait également mes calculs par analyse.
Est-ce que c'est plus explicite?!
damalaan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/09/2007, 16h42   #4
Rédacteur/Modérateur
 
Avatar de Siguillaume
 
Homme Guillaume SIGUI
Chef de projet en SSII
Inscription : août 2007
Messages : 2 388
Détails du profil
Informations personnelles :
Nom : Homme Guillaume SIGUI
Localisation : Côte d'Ivoire

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : août 2007
Messages : 2 388
Points : 3 177
Points : 3 177
Envoyer un message via Yahoo à Siguillaume Envoyer un message via Skype™ à Siguillaume
Je ne vois pas exactement le problème.
Quelles differences y a-t-il entre tes échantillons?
Ont-ils des caractéristiques différentes?

Si oui, alors regroupes les par groupes des caractéristiques et crée une table pour chaque groupe. DAns ce cas, pas besoin de relations entre tes tables.

Si non, crée d'autre table et relie par une relation un à un:mais c'est pas très interessant de procéder ainsi. Je te conseillerai ici de conserver ta seule table.

Si tu fournis d'autres details, je pourrai mieux savoir de quoi il s'agit.

A bientôt
Siguillaume est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2007, 16h44   #5
Membre confirmé
 
Avatar de spaiku
 
Chef de projet MOA
Inscription : septembre 2007
Messages : 191
Détails du profil
Informations personnelles :
Âge : 32
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Chef de projet MOA
Secteur : Arts - Culture

Informations forums :
Inscription : septembre 2007
Messages : 191
Points : 250
Points : 250
Bonjour,

je crois comprendre que tu travailles directement sur ta table, et que tu es gêné par sa volumétrie, notamment le nombre de champs (colonnes).

Si c'est bien cela, je te conseille de créer des formulaires qui te permettront d'avoir une lecture et une saisie plus simples et plus claires.
spaiku est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2007, 23h39   #6
Membre actif
 
Homme David
Inscription : septembre 2007
Messages : 354
Détails du profil
Informations personnelles :
Nom : Homme David
Localisation : France

Informations professionnelles :
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : septembre 2007
Messages : 354
Points : 195
Points : 195
effectivement ma table risque d'atteindre rapidement les 255 champs
En fait, chacun de mes échantillons à ses propres données pour les analyses (poids, do, concentration etc), c'est pour ça que je suis parti pour une seule table.
Mais je me suis aperçu que d'autres analyses vont s'ajouter rapidement (avec toutes les données qui vont avec) augmentant sans cesse le nombre de champs.
Je me demande donc s'il ne faudrait pas que je crée une table échantillon avec les renseignements génériques puis une table par analyse. ainsi à chaque nouvelle analyse, je n'aurais plus qu'a créer une table. je pense que ce serait "plus propre".
Par contre comment relier tout ça?
damalaan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2007, 09h13   #7
Membre confirmé
 
Avatar de spaiku
 
Chef de projet MOA
Inscription : septembre 2007
Messages : 191
Détails du profil
Informations personnelles :
Âge : 32
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Chef de projet MOA
Secteur : Arts - Culture

Informations forums :
Inscription : septembre 2007
Messages : 191
Points : 250
Points : 250
Effectivement, la solution que tu envisages me semble être la bonne.

Relier des tables n'est pas très difficile. Tu trouveras facilement un tuto pour te l'expliquer.
spaiku est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2007, 09h49   #8
Membre actif
 
Homme David
Inscription : septembre 2007
Messages : 354
Détails du profil
Informations personnelles :
Nom : Homme David
Localisation : France

Informations professionnelles :
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : septembre 2007
Messages : 354
Points : 195
Points : 195
j'ai commencé à chercher des tuto mais les relations un à un ne semblent pas être très courantes.
ce que je voudrais, si je fais ma base de cette manière, c'est quand je coche les analyses à faire dans ma table générale, automatiquement le n° d'échantillon s'inscrive dans la table de l'analyse correspondant à ma case à cocher!
damalaan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2007, 10h50   #9
Membre confirmé
 
Avatar de spaiku
 
Chef de projet MOA
Inscription : septembre 2007
Messages : 191
Détails du profil
Informations personnelles :
Âge : 32
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Chef de projet MOA
Secteur : Arts - Culture

Informations forums :
Inscription : septembre 2007
Messages : 191
Points : 250
Points : 250
Si tu n'es plus dans une pure logique de saisie, mais que tu veux programmer quelque chose "d'intelligent" (du genre de ce que tu viens de décrire), il va falloir que tu passes par des formulaires et du vba. Ca devient un peu plus complexe que de la "simple" définition de tables.
spaiku est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2007, 13h33   #10
Rédacteur/Modérateur
 
Avatar de Siguillaume
 
Homme Guillaume SIGUI
Chef de projet en SSII
Inscription : août 2007
Messages : 2 388
Détails du profil
Informations personnelles :
Nom : Homme Guillaume SIGUI
Localisation : Côte d'Ivoire

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : août 2007
Messages : 2 388
Points : 3 177
Points : 3 177
Envoyer un message via Yahoo à Siguillaume Envoyer un message via Skype™ à Siguillaume
Bonjour!
je suis d'avis avec spaiku.
Il serait nettement avantageux que tu crée des formulaires repartis selon les champs.
Mais si le nombre de champs est supérieure à 255, tu devras faire plusieurs tables. Les relier ne sera pas très compliqués.
Dans ce second cas, tu commences par concevoir ta base de données sur une feuille à l'écrit (en définissant ton modèle entité -association et ton modèle logique des données relationnelles) puis à partir des règles de passage (dispo sur les tutos) tu créent des différentes tables.
Siguillaume est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2007, 22h57   #11
Membre Expert
 
Avatar de bernardmichel
 
Inscription : janvier 2004
Messages : 985
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 985
Points : 1 028
Points : 1 028
Envoyer un message via MSN à bernardmichel Envoyer un message via Skype™ à bernardmichel
Citation:
Envoyé par elnipal Voir le message
effectivement ma table risque d'atteindre rapidement les 255 champs >>>>>>>>>>>> Mon Dieu quelle horreur !!!

Je me demande donc s'il ne faudrait pas que je crée une table échantillon avec les renseignements génériques puis une table par analyse. ainsi à chaque nouvelle analyse, je n'aurais plus qu'a créer une table. je pense que ce serait "plus propre". >>>>>>>>> Ne te demande plus, c'est tout à fait cela qu'il te faut faire !
Par contre comment relier tout ça?
Pour "relier tout ça", c'est très simple :
  • Dans ta table "tblEchantillons", tu crées un champ : "IdEchantillons" (NuméroAuto)
  • Dans toutes les autres trables, tu répètes ce champs "IdEchantillon" mais tu le définis en "Numérique" (Entier long)
  • Dès lors, tu peux définir des liaisons très fiables et même choisir "Intégrité référentielle" afin que toutes tes tables se mettent à jour à la moindre modification.
bernardmichel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/10/2007, 13h32   #12
Membre actif
 
Homme David
Inscription : septembre 2007
Messages : 354
Détails du profil
Informations personnelles :
Nom : Homme David
Localisation : France

Informations professionnelles :
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : septembre 2007
Messages : 354
Points : 195
Points : 195
Bon ça y est j'ai fait des tables indépendantes pour chaque analyse que j'ai relié par un relation 1-1 avec une table générale.
Mais maintenant j'ai un problème avec des requêtes!!!
Mes échantillons sont regroupés en semaine, j'ai donc une table semaine reliée en 1-plusieurs à la table échantillon.
j'ai fait une requête (par analyse) qui, quand on l'ouvre, me demande la semaine avec laquelle je veux travailler et qui m'affiche les échantillons ainsi que les champs numériques relatifs à mon analyse. Dans cette requête je saisis donc des données et je fait également des calculs avec ces données. jusque là tout va bien!
Maintenant, je voudrais faire une requête qui me demanderait le n° de semaine et qui m'affiche uniquement les résultats de tous les échantillons et de toutes les analyses.
j'ai donc essayé de faire une nouvelle requête à partir de ma requête précédente , mais j'ai un message d'erreur : "l'assistant ne peut ouvrir votre requete en mode feuille de données, peutêtre parce qu'un autre utilisateur a ouvert une table source en mode exclusif. votre requete sera ouverte en mode création" alors que toutes mes tables sont fermées.
qqn a-t-il une solution?
Merci
damalaan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/10/2007, 14h09   #13
Membre Expert
 
Avatar de bernardmichel
 
Inscription : janvier 2004
Messages : 985
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 985
Points : 1 028
Points : 1 028
Envoyer un message via MSN à bernardmichel Envoyer un message via Skype™ à bernardmichel
Peux-tu joindre à ton prochain post le code SQL de ta requête ?
bernardmichel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/10/2007, 14h20   #14
Membre actif
 
Homme David
Inscription : septembre 2007
Messages : 354
Détails du profil
Informations personnelles :
Nom : Homme David
Localisation : France

Informations professionnelles :
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : septembre 2007
Messages : 354
Points : 195
Points : 195
Voila le code sql

SELECT semaine.semaine, RECEPTION.[n° échantillon], [amidon résultat].Ramid
FROM semaine INNER JOIN (RECEPTION INNER JOIN [amidon résultat] ON RECEPTION.[n° échantillon] = [amidon résultat].[N° échantillon]) ON semaine.semaine = RECEPTION.semaine;
damalaan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/10/2007, 16h33   #15
Membre Expert
 
Avatar de bernardmichel
 
Inscription : janvier 2004
Messages : 985
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 985
Points : 1 028
Points : 1 028
Envoyer un message via MSN à bernardmichel Envoyer un message via Skype™ à bernardmichel
Citation:
Envoyé par elnipal Voir le message
SELECT semaine.semaine, RECEPTION.[n° échantillon], [amidon résultat].Ramid
FROM semaine INNER JOIN (RECEPTION INNER JOIN [amidon résultat] ON RECEPTION.[n° échantillon] = [amidon résultat].[N° échantillon]) ON semaine.semaine = RECEPTION.semaine;
Si je comprends bien, tu travailles avec trois tables :
  1. semaine
  2. RECEPTION
  3. amidon résultat
et tu relies :
  • les tables 2 et 3 par les champs "n° échantillon" & "N° échantillon
  • les tables 1 & 2 par les champs "semaine" & "semaine"
alors, essaies ceci (que tu colles dans le SQL de ta requête pour l'ouvrir en mode graphique) :
Code :
1
2
3
SELECT semaine.semaine, RECEPTION.[n° échantillon], [amidon résultat].Ramid
FROM semaine INNER JOIN (RECEPTION INNER JOIN [amidon résultat] ON RECEPTION.[n° échantillon] = [amidon résultat].[N° échantillon]) ON semaine.semaine = RECEPTION.semaine
WHERE (((semaine.semaine) Like [Ouvrir quelle semaine ?] & "*"));
bernardmichel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/10/2007, 16h43   #16
Membre actif
 
Homme David
Inscription : septembre 2007
Messages : 354
Détails du profil
Informations personnelles :
Nom : Homme David
Localisation : France

Informations professionnelles :
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : septembre 2007
Messages : 354
Points : 195
Points : 195
j'ai l'erreur suivante:
"vous avez essayé de verrouiller le table "semaine requete" pendant son ouvertue, mais elle ne peut être verrouillée car elle est en cours d'utilisation.
attendez un moment et recommencez l'opération."
semaine et n°échantillon proviennent de tables (semaine et réception) et amidon résultat est une requete faite sur la table réception, sur la table amidon et semaine (dans la table semaine j'ai aussi des données qui me servent à faire des calculs ) voici son code:
Code :
1
2
3
SELECT amidon.[N° échantillon], amidon.amidon, amidon.amid_péch, amidon.amid_abs1 AS amidon_amid_abs1, amidon.amid_abs2 AS amidon_amid_abs2, semaine.Amid_abs1 AS semaine_Amid_abs1, semaine.Amid_abs2 AS semaine_Amid_abs2, ((([amidon_amid_abs2]-[amidon_amid_abs1])-([semaine_Amid_abs2]-[semaine_Amid_abs1]))*0.863*150*0.9)/(10*[amid_péch]) AS Ramid
FROM semaine INNER JOIN (RECEPTION INNER JOIN amidon ON RECEPTION.[n° échantillon]=amidon.[N° échantillon]) ON semaine.semaine=RECEPTION.semaine
WHERE (((amidon.amidon)=-1));
damalaan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2007, 08h58   #17
Membre Expert
 
Avatar de bernardmichel
 
Inscription : janvier 2004
Messages : 985
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 985
Points : 1 028
Points : 1 028
Envoyer un message via MSN à bernardmichel Envoyer un message via Skype™ à bernardmichel
Le plus simple serait que tu allèges ta base (uniquement les objets concernés et le minimum de données pour les tests), que tu la compresses (zip, rar) et que tu la place en attaché avec ton prochain post.
Il est très difficile d'imaginer précisément un contexte
bernardmichel est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h58.


 
 
 
 
Partenaires

Hébergement Web