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 via un formulaire


Sujet :

IHM

  1. #1
    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 Remplir plusieurs tables via un formulaire
    Bonjour,

    J'ai cherché pas mal de temps pour trouver la solution mais je n'ai rien trouvé ou alors trop complexe pour un débutant sur Access.

    Je souhaite remplir plusieurs tables via un seul formulaire.

    Voici mes tables avec les relations:
    Pièce jointe 473320

    Je suis débutant, je ne sais pas utiliser de code VBA, juste quelques macros, ou alors expliquer moi étape par étape si c'est la seule solution.

    Aujourd'hui je suis obligé de cliquer sur un bouton pour m'ouvrir le formulaire contact par exemple, le remplir puis revenir sur le formulaire principal et sélectionner l'enregistrement précédemment créer du contact via une liste déroulante. Ce n'est pas rapide et surtout quand il y aura 150 contacts ça va pas être du gâteau!

    Je vous remercie pour vos réponses!

    Nico

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Bonjour,

    Ce n'est pas propre à Access, mais dans n'importe quelle système de base de données, tu ne peux ajouter des informations dans la table ayant ta relation "à plusieurs" (entrepôt client) tant que tu n'as pas les informations dans la table initiale (Contacts). C'est la raison même des liaisons (éviter les incohérences).

    Si tu utilises comme tu dis une liste déroulante pour encoder tes contacts, tu peux utiliser son évènement "absence dans liste" avec le code proposé dans le =>https://access.developpez.com/faq/?page=zdl#AbsDsListe

    Après, l'ajout de nouvelles données des contacts vont se faire surtout au début de l'utilisation de l'application.

    Cordialement.

    PS : Access accepte tous les caractères dans les noms des champs et objets (tables, requêtes, formulaires, états), mais je te conseille de t'en tenir aux caractères alphanumériques (a-z, 0-9) et du souligné _ pour éviter certains bugs embétant.
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  3. #3
    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
    Citation Envoyé par madefemere Voir le message
    Bonjour,

    Ce n'est pas propre à Access, mais dans n'importe quelle système de base de données, tu ne peux ajouter des informations dans la table ayant ta relation "à plusieurs" (entrepôt client) tant que tu n'as pas les informations dans la table initiale (Contacts). C'est la raison même des liaisons (éviter les incohérences).
    Ah ok! Donc si je te suis, impossible de remplir plusieurs tables dans un même formulaire?

    Citation Envoyé par madefemere Voir le message
    Si tu utilises comme tu dis une liste déroulante pour encoder tes contacts, tu peux utiliser son évènement "absence dans liste" avec le code proposé dans le =>https://access.developpez.com/faq/?page=zdl#AbsDsListe
    Donc du coup cela fait quoi? Je n'ai pas compris à quoi cela pouvait servir ce bout de code. Et où le mettre?

    Citation Envoyé par madefemere Voir le message
    Après, l'ajout de nouvelles données des contacts vont se faire surtout au début de l'utilisation de l'application.
    Heuuuuu, non assez souvent? Car j'ai environ 500 entrepôts donc 500 contacts probablement. J'ai voulu mettre toutes ces données dans la table entrepôt mais ma tutrice de stage m'a dis de faire une table à part...


    Citation Envoyé par madefemere Voir le message
    PS : Access accepte tous les caractères dans les noms des champs et objets (tables, requêtes, formulaires, états), mais je te conseille de t'en tenir aux caractères alphanumériques (a-z, 0-9) et du souligné _ pour éviter certains bugs embétant.
    Tu fais référence à ma base? J'utilise trop de caractères spéciaux? (é,à,?...)

    Merci pour tes réponses!

    Nico

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Bonjour,

    Ah ok! Donc si je te suis, impossible de remplir plusieurs tables dans un même formulaire?
    Pas toujours, cela dépend des relations entre les données des tables en question.
    Donc du coup cela fait quoi? Je n'ai pas compris à quoi cela pouvait servir ce bout de code. Et où le mettre?
    Regardes l'exemple en pièce jointe. si tu veux quelque chose de plus performant (remplir toutes les informations,...) il faut adapter le code en ouvrant par exemple le formulaire des contacts et revenir après dans ton formulaire principal.
    Heuuuuu, non assez souvent? Car j'ai environ 500 entrepôts donc 500 contacts probablement.
    Tu peux saisir tes contacts une première fois dans ton formulaire contact et tu saisis les entrepôts en les appelant après. De toutes les façons, il faudra remplir les informations sur les contacts à un moment. Si c'est déjà numérisé, tu peux faire une requête pour les ajouter dans ta table.
    J'utilise trop de caractères spéciaux? (é,à,?...)
    Il y en a quoi .

    Cordialement.
    Fichiers attachés Fichiers attachés
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  5. #5
    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
    Citation Envoyé par madefemere Voir le message
    Bonjour,


    Pas toujours, cela dépend des relations entre les données des tables en question.
    J'aimerai juste pour la relations/tables entrepôt et contact, c'est la seule fois où je suis obligé de sortir de mon formulaire principal. Tu penses que c'est faisable? J'ai mon MCD sous la main si tu souhaite jeter un coup d'oeil!

    Citation Envoyé par madefemere Voir le message
    Tu peux saisir tes contacts une première fois dans ton formulaire contact et tu saisis les entrepôts en les appelant après. De toutes les façons, il faudra remplir les informations sur les contacts à un moment. Si c'est déjà numérisé, tu peux faire une requête pour les ajouter dans ta table.
    Je ne connais pas les contacts, enfin j'ai un numéro déjà mais je vais remplir la base en appelant les entrepôt directement. Je vais donc remplir la base au fur et à mesure.

    Citation Envoyé par madefemere Voir le message
    Il y en a quoi .

    Cordialement.
    Ok c'est noté pour la prochaine fois, je vais pas tout changer mnt, j'ai pas envie de tout faire buger!

    Citation Envoyé par madefemere Voir le message
    Regardes l'exemple en pièce jointe. si tu veux quelque chose de plus performant (remplir toutes les informations,...) il faut adapter le code en ouvrant par exemple le formulaire des contacts et revenir après dans ton formulaire principal.
    J'ai ouvert ton exemple mais je ne vois pas où regarder... Ni où mettre/adapter ce code... Quel menu? Quel onglet?

    Merci.

    Nico

  6. #6
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Tu ouvres le formulaire "F_Entrepot_client" et tu essaies de remplir les données !
    Pour les codes, tu te mets en mode création, tu vas sur la liste déroulante "Ref_contact" et tu vas dans sa propriété "évènements" - "sur Absence de la liste".
    Tu double-cliques et tu accèdes au code.

    Cordialement.
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  7. #7
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut


    Dans le MCD que tu as posté dans ton premier message, il y a une petite chose qui me gène au niveau de la table Contacts. Il serait plus judicieux d'avoir :
    une table ListeContacts contenant les champs d'un contact et une table Entreprise/Contacts qui ferait la jonction entre les deux tables Entreprise et ListeContacts.
    Et cela te permettrait d'avoir plus de contact.

    Nom : ListeContacts.jpg
Affichages : 225
Taille : 16,8 Ko
    Jeannot

    Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., Sources VBA

    Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre

  8. #8
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut


    Afin de compléter mon propos, je te joins une petite base de données exemple.
    J'utilise pour écrire dans la table T_Contacts un sous-formulaire.

    Qu'est-ce qu'un sous formulaire ?
    C'est une formulaire qui est relié au formulaire principal. Dans les propriétés du sous formulaire, tu trouveras les propriétés : Champ Père (Coté 1 de la relation) / Champs Fils (Coté Plusieurs de la relation).

    Je t'avais soulevé une anomalie sur ton MCD concernant les contacts. Dans ma base, j'ai donc repris le modèle que je t'ai indiqué dans le post précédent.
    Dans la base, il y a donc un formulaire principal (F_SaisieEntreprise) et un sous Formulaire (SF_Contacts) Les deux objets sont reliés par le champ Père (CodeEntreprise de la source du formulaire principal et le CodeEntreprise de la Source du Sous-Formulaire).

    J'espère quecet exemple te permettra de résoudre ton problème
    Fichiers attachés Fichiers attachés
    Jeannot

    Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., Sources VBA

    Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre

  9. #9
    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
    Bonjour,

    j'ai regardé ton exemple, je ne comprends pas trop.

    Certes tu as changé mon MCD, le sous formulaire ok, mais on ne peux pas saisir un nouveau contact dans le formulaire principal?

    Je t'ai envoyé un msg en mp, si tu veux que je t'envoie ma base!

    Merci,

    Nicolas

  10. #10
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut


    mais on ne peux pas saisir un nouveau contact dans le formulaire principal?
    Bien sûr que si, il te suffit d'utiliser les boutons de déplacement en bas du formulaire principal.
    Je n'avais pas pousser le formulaire jusqu'à y placer un bouton pour créer un nouvel enregistrement.
    Pour moi, le problème posé est simplement l'utilisation du sous-formulaire pour résoudre ta problématique
    Jeannot

    Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., Sources VBA

    Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre

Discussions similaires

  1. Remplir plusieurs tables avec un formulaire unique
    Par cedre06130 dans le forum IHM
    Réponses: 4
    Dernier message: 14/08/2020, 01h07
  2. Réponses: 6
    Dernier message: 17/05/2013, 10h52
  3. Réponses: 4
    Dernier message: 27/04/2013, 22h15
  4. [AC-2007] Formulaire pour remplir plusieurs tables (débutante access)
    Par korentine dans le forum IHM
    Réponses: 2
    Dernier message: 23/07/2010, 13h40
  5. Réponses: 2
    Dernier message: 11/04/2007, 12h14

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