IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IHM Discussion :

Remplir plusieurs tables avec un formulaire unique


Sujet :

IHM

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2017
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Remplir plusieurs tables avec un formulaire unique
    Bonjour,

    Alors j’ai un petit problème, je souhaite créer un formulaire qui va me permettre de remplir plusieurs tables en même temps.

    Je suis en train de créer une base de donnée qui va me permettre de répertorier une liste de document avec leur pays d’origine, les artistes (qui peuvent être multiple), etc.
    Voilà un exemple de donné sous Excel que je dois mettre dans la base de donnée Access :

    Nom : 1.png
Affichages : 5857
Taille : 13,2 Ko

    On peut donc voir que plusieurs colonne peuvent avoir plusieurs valeurs.


    Du coup j’ai du créer plusieurs tables afin de gérer plusieurs artistes pour un même document par exemple. Voila pour les grandes lignes et cella donne le schéma de relation suivant :

    Nom : 2.png
Affichages : 6547
Taille : 42,1 Ko

    En sachant que :

    - Num_doc est remplis automatiquement dans la table Doc (du type Numérotation auto dans Access)
    - Les tables liste_*** (soit liste_pays / liste_sponsors / …) sont remplis par des formulaires indépendants dont l’objectif est que l’utilisateur ne se trompe pas lors de la saisie dans les tables Doc_**** (en gros liste_*** joue le rôle de liste de valeur pour la saisie dans Doc_***)

    Du coup je souhaite à l’aide d’un formulaire pour voir remplir mes tables et avoir un visuel comme ceci :

    Nom : 3.png
Affichages : 6251
Taille : 44,0 Ko

    Pour info la zone jaune est un sous-formulaire avec :

    - Doc_artistes => Nom des artistes sur le formulaire soit pour Doc_*** => Chaque table a un cadre.
    - Ils sont liées (champ père / champ fils) par « Reference document » qui correspond à l’attribut Num_doc
    - Quand je passe d’un doc à l’autre j’ai bien les sous formulaire correspondant.

    Donc j’arrive a visualiser mais je souhaite maintenant pouvoir remplir tous les champs avec UN formulaires sans passer par les tables une par une grâce par exemple à des menus déroulant comment puis-je faire ?

    J’ai du mal du au fait des tables multiples mais j’ai pensé à utiliser le formulaire précédent ou je peux bien modifier les données dans les sous formulaire (j’ai activé lors de la création des jointures les modifications/suppressions en cascade) mais le problème c’est que dans chaque tableau je ne peux pas mettre de menu déroulant avec comme source les tables Liste_***.

    Je ne sais pas si c’est assez claire mais en gros je veux partir des données de l’Excel précédent les saisir dans un formulaire unique et qu’il me remplisse toutes les tables Doc correspondantes et parfois il y aura plusieurs enregistrement dans une même table (exemple pour le Num_Doc = 3 je veux pouvoir rentre 4 mots clés (valeur) dans la table Doc_Mots_Clés (dont les valeurs existent bien dans la table Liste_mots_clés)).

    Merci d’avance de votre aide !

  2. #2
    Membre éprouvé
    Inscrit en
    Août 2008
    Messages
    740
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 740
    Points : 1 045
    Points
    1 045
    Par défaut
    Bonjour,

    voici une approche qui s'appuie sur une gestion dynamique entre formulaire et sous-formulaire

    il faut d'abord créer en plus des formulaires pour les tables des données initiales (artiste, lieu, mot clé..) et des requêtes ajout pour les liaisons

    Dans ton formulaire principal, à droite de chaque sous formulaire, tu insères 1 bouton double état et un bouton simple, par exemple pour les artistes:

    pour le bouton double état:
    - Afficher Source: l'action va afficher le formulaire qui liste tous les artistes et mettre à nul les champs child et master
    - Afficher Lien: l'action va afficher le formulaire de liaison entre evenement et artiste (le sourceobject) et remplir les champs child et master

    Pour le bouton simple
    - Lier: L'action va déclencher une requête ajout créant la relation entre événement et artiste

    l'action "Lier" n'étant disponible que lorsque on est en mode "Afficher Source"

    bref tu peux faire tout ça avec quelques macro, ou un peu de VBA

    note: il me semble que le pays devrait être un attribut du lieu et non une table à part

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2017
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    Merci beaucoup pour ton aide, c'est bon tout fonctionne !

    Désolé pour ma réponse tardive, j'ai eu des petits problèmes de santé...

    Bonne soirée !

  4. #4
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2019
    Messages : 69
    Points : 51
    Points
    51
    Par défaut Pouvez-vous me réexpliquer?
    Citation Envoyé par accessisgood Voir le message
    Bonjour,

    voici une approche qui s'appuie sur une gestion dynamique entre formulaire et sous-formulaire

    il faut d'abord créer en plus des formulaires pour les tables des données initiales (artiste, lieu, mot clé..) et des requêtes ajout pour les liaisons

    Dans ton formulaire principal, à droite de chaque sous formulaire, tu insères 1 bouton double état et un bouton simple, par exemple pour les artistes:

    pour le bouton double état:
    - Afficher Source: l'action va afficher le formulaire qui liste tous les artistes et mettre à nul les champs child et master
    - Afficher Lien: l'action va afficher le formulaire de liaison entre evenement et artiste (le sourceobject) et remplir les champs child et master

    Pour le bouton simple
    - Lier: L'action va déclencher une requête ajout créant la relation entre événement et artiste

    l'action "Lier" n'étant disponible que lorsque on est en mode "Afficher Source"

    bref tu peux faire tout ça avec quelques macro, ou un peu de VBA

    note: il me semble que le pays devrait être un attribut du lieu et non une table à part
    Bonjour,

    J'ai le même problème et je n'arrive pas à comprendre votre solution.

    Citation Envoyé par accessisgood Voir le message
    Bonjour,

    voici une approche qui s'appuie sur une gestion dynamique entre formulaire et sous-formulaire

    il faut d'abord créer en plus des formulaires pour les tables des données initiales (artiste, lieu, mot clé..) et des requêtes ajout pour les liaisons
    Donc il faut créer des formulaires basiques pour chaque tables c'est ça?

    Qu'est ce que des requêtes d'ajouts pour les liaisons?? comment faire cela?

    Citation Envoyé par accessisgood Voir le message
    Dans ton formulaire principal, à droite de chaque sous formulaire, tu insères 1 bouton double état et un bouton simple, par exemple pour les artistes:

    pour le bouton double état:
    - Afficher Source: l'action va afficher le formulaire qui liste tous les artistes et mettre à nul les champs child et master
    - Afficher Lien: l'action va afficher le formulaire de liaison entre evenement et artiste (le sourceobject) et remplir les champs child et master
    Donc si j'ai bien compris, tous mes formulaire "basique" de toute mes tables, je les glisse vers le grand formulaire principal?

    Pour pour les 2 boutons (double et simple), c'est quoi un bouton double? Un bouton à bascule?

    Après je n'ai pas compris le fin, "afficher source" c'est quoi? "mettre à nul les champs child et master" ??
    Idem pour le deuxième tiret...

    Merci beaucoup pour vos réponses!

    Nico

  5. #5
    Candidat au Club
    Homme Profil pro
    création des bases de données
    Inscrit en
    Juillet 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : création des bases de données

    Informations forums :
    Inscription : Juillet 2020
    Messages : 5
    Points : 4
    Points
    4
    Par défaut Partager ton expérience
    Bonsoir
    Je me demande est ce que vous avez réussi a résoudre ton problème si c'est le cas veuillez partager avec moi vos expérience par ce que j'ai tomber dans meme problème

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Remplir une table avec plusieurs formulaires
    Par morgane32 dans le forum IHM
    Réponses: 1
    Dernier message: 08/05/2009, 12h19
  2. Réponses: 2
    Dernier message: 19/06/2007, 11h00
  3. Accéder à plusieurs tables avec 1 formulaire
    Par mcinfo dans le forum IHM
    Réponses: 3
    Dernier message: 06/05/2007, 16h07
  4. Réponses: 2
    Dernier message: 11/04/2007, 12h14
  5. mettre à jour plusieurs tables avec un formulaire
    Par kangourou_agile dans le forum Access
    Réponses: 6
    Dernier message: 07/08/2006, 15h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo