|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : août 2011 Messages : 3 ![]() |
Bonjour à tous,
Dans ma base access, j'ai un formulaire regroupant les champs de la table Clients (code source du formulaire). Dans la table Clients j'ai un champ "code activité". Je voudrai quand je choisis un enregistrement (1 client) suivant son "code activité" son secteur d'activité soit automatiquement afficher dans un champ texte du formulaire, sachant que j'ai une table nommé "Secteur d'activité" ayant 2 champs "code activité" et "secteur d'activité". Merci d'avance de votre aide |
|
|
00
|
|
|
#2 |
|
Membre régulier
![]() Marcel Directeur technique Inscription : avril 2011 Messages : 100 ![]() |
Bonjour Chenin,
Je pense que tu veux encoder des clients , et leur attribuer un secteur d'activité stocké dans une autre table. Si c'est bien celà, il y a pas mal de détails à corriger dans ta procédure. Sinon, comment les encodes-tu les clients. A quand tu veux. Marcel. |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : août 2011 Messages : 3 ![]() |
Bonjour Marcel,
Mes clients sont encodés de cette manière : NomPrenom avec ajout d'un caractère si homonyme. Le champ "code activite" dans la table "Clients" et "secteur d'activite" est un champ texte. Ex : code activite :16 secteur activite : "Enseignement, formation" C'est "Enseignement, formation" que je voudrai voir figurer dans mon formulaire sachant que dans la table "clients" son code activite est 16. Je galère avec DLookup Merci d'avance |
|
|
00
|
|
|
#4 | |
|
Membre régulier
![]() Marcel Directeur technique Inscription : avril 2011 Messages : 100 ![]() |
Bonjour Chenin,
Comme toi, je n'ai jamais utilisé la fonction Dlookup, et je ne suis pas informaticien. Ceci ne m'a pas empêché d'écrire ma base de données et d'en tirer satisfaction. Citation:
Si oui, ne te tracasse pas pour Dlookup, tu peux réaliser cela sans une ligne de code, mais avec des tables bien nommées, des identifiants pour chaque table, des noms de champ sans espace, une zone de liste, une requête, une relation, et puis ton formulaire. Pas besoin non plus de SQL, Access l'écrira pour toi. Je suis sous AC2007, mais ceci ne devrait pas poser problème. Je serai un peu pris cette après-midi. Je reviendrai fin de journée. Bien à toi Marcel |
|
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : août 2011 Messages : 3 ![]() |
Bonjour Marcel,
Ma base existe depuis 3 ans et est composée de multiples tables, requêtes, formulaires, états et tourne bien. Pour des raisons professionnelles je suis amené à m’intéresser aux secteurs d'activité des clients, aussi ai-je crée une table Secteur d'activité (code activité/secteur d'activité) et mis, quand je le connais, le code activité des clients dans un champ de la table clients. Je voudrai juste pouvoir afficher dans mon formulaire "Clients" le secteur d'activité du client en fonction de son code activité. La liste serai courte, j'aurai directement mis leurs secteurs d'activité dans la table clients, mais elle est longue. Je précise que ces deux tables sont lié par le code activité. J'ai le même problème avec les professions, mais si nous résolvons le problème des "activité", les professions suivront. Merci en tout cas de intéresser à mon problème "activiste" Bien à toi |
|
|
00
|
|
|
#6 | |
|
Membre régulier
![]() Marcel Directeur technique Inscription : avril 2011 Messages : 100 ![]() |
Citation:
Si elle est correcte, c'est simple à réaliser avec une requête. Pourquoi un champ texte indépendant dans ton formulaire alors qu'il est dans ta table "Secteur d'activité" Quelle est la source de ton formulaire client? Des secteurs d'activité, y en a-t-il beaucoup? Combien. Pour ta facilité, conforme-toi à des nominations plus claires. Tu as une table "Secteur d'activité" avec dedans un champ "Secteur d'activité. Nomme toutes tes tables avec un préfixe tbl les requêtes avec un préfixe qry les formulaire avec un préfixe frm, ça fera déjà une distinction avec le nom des champs. Evite les espaces dans les nom de tes champs. Donne à tes tables un identifiant de type numéroAuto et attribue lui la clé primaire: (Trop tard pour ta table clients si elle a trois ans, qu'une autre clé a été choisie, et qu'elle a servi à établir d'autres relations.) Comme ceci pour la table "Secteur d'Activité": tblSecteurActivité avec les champs IdActivité CodeActivité SecteurActivitéJe ne veux pas perturber, mais personnellement je raccourcirais encore sensiblement le nom des champs. Si tu veux que le SecteurActivité s'affiche lorsque tu tapes le codeActivité, il faut une clé secondaire dans ta table client, tu l'as créée. Elle doit être reliée à la clé primaire de la table SecteurActivité dans la requête source de ton formulaire. Tu pourrais, comme clé primaire, choisir aussi CodeActivité, et ça va fonctionner. C'est pourtant déconseillé. Il vaut mieux prendre IdActivité. Parce que si un jour un farfelu décide que maintenant le secteur "Emploi" portera le numéro 85 au lieu du 82, tu pourras corriger tous tes enregistrements, alors qu'il te suffirait d'indiquer 85 au lieu de 82 dans le seul enregistrement de la table SecteurActivité. Pour lier par l'identifiant, tu dois avoir dans tblClients une clé secondaire de type numérique entier long. Tu dois en faire une zone de liste avec clé cachée. C'est beaucoup de littérature, mais pas si compliqué. Reviens vers moi si ça ne va pas. Marcel |
|
|
|
00
|
|
|
#7 |
|
Membre éclairé
![]() Inscription : septembre 2003 Messages : 292 ![]() |
Bonjour,
Si c'est juste pour afficher le secteur seulement sur le formulaire (non l'enregistrer sur la table client) Pourquoi ne pas faire une requête ayant pour critère le code activité. Mettre un sous formulaire qui a pour source de données cette requête (tu pourras personnaliser le sous formulaire pour n'afficher que le champs secteur d'activité et tu n'auras qu'actualiser la requête sur l'événement "Sortie" de code activité. A+
__________________
Pourquoi faire compliqué quand on peut faire simple Je suis encore en ACCESS 2003
|
|
|
00
|
|
|
#8 |
|
Membre régulier
![]() Marcel Directeur technique Inscription : avril 2011 Messages : 100 ![]() |
Bonjour à tous,
Avec une requête multi-tables, le champ secteur n'est pas non plus enregistré dans la table client. Sous-formulaire ou requête multi-tables, il faut ajouter, et c'est fait, le CodeActivité à la table client pour établir le lien. Chenin qui a attendu deux jours pour obtenir une première réponse se voit maintenant comblé par deux solutions. A lui de choisir. Marcel |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com