Afficher "France" alors que dans la table contient FR

Kami91

XLDnaute Junior
Bonjour à tous,

Hé oui encore moi avec ma base de donnée =P...

Dans ma table j'ai tous mes collègues et leurs informations...

Dans un champs Canton d'origine (je suis Suisse) il y a par exemple pour ma part : VD

Et lorsque je fais mon formulaire... et qu'on me cherche... ca affiche bien :"Prénom : raphael, Canton d'origine: VD.

Mon problème c'est que j'aimerai faire que ce ne soit plus VD, mais Vaud...

Le VD je dois le garder dans ma table....

Je pense qu'il faut créer une table supplémentaire, mais que contiendra-t-elle ? et les relations... je suis un peu perdu :S

Je vous remercie d'avance.
 

Pièces jointes

  • prob.Acces.Formulaire.JPG
    prob.Acces.Formulaire.JPG
    15.5 KB · Affichages: 156
  • prob.Acces.JPG
    prob.Acces.JPG
    29.6 KB · Affichages: 191

chris

XLDnaute Barbatruc
Re : Afficher "France" alors que dans la table contient FR

Bonjour

Il faut déjà savoir si tu as une table où sont associés VD et Vaud.

Il pourrait aussi y avoir une table des localités associées à un canton.

Donc sans la structure de la base, difficile de donner une réponse précise.

En général on a des tables de références (comme la liste des cantons par exemple) avec un code et un libellé. On établit une relation 1 à n avec le code, qui est la clé primaire de cette table de référence, et le champ correspondant dans la table des personnes dans ton cas.

Dans la structure de la table personnes on demande l'affichage du champ canton sous forme de liste déroulante basée sur la table de référence : on peut demander à voir 1 ou 2colonnes dont une des deux peut ou non être masquée (au choix).
Ainsi on stocke bien le code dans la table personnes mais on peut afficher le libellé ou les deux.

Ce choix se répercutera automatiquement sur tous les formulaires créés ensuite (pas rétroactif).
 
Dernière édition:

Kami91

XLDnaute Junior
Re : Afficher "France" alors que dans la table contient FR

Salut chris, et merci de ton aide.

Si j'ai bien compris, je dois créer une table supplémentaire avec comme clé primaire pour le canton en diminutif (VD pour Vaud) et faire une liaison avec ma table principale et la la lier avec les canton en diminutifs... 1-n... Ca donnerait ca avec les liaisons... ?

Pourtant lorsque j'appelle la table sur mon formulaire... il ne veut rien afficher...

=D

Merci de ton aide Chris.
 

Pièces jointes

  • solution.jpg
    solution.jpg
    38.7 KB · Affichages: 181
  • solution1.JPG
    solution1.JPG
    6.3 KB · Affichages: 199
  • solution2.jpg
    solution2.jpg
    53.9 KB · Affichages: 169
  • solution.jpg
    solution.jpg
    38.7 KB · Affichages: 200
  • solution.jpg
    solution.jpg
    38.7 KB · Affichages: 193

chris

XLDnaute Barbatruc
Re : Afficher "France" alors que dans la table contient FR

Bonjour
Dans la structure de la table personnes on demande l'affichage du champ canton sous forme de liste déroulante basée sur la table de référence : on peut demander à voir 1 ou 2colonnes dont une des deux peut ou non être masquée (au choix).
Ainsi on stocke bien le code dans la table personnes mais on peut afficher le libellé ou les deux.

Ce choix se répercutera automatiquement sur tous les formulaires créés ensuite (pas rétroactif).

Il faut donc éditer la structure de la table BDE et pour le champ canton, dans la partie basse des définitions, passer de l'onglet général au second onglet (j'ai ici une version US et je me souviens plus du nom français de cet onglet), Dérouler la première option et choisir liste déroulante puis paramétrer les options en dessous :

  • laisser table/Requête
  • en dessous sélectionner la table des cantons
  • laisser 1 en colonne liée
  • choisir 2 en nombre de colonnes
  • préciser les largeurs de colonnes : 0;3 par exemple pour masquer le code ou 1;3 pour le voir
  • en dernier sélectionner Non pour limiter le choix aux valeurs de la table de référence
Comme je l'ai dit, cela n'est pas rétroactif sur les formulaires existants : il faut remplacer le champ canton qui est en textbox par le même champ mais en liste déroulante.

En revanche si tu double cliques dans la liste de tes tables sur BDE, tu verras dans la liste de données que le champ canton est déroulant.
 

Kami91

XLDnaute Junior
Re : Afficher "France" alors que dans la table contient FR

Alors je crois avoir plus ou moin compris... donc maintenant j'ai pu cacher dans ma table la colonne vd et c'est Vaud maintenant...

Mon problème c'est le champ dans le formulaire... il reste en VD et si je créer un champ liste déroulante.... il est vide mais dans la liste déroulante il y a les infos en Diminutif une fois de +.... que fais-je de faux à ton avis ?

J'y crois... juste modifier l'affichage dans le formulaire et youpiii ^^ ..
 

Pièces jointes

  • Cantons.jpg
    Cantons.jpg
    12.7 KB · Affichages: 165

chris

XLDnaute Barbatruc
Re : Afficher "France" alors que dans la table contient FR

Re

Selon ton image (un peu limitée) cela à l'air OK dans la liste de données de ta table.

Pour le formulaire : une fois installé le champ en liste déroulante il faut modifier les paramètres de cet élément et répéter tout ce que tu as fais dans la table BDE (d'où l'intérêt de faire les relations et les dépendances avnt les formulaires !).

Eventuellement tu peux essayer de créer un formulaire instantanné sur la table BDE et de recopier le champ canton de ce formulaire dans le tiens (je ne sais plus si ce genre de copie marche).
 

Kami91

XLDnaute Junior
Re : Afficher "France" alors que dans la table contient FR

T'avais raison, c'était ca...

J'ai copier le champ d'un formulaire que je viens de créer et ca marche.... nikel !

Mais pourquoi faire avec un champ liste ? c'est dommage qu'on puisse pas avoir le même format.... c'est a dire : champ text....

Enfin bref, je me contente très biens de ça et je te remercie beaucoup !

Bonne journée, et sûrement à la prochaine (comme je me connais =P)
 

chris

XLDnaute Barbatruc
Re : Afficher "France" alors que dans la table contient FR

Re

C'est possible en champ texte mais plus compliqué car il faut passer par une requête qui affiche dans une champ indépendant le libellé du champ Canton qui lui est en code. Et cette requête doit se relancer dès qu'on touche au champs Canton. Donc VBA nécessaire.

La liste déroulante est donc la solution la plus simple et la plus logique. En plus elle permet de contrôler la saisie et de garantir la cohérence de la BD.
 

Discussions similaires

Statistiques des forums

Discussions
314 628
Messages
2 111 333
Membres
111 104
dernier inscrit
JEMADA