Formulaire avec possibilités multiples

reservoirfrog

XLDnaute Occasionnel
Bonjour,

J'ai un formulaire access multi-onglets qui alimente une seule table principale.
L'onglet n°1 sert aux infos générales
Sur les 3 autres onglets, c'est la saisie au cas par cas de "commentaires" et infos supplémentaires qui sont liées aux infos entrées dans l'onglet 1.

Le truc, c'est que je peux avoir besoin d'entrer plusieurs fois des infos différentes dans les onglets 2,3 et 4.C'est a dire que les infos de l'onglet 1 seront dupliquées avec d'autres infos des autres onglets.

La structure de ma table est telle que je ne peux pas entrer plusieurs infos dans les champs uniques (ce qui va etre le cas). Par exemple (pour schématiser) , dans le 1er onglet, pour la voiture "toto" de "90cv", "rouge", dans le 2e onglet, on devrait etre capable d'entrer des infos différentes dans les memes champs ("3 portes" mais aussi "5 portes").

je ne sais pas comment procéder pour pouvoir alimenter plusieurs options sur une fiche spécifique.
Dois-je créer des tables différentes pour les infos des onglets 2,3 et 4 et les relier avec la table principale?

merci d'avance pour votre aide!
 

tototiti2008

XLDnaute Barbatruc
Re : Formulaire avec possibilités multiples

Bonjour reservoirfrog,

Dois-je créer des tables différentes pour les infos des onglets 2,3 et 4 et les relier avec la table principale?

Si j'ai bien compris, tu peux avoir plusieurs séries de valeurs des onglets 2, 3 et 4 pour une série de valeurs de l'onglet 1, donc oui, la structure de ta base devrait être un table pour les données de l'onglet 1 et d'autres tables liées pour les données des autres onglets, je pense.
Après, les données de tes onglets 2, 3 et 4 doivent-elles être mises dans la même table ou dans des tables différentes, ça dépend beaucoup de ces données et de leur lien(s) avec celles de l'onglet 1
Je pense qu'il nous faut un cas concret (comme ton exemple de voiture) mais décrit plus précisément pour te le dire
 

reservoirfrog

XLDnaute Occasionnel
Re : Formulaire avec possibilités multiples

Salut Tototiti2008,

Tu as compris le principe, c'est signe que j'ai été suffisament explicite (entre ce qui me trotte dans la tete et expliquer sur le papier...pas facile!).

En gros, j'ai un produit basique avec des caracteristiques en onglet 1 (infos qui ne changeront pas) et je souhaiterais, en appelant chaque fiche, lui attibuer des options et commentaires dans les onglets 2,3 et 4. Ces options et commentaires pourront etres multiples, c'est a dire, a chaque nouvelle info sur un onglet 2,3 ou 4, on créé un nouvel enregistrement qui sera lié aux infos (statiques) de l'onglet 1.
Si tu veux des infos plus imagées, je reste a ta disposition ;-)
 

tototiti2008

XLDnaute Barbatruc
Re : Formulaire avec possibilités multiples

Re,

Si tu veux des infos plus imagées, je reste a ta disposition ;-)

ça dépend de ce que tu attends comme réponse à ta question
En l'état de ton exemple, je ne vois pas comment te donner plus d'infos que je ne l'ai fait dans mon premier message
Qu'attends-tu de ton côté comme information supplémentaire ?
 

reservoirfrog

XLDnaute Occasionnel
Re : Formulaire avec possibilités multiples

Ce que je ne comprends pas c'est comment mettre en place le "truc", je veux dire, il se peut que pour l'onglet 1, on soit amené a remplir l'onglet 2 une ou dix fois différement.
Cela veut il dire qu'il y'aura 1 table différente par onglet (toutes reliées a ma table principale?)?

Exemple:
-onglet1: Concernant la voiture "toto" de "90cv", "rouge"
-Onglet2: option "toit ouvrant", "clim"
ou
-Onglet2: option "toit ouvrant", "vitres elec"

Meme principe pour les autres onglets, ces "options" sont "différentes" mais concernent la voiture "Toto" "90cv" "rouge"

Si je comprends bien, la table principale stockera les infos de l'onglet 1 et je devrais créer une table différente pour chaque onglet tous reliés a la table principale?! Et par requete, je pourrais appeler les infos dont j'ai besoin qui seront puisées dans ces différentes tables?!

Techniquement, comment je vais faire pour ouvrir un enregistrement de l'onglet 1 qui m'intéresse et créer un enregistrement avec une option différente sur les autres onglets?
 

tototiti2008

XLDnaute Barbatruc
Re : Formulaire avec possibilités multiples

Re,

Toujours pas clair pour moi, désolé
Si dans l'onglet 2 tu as plusieurs options (Toit ouvrant, Vitre électriques, clim), tu ne peux pas prendre 2 toits ouvrants pour la même voiture (ou alors je ne connais pas ce modèle), ce qui est en contradiction avec ce que tu avais mis :

Le truc, c'est que je peux avoir besoin d'entrer plusieurs fois des infos différentes dans les onglets 2,3 et 4.C'est a dire que les infos de l'onglet 1 seront dupliquées avec d'autres infos des autres onglets.

Dans le cas des options d'une voiture, on pourrait tout stocker dans la même table a priori, avec un champ par option
Pas sûr que ton exemple de voiture soit approprié pour décrire ta problématique réelle...
 

reservoirfrog

XLDnaute Occasionnel
Re : Formulaire avec possibilités multiples

Bonjour,
Effectivement, l'exemple des options de voiture ne colle pas, alors disons que dans les autres onglets on va parler des problemes rencontrés. Ce qui veut dire que pour un modele de véhicule, plusieurs "fiches problemes" peuvent etre remplies, d'ou la nécessité de tables différentes non?
 

chris

XLDnaute Barbatruc
Re : Formulaire avec possibilités multiples

Bonjour
Bise à Tototiti

Dans ce cas il faut 2 tables en relation de 1 à N voire également des tables de références pour les types de problème...

Tu travailles dans les services secrets pour être aussi évasif sur le contenu réel de la base.

Difficile de donner des réponses pertinentes dans ce brouillard...
 

reservoirfrog

XLDnaute Occasionnel
Re : Formulaire avec possibilités multiples

Bonjour,
Non, ce n'est pas ultra secret mais je dois garder un certain "secret professionnel"!
Bon, en travaillant sur cette base, j'en suis arrivé a faire 2 tables:
-1 table pour les "infos programme" et 1 table pour les "risques".
J'ai abandonné les onglets pour faire un formulaire unique sur requete hierarchique :-/

J'ai relié mes 2 tables sur la clé primaire (n° auto), est-ce correct?

Maintenant, ce qui me tracasse c'est comment appeller un enregistrement déja rempli avec les infos générales pour éventuellement créer une ou plusieures fiches de "risques" différentes (ce qui me créra une nouvelle fiche complete ou bien indépendement et les infos seront liées a "infos programmes"?). Le but est aussi, par requete, est d'apeller un critere quelconque et de retrouver les infos liées a ce critere (savoir ou il a été vu et quelles solutions ont été apportées).

Bon, ma base étant en création sans pratiquement aucune info, je la joins a ce message pour éclairer vos lanternes :)
Merci!
 

Pièces jointes

  • Suivi affaires.zip
    41.7 KB · Affichages: 113
  • Suivi affaires.zip
    41.7 KB · Affichages: 113
  • Suivi affaires.zip
    41.7 KB · Affichages: 111

chris

XLDnaute Barbatruc
Re : Formulaire avec possibilités multiples

Bonjour

Pour mettre les tables en relation il faut
  • une clé primaire dans chaque table
  • une clé étrangère du côté N = égale à la clé primaire de la table côté 1 afin de relier chacun des enregistrements côté N à un unique enregistrement bien identifié côté 1.
  • la relation doit être définie avec intégrité référentielle
Ici ce n'est pas très clair : un enregistrement de la table risque définit-il le risque de façon générale ou le risque spécifique à ce program ?

Je n'ai pas détaillé le contenu mais a priori il faudrait
  • une table des risques avec leur propriétés
  • une table des programs avec leur propriétés
  • une table de liaison risque /program : c'est là qu'on aura 0 à N risques rattachés à un program.
    Elle contient les clés primaires de chacune des tables risques et programs et, les propriétés de la liaison. Exemple date de survenance du risque pour ce programm, conditions, ... bref ce qui motive le lien entre un risque et un program.
Pour les formulaires on ne les construit pas par requête telle que tu l'as fait sinon on ne peut mettre à jour.
On crée un formulaire principal sur la table programs avec un (ou plusieurs) formulaire soit en sous-formulaire soit en formulaire attaché pour la table de liaison. C'est la relation qui va être prise en compte.

Comme la table de liaison ne contient que peu d'infos (elle ne contient pas les propriétés du risque qui ne dépendent pas du program) on peut, par diverses méthodes, afficher en lecture les propriétés détaillées d'un risque avant de saisir un enregistrement pour rattacher tel risque au program.
 

reservoirfrog

XLDnaute Occasionnel
Re : Formulaire avec possibilités multiples

Salut,

Pour etre plus précis: Un enregistrement de la table "risque" défini le risque sur un "produit" (avant tout) de la table programme. Un risque peut etre similaire a plusieurs "programme" et/ou "produit". Le but étant de créer une fiche pour tout nouveau risque.

Pour revenir a la structure de la base: La relation des clés primaires que j'ai défini sur "N° auto" n'est peut etre pas judicieuse a ce que je comprends...Je pense qu'il faut que je choisisse un élément qui sera (devra) etre selectionné impérativement (tel que le "produit" de la table "programs" qui sera lié "l'équipement" de la table "risques"), est-ce correct?

Par contre, je ne connais pas la "table liaison", parles tu relations de tables dans l'outil "relation" d'Access?
Et en ce qui concerne le formulaire, tu veux dire qu'il aurait fallu que je fasse un formulaire "programme" et un formulaire "risque"?

Pffff, pas facile a mettre en place c'te base...ça fait 3 fois que je recommence...et plus j'avance, plus je m'y perd, je ne suis pas assez calé et c'est difficile d'expliquer ce dont j'ai besoin...
 

chris

XLDnaute Barbatruc
Re : Formulaire avec possibilités multiples

RE

Je vais prendre un exemple plus général

Tu as des PC (dans une entreprise) : une table1 des PC avec les propriétés du PC (marque, taille mémoire,...)
Tu as des logiciels : une table2 des logiciels avec les propriétés du logiciel (Editeur, nom, version, ...)

Tu installes des logiciels sur des PC

Il te faut une table3 de lien PC/logiciel :
  • ID (clé primaire) du PC,
  • ID (clé primaire) du logiciel
  • le couple ID PC + ID logiciel est la clé primaire de cette table
  • date installation
  • ...
La table3 est en relation avec chacune des 2 autres :
  • 1 PC a 0 à N installations de logiciels : relation de ID PC table1 à ID PC table3
  • 1 logiciel a été installé 0 ou N fois : relation de ID logiciel table2 à ID logiciel table3

Le formulaire contient en partie principale table1 et en sous-formulaire table3.
Ceci permet de consulter/siaisir/mettre à jour un PC et ses logiciels installés.
Si on veut des détails sur tel logiciel pour ajouter ou consulter les enregistrements table3 dans le formulaire, il faut ajouter un moyen pour afficher des données de table2 correspondant à l'ID logiciel de table3.

Il faut vraiment bien comprendre la logique des BD et construire le schéma conceptuel de la base et de son fonctionnement avant de créer quoi que ce soit sinon on refait non pas 3 mais 20 fois...

Courage.
 
Dernière édition:

tototiti2008

XLDnaute Barbatruc
Re : Formulaire avec possibilités multiples

Bonjour reservoirfrog, Bonjour Chris :),

Je n'ai pas pu ouvrir ta base, mais si Chris t'oriente sur une table intermédiaire c'est que ça doit être la solution appropriée
La différence entre les 2 structures :

Cas 1 :
J'ai des magasins et des vendeurs, chaque vendeur ne travaille que pour un magasin
Il faut faire une phrase qui lie magasin et vendeur dans les 2 sens :
Phrase 1 : un magasin contient plusieurs vendeurs (1 à N)
Phrase 2 : un vendeur travaille pour un magasin (1 à 1)
Si 1 à N dans un sens et 1 à 1 dans l'autre, c'est une relation 1 à N directe

Cas 2 :
J'ai des PC et des logiciels, exemple de Chris
Phrase 1 : Un PC contient plusieurs logiciels (1 à N)
Phrase 2 : un logiciel peut être installé sur plusieurs PC (1 à N)
Si 1 à N dans les 2 sens, il s'agit d'une relation N à N, qui nécessite une table intermédiaire comme décrit par Chris

Juste une piste de réflexion pour comprendre une partie de la logique de création de ta structure de base
 

reservoirfrog

XLDnaute Occasionnel
Re : Formulaire avec possibilités multiples

Bonjour a vous 2,

Bon, j'ai bien lu et réfléchi a vos conseils, je pense avoir compris le principe de l'architecture des tables et de leurs logiques.
En bref:
1 table avec les infos des mes programmes (uniquement des selections dans des listes)
1 table avec les infos de risques (uniquement des selections dans des listes)
1 table avec les infos entrées au coup par coup

Je m'y mets pour refaire ça au propre!
 

chris

XLDnaute Barbatruc
Re : Formulaire avec possibilités multiples

Bonjour

Ton post me laisse perplexe :
des informations dans des listes
?
1 table avec les infos entrées au coup par coup ?

Je ne connais pas ton environnement mais je ne suis pas sûre que tu aies compris nos explications.

Une table c'est l'ensemble des enregistrements : 1 par program dans la table des programs, 1 par risque dans le table des risques.

Les différents champs permettent de qualifier un program dans une table, un risque dans l'autre.

Après la notion de liste et de sélection c'est l'aspect interface utilisateur qui permet de consulter, ajouter, mettre à jour les enregistrements via des formulaires.
 
Dernière édition:

Discussions similaires

Réponses
3
Affichages
558

Statistiques des forums

Discussions
314 628
Messages
2 111 342
Membres
111 107
dernier inscrit
cdel