Comment afficher sur un formulaire des champs d'une autre table

[Résolu/Fermé]
Signaler
Messages postés
200
Date d'inscription
samedi 4 juillet 2009
Statut
Membre
Dernière intervention
25 juillet 2016
-
Messages postés
200
Date d'inscription
samedi 4 juillet 2009
Statut
Membre
Dernière intervention
25 juillet 2016
-
Bonjour,

J'ai deux tables liées.

L'une, T1, comporte des individus avec leur nom. La seconde, T2, comporte des textes par individus. Elle est donc liée à la 1e par le nom (T1.nom)

Sur un formulaire des textes, le nom s'affiche sans problème

Je voudrais, en plus afficher sur mon formulaire le prénom et le pays, qui se trouvent eux aussi sur T1, Je le sais eux aussi définis sur la table T2.

Je ne sais pas comment faire pour définir, sur mon formulaire T2, mes champs prénom et pays qui viennent de T1.

Merci à qui voudra me dépanner.
Cordialement,
Roland

3 réponses

Messages postés
23763
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
13 janvier 2020
3 123
Salut,

tu crées la requête qui te permet d'afficher ce que tu souhaites (avec des éléments de T1 et T2) et ensuite tu crées ton formulaire T2 basé sur cette requête.
Messages postés
200
Date d'inscription
samedi 4 juillet 2009
Statut
Membre
Dernière intervention
25 juillet 2016
23
Bonjour et merci de ta réponse

J'ai essayé de créer une requête mais en fait je n'y arrive pas

Sur mon formulaire T2, j'avais tenté en paramètre "source" de mon champ "[Pays] de placer un code:
SELECT Participants.Pays FROM Participants INNER JOIN Textes ON Participants.identité = Textes.identité;

Mais ça ne me donne que #nom ? dans mon champ [Pays]
-------------------------------------
Quant à la requête, j'en ai créée une avec ce code SQL
SELECT Textes.identité AS Textes_identité, Textes.Titre, Participants.identité AS Participants_identité, Participants.Pays
FROM Participants INNER JOIN Textes ON Participants.identité = Textes.identité;

Mais là, et je ne sais pas pourquoi, j'ai un message d'erreur "Incohérence de type"

Si tu peux m'éclairer, je t'en remercie Car je suis paumé !
En fait je pense que tu auras compris que j'ai deux tables: Participants et Textes
Plusieurs textes par participants Les 2 tables sont liées sur un champ [Identité]
J'ai placé ce champ [Pays] aussi sur la table T2. Peut-être ne fallait-il pas le faire ?

Le pays se trouve sur T1 et, en fait, je ne voudrais seulement que l'afficher sur un formulaire T2


Cordialement,
Roland
Messages postés
23763
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
13 janvier 2020
3 123
Le champs pays n'a pas à être dans T2, si T1 et T2 sont en relation.
Tu fais une requête (avec l'assistant) dans laquelle tu choisis les champs que tu souhaites, tu la testes et lorsqu'elle renvoie ce que tu souhaites, tu fais un nouveau formulaire basé sur cette requête (avec l'assistant formulaire)
Messages postés
200
Date d'inscription
samedi 4 juillet 2009
Statut
Membre
Dernière intervention
25 juillet 2016
23
Merci Blux de ta patience. J'ai suivi ton conseil et je me suis accroché. Et je m'en suis sorti !!

Ce qui ne marchait pas, c'est tout con; Sur T1, le champ Participants.Identité est défini en format texte

Sur T2, le champ textes.identité est une zone liste de choix liée à Participants.identité
Ce que je n'avais pas vu, c'est que sur T2 ce champ est au format numérique. D'où l'incompatibilité de type dans mes égalités du code SQL:
Participants.Identité = textes.identité

Il m'a suffi de modifier le code SQL pour écrire: Participants.N° = textes.identité

Et tout fonctionne bien !
Encore merci de ta patience et de tes conseils super précis,
Bravo à ce site et à tous ses animateurs !
Roland