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

Access Discussion :

lier les données de deux tables [AC-365]


Sujet :

Access

  1. #1
    Membre du Club
    Homme Profil pro
    Gestionnaire de parc micro-informatique
    Inscrit en
    Avril 2022
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Gestionnaire de parc micro-informatique
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Avril 2022
    Messages : 7
    Par défaut lier les données de deux tables
    Bonjour,

    J'aimerais solliciter votre aide pour une configuration de ma base Access.

    J'ai deux tables, l'une s'appelle Personnes et a plusieurs champs parmi lesquels Nom, Prénom, e-mail, et plein d'autres renseignements sur des individus.
    L'autre s'appelle Structures et recense des associations avec des champs tels que Nom, Ville siège, Président, e-mail président, etc...

    J'ai paramétré le champ Président de la table Structures en liste de choix de sorte que le prénom et le nom d'une personne puissent être désignés comme président de l'association concernée. J'ai pour cela utilisé le code SQL suivant dans la fonction "contenu" du mode création : SELECT [table_personnes].[ID], [table_personnes].[Prénom]&' '&[Nom] FROM table_personnes ORDER BY [Nom];
    Ma question est la suivante : comment paramétrer la colonne e-mail président de la table Structures afin qu'elle affiche automatiquement l'e-mail (issu de la table Personnes) de la personne choisie dans le champ Président décrit précédemment ?
    Cerise sur le gâteau, est-il possible de le faire sans passer par une requête, mais simplement en indiquant le code SQL dans la fonction "contenu" du champ ?

    Je remercie très vivement ceux qui auront au moins des pistes à me donner !

  2. #2
    Membre Expert Avatar de Zekraoui_Jakani
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    1 672
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 672
    Par défaut
    Si j'ai bien compris, après avoir choisi le président, son email devrait s'afficher
    Pour cela, il existe une fonction de domaine "Dlookup" en anglais et "Dom" en Français, je crois.

    Dans l'événement "après mise à jour" de la liste de choix, vous pouvez écrire ceci, pour alimenter une zone de texte appelée "e_Mail":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    e_Mail = Dlookup("[email]","[table_personnes]","[ID] = " & me.ComboBox1
    'Ici le séparateur est ","
    Ceci suppose que vous utilisez un formulaire avec une zone de texte appelée "e_Mail", et que votre liste s'appelle "ComboBox1"

    Si, par contre vous voulez afficher l'email dans un champ de requête, ce champ sera défini ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    e_Mail = Dlookup("[email]";"[table_personnes]";"[ID] = " & me.ComboBox1
    'Ici le séparateur est ";"

  3. #3
    Membre du Club
    Homme Profil pro
    Gestionnaire de parc micro-informatique
    Inscrit en
    Avril 2022
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Gestionnaire de parc micro-informatique
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Avril 2022
    Messages : 7
    Par défaut
    Bonjour,

    je vous remercie d'avoir pris le temps d'étudier mon cas et de me répondre. Je pense en effet que c'est la fontion DLookUp ou RechDom en français qui me sera utile. Vous me donnez les procédures pour un affichage en requête ou en formulaire, mais savez-vous s'il est possible d'utiliser cette fonction directement dans les paramètres du champ "e-mail président" de la table structures elle-même ? De cette façon, l'affichage automatique de l'e-mail se fera directement dans la table.

    Merci encore !!

  4. #4
    Membre Expert Avatar de Zekraoui_Jakani
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    1 672
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 672
    Par défaut
    Pour ce que vous voulez faire, il faudra définir le champ "e-mail" comme étant 'calculé'; l'ennui, c'est que le calcul se limite à de la simple arithmétique; La structure d'une table ne supporte pas encore les calculs complexes comme RechDom, entre autres. A vérifier tout de même, mais autant que je me souvienne, ça ne marchera pas, à moins que de nouvelles versions le permettent.

  5. #5
    Membre du Club
    Homme Profil pro
    Gestionnaire de parc micro-informatique
    Inscrit en
    Avril 2022
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Gestionnaire de parc micro-informatique
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Avril 2022
    Messages : 7
    Par défaut
    Je n'ai pas encore réussi à faire fonctionner ce code. J'abandonne l'idée d'afficher l'e-mail dans la table, alors j'ai récupéré tous les champs de la table structures dans une requête structures qui affichera le champ e-mail président dont j'ai besoin.
    Je ne comprends pas ce que désigne ComboBox1 dans votre exemple et à quoi correspond le code "me.".

    Finalement, quelle formule dois-je inscrire dans le champ "critère" de la colonne e-mail président de ma requête structures ?

  6. #6
    Membre Expert Avatar de Zekraoui_Jakani
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    1 672
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 672
    Par défaut
    Pourriez-vous poster copie de votre BD, avec infos fictives ?

  7. #7
    Membre du Club
    Homme Profil pro
    Gestionnaire de parc micro-informatique
    Inscrit en
    Avril 2022
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Gestionnaire de parc micro-informatique
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Avril 2022
    Messages : 7
    Par défaut
    Bonjour,

    J'ai finalement réussi à m'en sortir avec le code suivant :

    e-mail président: RechDom("[e-mail]";"[table_personnes]";"ID = " & Nz([Président];0) & "").

    J'ai dû rajouter le Nz pour ne pas avoir #Erreur dans les cas où le président n'est pas renseigné.

    Ce code se met dans la première ligne du champ concerné dans le mode création, là où les autres champs ont leur titre.

    Ce qui reste obscur pour moi, et qui m'a pris tellement de temps à trouver, c'est la syntaxe des guillemets, espaces et autres apostrophes, j'ai essayé toutes les combinaisons possibles et reçu tous les messages d'erreur qu'Access connaît !

    Je n'ai pas compris non plus la fonction des éperluettes dans cette formule.

    Si j'ai d'autres blocages dans ma base (je la fais pour mon job) je ne manquerai pas de revenir ici...

    Merci encore !!!

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 12/04/2010, 23h48
  2. [VB6]Grouper les données des deux tables dans une troisième
    Par Abed_H dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 29/04/2009, 11h29
  3. Comparer les données de deux tables ?
    Par bicz400 dans le forum Requêtes
    Réponses: 1
    Dernier message: 15/02/2008, 11h33
  4. lier les données de plusieur tables automatiquement
    Par fruitix31 dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 19/06/2007, 12h12
  5. exporter les données entre deux tables différentes ?
    Par tizilfin dans le forum Oracle
    Réponses: 3
    Dernier message: 12/03/2007, 15h39

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