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

Macros Access Discussion :

Remplir automatiquement une table.


Sujet :

Macros Access

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Avril 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Avril 2018
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Remplir automatiquement une table.
    Bonjour,

    Etant totalement débutant sur Access, je suis complètement perdu.
    Je me tourne vers ce forum pour essayer de trouver une solution à un problème auquel je ne trouve pas de solution.

    J'aimerais pouvoir remplir automatiquement une table à partir de certains champs remplie dans une autre table.
    Je m'explique, dans une table 1 je rentre des information sur un certain nombre de personne suivant plusieurs champs (chaque personne correspondant à un enregistrement). Dans une table 2, j'aimerais que toutes les personnes qui présentent des critères identiques se retrouvent dans cette table.
    Exemple: monsieur X et madame Y jouent au tennis, ils seront donc tous les deux dans une table appelé tennis, par exemple.

    Je fais cette demande dans le forum Macros Access parce que je pense qu'une macro devrais pouvoir régler ce problème, mais je n'y connais pas grand chose en macros.
    Je suis pas sûr d'avoir été claire dans ma demande donc n'hésitez pas à me demander des précisions si besoins.

    Merci d'avance,
    A bientôt.

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Dans une base de données relationnelle on évite autant que faire ce peut de recopier de l'information.

    On utilise des requêtes pour sélectionner l'information ou on se réfère à l'information dans sa table d'origine.

    Et une base Access est assez différente d'un fichier Excel.

    • En gros Access est à 1 dimension et utilise des listes, des listes de listes, des listes de listes de listes ...
    • Excel à 2 dimensions, les données sont organisées en ligne et en colonne et quand on veut ajouter de l'information on ajoute généralement une colonne.


    Je vais supposer que tu as quelques chose comme cela :

    tblPersonne
    ClefPersonne (numero auto)
    Nom
    Prenom
    Autres infos

    Liste de référence des personnes

    tblActivite
    ClefActivite (numero auto)
    Description
    Autres infos

    Liste de référence des activités

    tblActivitePersonne
    ClefActivitePersonne (numero auto)
    ClefPersonne (Entier long) 'Se réfère à la table de référence ne copie aucune des autres informations
    ClefActivite (entier long) 'Se réfère à la table de référence ne copie aucune des autres informations
    Autres infos (ex : date de l'activite)

    Liste des activités auxquelles participent les personnes.

    • en relation avec tblPersonne sur ClefPersonne
    • en relation avec tblActivite sur ClefActivite


    Les relations servent à montrer comment les listes de références (on les nomme "Entités" dans certains modèle et généralement "Tables") sont reliées entre elles.

    Pour avoir la liste des personnes qui font des activités (compréhensible pour un humain)
    1. Tu crées une nouvelle requête.
    2. Tu ajoutes les tables tblActivitePersonne, tblPersonne, tblActivite
    3. Tu sélectionnes tous les champs de tblActivitePersonne et tu les glisses dans les colonnes.
    4. Tu sélectionnes les champs Nom et Prenom (au moins) de tblPersonne et tu les glisses dans les colonnes.
    5. Tu sélectionnes le champ Description (au moins) de tblActivite et tu le glisses dans les colonnes.
    6. Tu sauvegardes (ex sous le nom reqActivitePersonne) et tu affiches le résultat.


    Cela va te donner toutes les personnes et toutes les activités qu'elles prtaiquent.

    Si tu ne veux que le tenis, tu ouvres reqActivitePersonne et dans la ligne des critères dans la colonne "Description" tu mets Tennis.
    Tu pourrais renommer cette requête reqActivitePersonne_Tennis pour que le nom corresponde au contenu.

    Voilà tu n'as pas à créer une table spécifique pour les gens qui pratiquent le tennis. ET SURTOUT tu n'as pas recopier de l'information, tu t'y est référé.

    Et si tu veux ceux qui pratiquent la natation la procédure est la même, il suffit de changer le critère de Tennis à Natation.

    Si tu as des difficultés n'hésite pas à demander des détails en précisant ce qui te pose des problèmes.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Avril 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Avril 2018
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci beaucoup de votre réponse.

    J'ai tout compris à part que je ne sait pas comment mettre en relation avec tblPersonne sur ClefPersonne et avec tblActivite sur ClefActivite

    De plus, mon but final est d'avoir un tableau excel avec le résultat de ma requête, qui soit mis à jour même si on ajoute des personnes, et ça je ne vois pas comment faire.

    Merci d'avance

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    je ne sait pas comment mettre en relation avec tblPersonne sur ClefPersonne et avec tblActivite sur ClefActivite
    1. Tu ouvres la fenêtres des relations (c'est dans le volet outils de la BD, il me semble).
    2. Tu y ajoutes tes 3 tables.
    3. Tu selectionnes le champ clef de la table de référence et tu les glisses vers la table utilisatrice.
    4. Tu coches "Appliquer l'intégrité référentielle". Elle s'assure que l'élément choisi existe bien dans la table de référence.
    5. Tu coches "Mettre à jour en cascade". Elle permet de "faire suivre" des modifications.


    De plus, mon but final est d'avoir un tableau excel avec le résultat de ma requête, qui soit mis à jour même si on ajoute des personnes
    La 1ère étape est de créer la requête.

    Pour la seconde, veux-tu que la création du Excel soit automatique ou que ce soit manuel ?
    Si tu dois faire cela régulièrement, je recommande l'automatisation.
    Si c'ets juste une fois, cela ne vaut pas le coût.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

Discussions similaires

  1. [AC-2013] remplir automatiquement une table de jointure
    Par minoucha007 dans le forum Access
    Réponses: 15
    Dernier message: 23/07/2015, 12h05
  2. [AC-2010] Remplir automatiquement une table par des champs calculés
    Par David_18 dans le forum Access
    Réponses: 1
    Dernier message: 03/06/2014, 15h01
  3. [AC-2007] Remplir automatiquement une table d'attribution via un formulaire
    Par tomatotep dans le forum IHM
    Réponses: 9
    Dernier message: 26/07/2012, 14h42
  4. Problème pour remplir automatiquement une table
    Par Atemi76 dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 30/07/2007, 16h31
  5. alimenter automatiquement une table access
    Par Mickey34 dans le forum Access
    Réponses: 8
    Dernier message: 24/11/2004, 17h55

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