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 02/12/2010, 18h06   #1
Invité régulier
 
Inscription : septembre 2009
Messages : 103
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 103
Points : 7
Points : 7
Par défaut Aide à la création d'une base pour un laboratoire pour remplacer une base Excel (projet en cours)

Bonjour à tous,

Dans l’optique de transposer une « base de donnée » actuellement sous Excel à une BDD sous Access, je me pose quelques questions et je suis devant certains points que je ne peux résoudre tout seul.

Information sur la base de données :

Cette base permet de regrouper, trier et stocker toutes les données concernant les demandes d’analyses chimiques de mon service.
Une demande d’analyse comporte un numéro unique (qui s’incrémente à chaque nouvelle demande), chaque demande peut avoir de 1 à X échantillons différents. Chaque échantillon d’une même demande subit le même type d’analyse (même éléments), mais d’une demande à l’autre les éléments ne sont pas forcément les même.

Chaque échantillon est identifié par un repère donné par le demandeur et par repaire de mon laboratoire, ce dernier s’incrémente à chaque nouvel échantillon (C-0001, C-0002, etc…).

Exemple :

--------------------------------------------------------------------------
N° de demande 1
Nb d’échantillon 3
Repère initial C-0001
Repère final C-0003
Eléments à analyser C, S, Mn, Al, Si
--------------------------------------------------------------------------
N° de demande 2
Nb d’échantillon 1
Repère initial C-0004
Repère final C-0004
Eléments à analyser C, S, O, N
--------------------------------------------------------------------------

Actuellement j’ai déjà commencé à créer la BDD. J’ai pour cela créé plusieurs tables.

La première « t_demandes_listing », qui regroupe les informations concernant la demande :

- N° de demande,
- Demandeur
- Nb d’échantillons
- Eléments à analyser (case à cocher)

La deuxième « t_echantillons_listing », qui regroupe les informations concernant les échantillons de la demande :

- Repère demandeur
- Repère laboratoire
- Nuance
- Code
- Coulée

Et une troisième « t_echantillons_analyse », qui regroupe les résultats des analyses pour les échantillons.

Afin de mener à bien ce projet j'ai quelques questions et j'espère sincèrement que vous aurez des réponses pour moi

Questions diverses (et variées...):

1/. Est-il possible lorsque je créé une nouvelle demande avec la première table d'incrémenter dans la deuxième table les nouveaux échantillons (une ligne par échantillon avec le bon repère)? Si cela est possible comment peut-on faire?

2/. Etant donné que pour une demande donnée les éléments sont les même pour tous les échantillons est-il possible de créer automatiquement (avec des cases à cocher) le même listing d'éléments pour chaque échantillons de la demande? Si oui comment?


Pour le moment c'est tout pour les questions, je suis désolé d'avoir été aussi long, mais ce projet est assez important pour moi et je n'ai plus fait de base avec Access ou Excel depuis un bail et je suis perdu...

En espérant que cela inspire quelqu'un, merci!
mandrake57 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2010, 18h33   #2
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 176
Points : 2 804
Points : 2 804
Bonjour Mandrake57,

Avant d'attaquer le process (tes "questions diverses et variées"), il faut bétonner la base de données (liste des tables, relations).

Plusieurs remarques :

t_demandes_listing (demandes) :
- N° de demande (numéro auto - clé primaire)
- Demandeur
- Nb d’échantillons
==> le nombre d'échantillon n'a pas besoin d'être stocké dans la table : nous avons cette information, en temps réel, via la table t_echantillons_listing. Il s'agit, si j'ai bien compris, d'un nombre à saisir pour générer automatiquement le nombre de ligne dans la table t_echantillons_listing.
- Eléments à analyser (case à cocher)
==> si tu as beaucoup d'éléments fluctuants susceptibles d'être analysés, la gestion par "case à cocher" ne convient pas (à chaque nouvel élément tu devra ajouter un champ dans cette table). Il serait, peut-être, plus judicieux de créer une table des éléments (avec un identifiant) que tu lierais avec les demandes.

t_echantillons_listing :
- Repère laboratoire ("C" + numéro auto - clé primaire)
- N° demande (pour liaison avec t_demandes_listing)
- Repère demandeur
- Nuance
- Code
- Coulée

t_echantillons_analyse :
- N° analyse (numéro auto - clé primaire)
- Repère laboratoire (pour liaison avec t_echantillons_listing)
- etc...

Si j'ai bien compris.
__________________
Dis-nous et à bientôt,
Richard.
----------------------------------------------------------------------------------------------
En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2010, 18h48   #3
Invité régulier
 
Inscription : septembre 2009
Messages : 103
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 103
Points : 7
Points : 7
Effectivement je n'ai pas assez détaillé mes tables...

Elles sont effectivement construites sous la forme que tu présentes.

Je suis ouvert à une autre solution que des cases à cocher pour la sélection des éléments à afficher en fonction de ceux qui doivent être analysés. Mais par contre je ne sais pas comment faire...

Merci pour ton aide!
mandrake57 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2010, 19h18   #4
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 176
Points : 2 804
Points : 2 804
Donc, il faut, en plus :

t_Elements (liste des éléments à analyser) :
- Id_element (n° auto - clé primaire)
- Code (C, S, Mn, etc...)
- libellé (nom en clair de C, S, Mn, Mn...)

t_Liaison_Demande_Element (liaison entre les demandes et les éléments concernés) :
- Id_liaison (n° auto - clé primaire)
- Id_demande
- Id_element
==> index unique Id_demande/Id_element (un seul couple possible) ;
==> t_demandes_listing 1--->N t_Liaison_Demande_Element, via Id_demande ;
==> t_Elements 1--->N t_Liaison_Demande_Element, via Id_element.
> Observation : cette table de liaison est nécessaire car 1 demande peut avoir plusieurs éléments à analyser et 1 éléments susceptible d'être analysé peut l'être dans plusieurs demandes.


Concernant les tables déjà évoquées :

t_demandes_listing (demandes) :
- Id_demande (numéro auto - clé primaire)
- Demandeur
- etc...

t_echantillons_listing :
- Id_Repere_laboratoire ("C" + numéro auto - clé primaire)
- Id_demande (pour liaison avec t_demandes_listing)
- Repère demandeur
- Nuance
- Code
- Coulée
==> t_demandes_listing 1--->N t_echantillons_listing, via Id_demande.

t_echantillons_analyse :
- N° analyse (numéro auto - clé primaire)
- Id_Repere_laboratoire (pour liaison avec t_echantillons_listing)
- etc...
==> t_echantillons_listing 1--->N t_echantillons_analyse, via Id_Repere_laboratoire.


Attention, cette étape est primordiale.
L'analyse présentée est-elle juste ?

A ta disposition pour d'éventuelles précisions.
__________________
Dis-nous et à bientôt,
Richard.
----------------------------------------------------------------------------------------------
En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2010, 19h39   #5
Invité régulier
 
Inscription : septembre 2009
Messages : 103
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 103
Points : 7
Points : 7
La table t_listing_elements existe déjà, je vais tester avec la table de liaisons.

Je te tiens au courant dans la soirée (au cas où tu serais encore là!).

Merci
mandrake57 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2010, 20h15   #6
Invité régulier
 
Inscription : septembre 2009
Messages : 103
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 103
Points : 7
Points : 7
Peux-tu me rappeler les paramètres pour obtenir les liaisons 1->N comme tu me les présentes?

En fait pour les deux premières liaisons (avec t_liaison_demandes_elements) j'obtiens des liaisons 1->1, alors que les autres c'est bon...

Une fois les relations créées, as-tu une idée de comment continuer (je suis tellement rouillé qu'il me faut vraiment une aide pour cette partie, après je pense que pour le reste de la base je commencerais à m'en sortir un peu mieux...).

Désolé pour toutes ces questions
mandrake57 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2010, 20h52   #7
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 176
Points : 2 804
Points : 2 804
Impossible !
As-tu lié avec les bons champs ?

Au besoin, fais une image écran de tes relations.
__________________
Dis-nous et à bientôt,
Richard.
----------------------------------------------------------------------------------------------
En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2010, 21h21   #8
Invité régulier
 
Inscription : septembre 2009
Messages : 103
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 103
Points : 7
Points : 7
Voila le screen

mandrake57 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2010, 21h42   #9
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 176
Points : 2 804
Points : 2 804
Vérifies l'index unique Id_demande/Id_element de t_Liaison_Demande_Element ?
Il faut les deux champs sous le même nom d'index.
__________________
Dis-nous et à bientôt,
Richard.
----------------------------------------------------------------------------------------------
En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2010, 21h52   #10
Invité régulier
 
Inscription : septembre 2009
Messages : 103
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 103
Points : 7
Points : 7
Précise moi comment faire un index unique, je dois effectivement calé, j'ai pas du faire tout correctement...
mandrake57 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2010, 21h57   #11
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 176
Points : 2 804
Points : 2 804
Supprimes la relation, d'abord, et supprime l'index, ensuite. Ceci dans un premier temps : nous recréerons l'index plus tard plus tard.
__________________
Dis-nous et à bientôt,
Richard.
----------------------------------------------------------------------------------------------
En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2010, 22h00   #12
Invité régulier
 
Inscription : septembre 2009
Messages : 103
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 103
Points : 7
Points : 7
J'ai supprimé les deux relations de la table liaison et j'ai supprmié les deux index N°Demande et IDElement
mandrake57 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2010, 22h04   #13
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 176
Points : 2 804
Points : 2 804
OK.
Si tu recrées la relation entre t_demandes_listing et t_Liaison_Demande_Element en faisant glisser Id_demande de t_demandes_listing vers t_Liaison_Demande_Element, tu devrais voir "un à plusieurs".
__________________
Dis-nous et à bientôt,
Richard.
----------------------------------------------------------------------------------------------
En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2010, 22h09   #14
Invité régulier
 
Inscription : septembre 2009
Messages : 103
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 103
Points : 7
Points : 7
non toujours 1 à 1...

Edit; C'est bon il y avait une erreur dans la table....
mandrake57 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2010, 22h12   #15
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 176
Points : 2 804
Points : 2 804
Supprimes la table de liaison de la fenêtre Relations, sort en sauvegardant, ré-ouvres Relations, ajoutes la table liaison, refais la liaison.
OK ?
__________________
Dis-nous et à bientôt,
Richard.
----------------------------------------------------------------------------------------------
En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2010, 22h13   #16
Invité régulier
 
Inscription : septembre 2009
Messages : 103
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 103
Points : 7
Points : 7
Oui c'est bon.

Que vois-tu à présent pour progresser par rapport aux questions du premier post?
mandrake57 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2010, 22h21   #17
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 176
Points : 2 804
Points : 2 804
Pour finir de bétonner la base, il faut créer l'index unique sur les deux champs :
- table liaison en mode création ;
- bouton index ;
- donner un nom d'index ;
- indiqier le nom du 1er champ ;
- sur la ligne suivante, sans remplir le nom de l'index, indiquer le second champ.
==> sauvegarder.
OK ?
__________________
Dis-nous et à bientôt,
Richard.
----------------------------------------------------------------------------------------------
En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2010, 22h25   #18
Invité régulier
 
Inscription : septembre 2009
Messages : 103
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 103
Points : 7
Points : 7
Euh j'ai pas suivit, j'ai jamais fait cette manip (ou alors j'utilise pas les mêmes termes).

Peux-tu préciser les champs que tu veux que j'indique (afin que je comprenne bien l'intérêt)?
mandrake57 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2010, 22h30   #19
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 176
Points : 2 804
Points : 2 804
Rappel :
Citation:
t_Liaison_Demande_Element (liaison entre les demandes et les éléments concernés) :
- Id_liaison (n° auto - clé primaire)
- Id_demande
- Id_element
==> index unique Id_demande/Id_element (un seul couple possible) ;
==> t_demandes_listing 1--->N t_Liaison_Demande_Element, via Id_demande ;
==> t_Elements 1--->N t_Liaison_Demande_Element, via Id_element.
> Observation : cette table de liaison est nécessaire car 1 demande peut avoir plusieurs éléments à analyser et 1 éléments susceptible d'être analysé peut l'être dans plusieurs demandes.
1er champ : N°demande ;
2ème champ : Id_element.
OK ?
__________________
Dis-nous et à bientôt,
Richard.
----------------------------------------------------------------------------------------------
En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2010, 22h31   #20
Invité régulier
 
Inscription : septembre 2009
Messages : 103
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 103
Points : 7
Points : 7
J'ai cliquer sur le bouton index (un éclair) dans le nom j'ai mis N°Demande/IDElement, dans le champ j'ai mis N°Demande et dans le champ juste en-dessous j'ai mis IDElement et j'ai mis oui pour unique et j'ai fermer la boîte de dialogue et sauvegarder.

Est-ce cela que tu voulais que j'effectue, car après je vois pas où il apparaît et à quoi cela sert.
mandrake57 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 12h57.


 
 
 
 
Partenaires

Hébergement Web