- Aide sur champ
- Le nom du champ de tableau croisé dynamique n'est pas valide - Forum Excel
- &Quot;Nom de champ de TCD non valide" Excel 2007 - Forum Excel
- Champ lexical de village ✓ - Forum Études / Formation High-Tech
- Access champ calculé conditionnel - Forum Logiciels
- Excel champ calculé avec condition - Forum Excel
17 réponses
7 déc. 2022 à 10:41
bonjour,
peux-tu partager ton fichier?
Modifié le 7 déc. 2022 à 21:30
J 'ai déjà fait ce genre truc, mais c'était à partir d'une table contenant les codes postaux de Belgique.
Dans une premier temps, j'ai créé une table T_clients contenant les champs suivants :
Attention toutes fois, les champs CodeLocalite , Code Postal et Localité ont été ajouté par après
en mode Affichage cela donne ceci
ensuite , j'ai une table T_codes_pos avec les champs suivants
en mode affichage cela donne ceci :
j'ai créé la requête suivante :
ce qui affiche ceci
ensuite, on crée un formulaire en mode création
on va ajouter trois zones de liste déroulante à notre formulaire
Ici par défaut, la liste déroulante est nommée Modifiable 7 . je sélectionne comme sur l'image et fais suivant
ici, je choisi ma table T_codes_pos et appuye sur suivant
Je choisi le champs qui seront afficher dans la liste déroulante dans mon formulaire ici j'en choisi 3 Numéro; Code_pos et Commune_min puis suivant
je souhaite faire un tri par ordre croissant sur le champ Code_pos , ce qui aura pour but d'afficher par exemple le code postal 4000 puis 4001 etc..etc... comme sur l'image ci-dessous
je fais suivant
je fais encore suivant
je peux changer le nom de l'étiquette et appuyer sur terminer
je quitte le mode création pour le mode affichage (formulaire) et je peux voir le résultat de la première liste déroulante
pour la deuxième liste , je fais la même chose ou presque
ici je change l'ordre entre commune_min et Code_pos
il n'y pas besoin de faire un tri donc... suivant
Noté que le champ clé est caché , faite suivant
choisir suivant
je change Commune_min par Localité et j'appuye sur terminer
j'affiche le résultat et je peux voir que mes deux champs ont bien les données de la table T_codes_pos mais si je change la localité , le code postal ne change pas lui donc pour remédier à ce petit problème, je vais créer une troisième liste déroulante indépendante qui sera cachée dans le futur .
c'est ici que la magie s'opère dans la feuille de propriété de la liste déroulante , je vais taper CodeLocalite sur source contrôle (voir image ci-dessus) , ensuite sur contenu, je mets T_codes_pos (la table qui contient les codes postaux) , l'origine de la source quand a elle est sur Table/Requête enfin je mets sur colonnes liées : 3
Ensuite, toujours en mode création, je sélectionne la liste déroulante des codes postaux et dans la feuille des propriétés , sur source Contrôle , je mets CodeLocalite , contenu : T_codes_pos Origine : Table/Requête colonnes liée : 3
je fais de même pour la liste déroulante contenant les localités (villes) .
Si je reviens en mode affichage, vous pourrez voir que les trois listes contiennent des données, mais le problème reste le même. Nous allons donc dans le mode création sélectionner la liste déroulante qui sera cachée , nous allons dans l'onglet format des propriétés et nous allons changer les options suivantes :
Nombre de colonnes de 1 , on le mets sur 3
largeur colonne on peut mettre 3cm;0cm;0cm
Modifié le 7 déc. 2022 à 22:42
veuillez voir que sur le formulaire ci-dessous, la liste "modifiable11" a disparu ( visible =non)
Modifié le 8 déc. 2022 à 17:20
J'ai oublier de d'écrire que la table T_codes_pos , doit se comporter comme une table indépendante, je veux dire par là, que dans les relations de votre base de données, cette table n'est rattaché à aucune autre table comme sur l'image suivante :
Vous remarquerez que plusieurs tables ont comme champ CodeLocalite , ce qui signifie que ces tables interagissent à la table T_codes_pos . Elles vont chercher l'identifiant du code postal et/ou du nom de la commune et stock cet identifiant dans leur champ CodeLocalite
Exemple : dans table de mes codes postaux, la commune de Bruxelles dont le code postal est 1000 a pour identifiant le n° 414
Donc toutes les tables qui a le champ CodeLocalite sur 414 pointera dans la liste déroulante des codes postaux 1000 et dans la liste déroulante des localités Bruxelles.
Si , je change le code 414 par un autre , les listes déroulantes pointerons vers d'autres données.
j'espère que je me suis assez fait comprendre car c'est pas facile d'expliquer .
Si besoin, revenez vers moi .
ce serait bien de me montrer votre table via CJoint ou du moins une partie avec quelques données pour mieux comprendre votre table .
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question12 déc. 2022 à 15:30
La table des départements et celle des communes sont des tables séparée ?
comment se nomme la clé primaire sur la table des départements ?
et comment se nomme celle de la table des communes ?
exp: ID_départements ?
car sur le morceau de ta table communes, je ne vois pas l'ID , (sans doute caché ) par contre je vois les champs Nom ; Département; Code postal et zone
je suppose que si pour cela tu travaille sur deux tables, elles sont reliée dans les relations, et tu as sans doute fait une requête pour afficher le département, le numéro du département , puis le code postal et la commune
12 déc. 2022 à 15:34
tu peux toujours afficher le département ou son n° , mais je pense qu'il te fasse utilisé un champ indépendant dans ton forumailre comme je l'ai montrer plus haut voir post <16>
A tes suggestions, je ne te cache pas, que je suis plus que perdu dans ce type de manipulation.
Il faudrait que je trouve quelqu'un qui puisse m'assurer la maintenance, la modernisation et l'aide comme la formation pour adapter, optimiser et suivre ce travail de titan de remise à niveau.
Alors, j'essaye à mon petit niveau d'améliorer, mais, je suis loin d'être la personne car tout cela est pour moi de la programmation.
Alors, je suis preneur de tout, mais si on peut rester sur une base de donnée (en Access 2003) avec des requetes, je prends !
Je sais, j'en demande beaucoup et je vous remercie de toute l'aide que vous m'apportez.
15 déc. 2022 à 18:29
Bonjour,
Je ne connais pas ta et/ou tes tables avec lesquelles tu travaille, je pense que tu devrais peut-être avoir une table uniquement avec les codes postaux et une table avec les départements de FRANCE et dans les relations faire la liaison entre ces deux tables en ajoutant un champs ID_Dep par exemple ou le même nom que le champ ID de la table département dans la table des codes postaux , mais il faut changer le type NuméroAuto par Numérique dans la table des codes postaux.
voir les images suivantes :
relations entre les tables :
Je ne sais pas si je l'ai écris, mais j'ai aussi créé une requête pour faire le tris dans l'ordre croissant sur code_pos ici dans ma table
l'image suivante est la même requête , mais en mode SQL (Server Querry Language)
19 déc. 2022 à 18:49
Contrairement à ce que tu as écrit le 17 déc. 2022 à 11:47, le champ "Département" de la table "principale" ne contient rien d'utile.
Comme ta base de données n'est pas conforme aux bonnes pratiques, il est assez hasardeux d'y ajouter de nouvelles possibilités. Pour bien faire, il faudrait commencer par la rendre plus conforme.
Bonjour,
Je comprends.
Mais, sache que je ne suis pas compétent pour "moderniser" ou "mettre aux normes" un progiciel qui ne m'est pas dédié.
J'ai comme bon nombre de collègues pris le train en marche (mutation, retraite, etc...) et fait avec les moyens que je disposais.
Je n'ai pas l'autorisation pour faire évoluer ce dernier (même si ça ne ferait pas de mal) !
Je ne suis pas contre des ajustements, mais que cela ne modifie pas intégralement l'intégrité et le fonctionnement de notre application.
J'avais essayé de demander un passage en PhP-MySQL, mais cela a été abandonné ! Dommage, car ce langage est prometteur.
Si tu ne sais pas, peut pas ou autre mettre ce "fameux" numéro de département, cela ne perturbe pas l'utilisation et le bon fonctionnement.
Au plaisir de te lire.
Bonjour yg_be.
Mon fichier est très lourd : 27 468 Ko
7 déc. 2022 à 12:53
Même après compaction/réparation?
Le cadre en bleu au dessus du champ de liste déroulante permet d'afficher le numéro du département en fonction de la communes choisie qui fait référence à une table récapitulative des communes françaises ayant comme champ (Communes, Département, Code Postal)
Je voudrais que sur un autre formulaire, je puisse (je ne sais pas comment faire) avoir un "cartouche, un champ" qui va chercher dans cette table récapitulative des communes le département et me l'affiche.
Simple dans la théorie, mais dans la pratique, j'ai (#NOM ou #Erreur) d'où ma demande sur le forum.
Merci à toi.
7 déc. 2022 à 12:56
Pour commencer, comment est défini le contenu du cadre en bleu?
A quel moment est-il mis à jour?
Comment se fait le choix de la commune?
A quel moment cela serait-il affiché dans l'autre formulaire? Quel département faudrait-il afficher?
Voilà le contenu des propriétés du cadre bleu.
Il est mis à jour lorsque l'autocomplétion de la ville est vérifiée avec la table des communes.
L'affichage dans l'autre formulaire serait alors affiché dès qu'il se rendra sur la fiche pour la compléter.
Cet affichage de département serait les 2 ou 3 premiers chiffres (toujours selon la table des communes).
Je te mets la table dans une autre réponse.
7 déc. 2022 à 13:25
Qu'as-tu essayé?
Cela veut dire quoi, "dès qu'il se rendra sur la fiche pour la compléter"? Comment Access est-il au courant de cela?
Le formulaire d'origine est toujours ouvert à ce moment-là?
Ce serait plus clair si tu nommais tes formulaires.
As-tu essayé de récupérer dans le contrôle bleu du formulaire "fiche" le contenu du contrôle "Département" du formulaire d'origine?
Qu'as-tu essayé?
J'ai fait un copier-coller du cadre bleu du formulaire indiquant le numéro du département.
----------------------------------
Cela veut dire quoi, "dès qu'il se rendra sur la fiche pour la compléter"? Comment Access est-il au courant de cela?
Dès que l'on rentre dans le formulaire "Français" et que l'on renseigne la commune, le numéro du département s'affiche.
La partie partenaire ouvre alors son formulaire (qui a des champs communs avec le formulaire français) et y ajoute les informations.
C'est dans ce formulaire que je voudrais mettre le numéro du département.
----------------------------------------------
Le formulaire d'origine est toujours ouvert à ce moment-là?
Non, il ne l'est pas.
--------------------------------------------
Ce serait plus clair si tu nommais tes formulaires.
Oui, mais dans ce cas, il faudrait moderniser et changer de langage de programmation (PhP-MySQL) par ex.
---------------------------------
As-tu essayé de récupérer dans le contrôle bleu du formulaire "fiche" le contenu du contrôle "Département" du formulaire d'origine?
Je pense que c'est dans l'un des messages.
Merci.
7 déc. 2022 à 14:23
Oulà, c'est quoi cette partie partenaire?
Appelons donc le premier formulaire "français", et le second "fiche".
Si le formulaire "français" est fermé avant que le formulaire "fiche" s'ouvre, il faudrait donc mémoriser quelque part le numéro du département sur lequel on travaille.
Je pense qu'il y a trop d'éléments que tu n'as pas encore mentionné.
Je crains aussi que tu ne décrives uniquement que ce que tu vois (les formulaires), sans tenir compte d'autres éléments importants. Tu essaies probablement de corriger un problème ou d'améliorer quelque chose. Il serait sans doute utile que tu expliques ton objectif réel.
Alors, j'ai 2 formulaires.
Un français intitulé "Saisie" sur lequel il y a la liste déroulante et le numéro du département.
Un autre (partenaire) sur lequel je voudrais faire apparaitre le numéro du département saisi dans le formulaire français.
Le département fait parti d'une table nommée communes avec des champs regroupant le numéro du département et le code postal.
Il y a des champs communs entre les 2 formulaires (pas celui du département) et chacun son tour entre des renseignements pour compléter son formulaire.
Est-ce plus clair ?
7 déc. 2022 à 16:35
Je ne comprends pas l'enchainement des opérations.
Pourquoi fermer le formulaire "saisie" avant d'ouvrir le formulaire "partenaire"?
Comment cela se passe avec les contrôles communs aux deux formulaires? On dit "contrôle" pour des zones de formulaires, et "champ" pour les champs des tables.
7 déc. 2022 à 16:44
Sinon, ça fait conflit d'écriture !
Et j'ai des #Supprimé ou #Erreur dans les champs de saisie commun.
7 déc. 2022 à 17:42
OK, je ne pense pas pouvoir aider sans avoir le fichier.
Bonjour,
Voilà en PJ les diverses captures d'écran
https://www.cjoint.com/c/LLmhGbX21hd
https://www.cjoint.com/c/LLmhGOxhuNd
https://www.cjoint.com/c/LLmhHsm4VhK
https://www.cjoint.com/c/LLmhHSF6A2K
https://www.cjoint.com/c/LLmhNfUSosd
https://www.cjoint.com/c/LLmhNxAxmcK
https://www.cjoint.com/c/LLmhNMAlBFK
https://www.cjoint.com/c/LLmhNZPQZLK
Dans le Formulaire (F Form) il y a le champ du département qui s'affiche selon la commune saisie dans la liste déroulante se rattachant à la table "Communes".
Dans le formulaire (B Form), on peut voir (en haut à droite, dans un cartouche vert la Commune qui s'affiche - en relation avec celle saisie dans le formulaire F Form).
Précision (dans le formulaire B Form, on voir (en bleu un champ "Communes" - c'est un copier-coller du champ "Communes" du formulaire F Form, mais qui ne fonctionne pas) !
Si on peut faire apparaitre le nom de la commune, il devrait être possible de faire afficher à la place le numéro du département ou mieux peut être ajouter à ce champ le numéro du département ou le code postal) à la place d'un autre champ dans ce formulaire ?
J'ai mis les propriétés des 2 "champs" pour y voir plus clair.
Est-ce possible selon vous ?
Merci de vos éclaircissements et aide.
Cordialement.
12 déc. 2022 à 10:11
Peux-tu partager ton fichier, et pas des images?
12 déc. 2022 à 11:22
Bonjour Yg_Be
Voilà le fichier.
https://www.cjoint.com/c/LLmkvyGByrd
Merci de ton aide.
Je veux bien mais il est très lourd !
30 Mo
12 déc. 2022 à 11:38
Tu l'as compacté/réparé avec Access?
12 déc. 2022 à 15:09
Si je comprends bien, tu voudrais voir, dans le formulaire B, le n° du département.
Tu écris "Si on peut faire apparaitre le nom de la commune". Le nom de la commune est-il visible dans le formulaire B?
12 déc. 2022 à 15:18
Dans la table "Principale", il y a un champ "Département". Que contient-il en réalité?
Si possible, pourrais-tu partager un fichier avec des données de test?
12 déc. 2022 à 15:33
Si le champ "Département" de la table "Principale" contient le n° de département, je pense qu'il suffit d'ajouter dans le formulaire B un zone de texte, avec "Département" comme source.
12 déc. 2022 à 18:44
yg_be
Je te fais cela demain.
Si le champ "Département" de la table "Principale" contient le n° de département, je pense qu'il suffit d'ajouter dans le formulaire B un zone de texte, avec "Département" comme source.
J'ai bien essayé, mais j'obtients #NOM? , ou #Erreur?