|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : juin 2011 Messages : 14 ![]() |
Bonjour,
Je fais appel à vos lumières car là je coince. J'ai 2 tables :[Liste_Auteurs][Liste_Livres] Dans ma table[Liste_Auteurs], j'ai un champs [Nom_Auteur], et un champs [Ref_Auteur] avec numérotation automatique. J'ai également ce même champs dans ma table[Liste_Livres], mais en texte. J'ai un formulaire [F_Créer_Fiche] dans lequel j'ai plusieurs zones de textes que je remplis, et qui me permettent d'alimenter ma table[Liste_Livres], via un bouton "Sauvegarder". J'aurais besoin d'avoir une zone de texte [ZDT_Ref_Auteur] qui soit alimentée automatiquement (via la table[Liste_Auteurs] en fonction de la sélection du nom de l'auteur dans une zone de liste. Mais surtout, j'aurais besoin que lorsque je valide mon formulaire, cette référence s'ajoute dans le champs [Ref_Auteur] de ma table[Liste_Livres]. J'arrive bien à afficher ma réf auteur dans ma zone de texte en mettant ceci (=[ZDL_Auteur].[column](1)), ZDL_Auteur correspondant au nom de l'auteur, mais je n'arrive pas à faire le lien avec le champs de ma table pour que l'info s'enregistre dans ma table. J'espère avoir été claire, car ce n'est pas simple à expliquer. N'hésitez pas à me demander des précisions, en tenant compte du fait que je suis toute nouvelle sur Access Merci par avance. |
|
|
00
|
|
|
#2 | |
![]() ![]() Maintenance données produits Inscription : décembre 2005 Messages : 3 939 ![]() |
Bonsoir,
Citation:
Il faudrait que le champ soit du même type (Numérique, Entier Long) dans la table[Liste_Livres]. Ça te permettra par la suite, de construire des requêtes en joignant les deux table par ce champ [Ref_Auteur]. Ça devrait aussi simplifier ton formulaire. Le champ [Ref_Auteur] de la table[Liste_Livres] (source de ton formulaire) peut être utilisé comme source d'un contrôle zone de liste, ce contrôle zone de liste ayant pour contenu une requête sur la table[Liste_Auteur]. Je pense que ça correspond à ton contrôle ZDL_Auteur, sauf qu'il n'est pas lié (la propriété «source contrôle» est vide). Au passage, un contrôle dont la source est une expression commençant par égal (=) est indépendant. Il ne peut pas alimenter un champ de la source du formulaire. A+ |
|
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : juin 2011 Messages : 14 ![]() |
Bonsoir,
Merci pour ta réponse. Ce n'est malheureusement encore pas si évident pour moi Pour le reste, je n'arrive pas à construire une requête qui m'affiche le résultat souhaité dans mon formulaire. Précision : Mon contrôle ZDL_Auteur a bien une source, qui est le champs Nom_Auteur de ma table[Liste_Auteurs]. Je me re-pencherai sur la question demain. Tout est mélangé dans ma tête pour le moment. Merci encore pour la réponse. |
|
|
00
|
|
|
#4 |
|
Invité régulier
![]() Inscription : juin 2011 Messages : 14 ![]() |
Bonjour,
Après avoir passé l'après-midi sur ma base, je reviens vers vous, un peu désespérée... 1/ J'ai bien modifié le format de mon champs [Ref_AUteur] dans ma table[Liste_Livres] 2/ Ce que je voudrais, concrètement, c'est que lorsque je sélectionne un auteur dans ma zone de liste [ZDL_Nom_Auteur], ça m'indique dans une zone de texte la ref de cet auteur. Cette zone de texte serait masquée dans le formulaire. Elle servirait juste à alimenter ma table[Liste_Livres]. J'ai donc mis [Ref_Auteur] en source contrôle de ma [ZDT_Ref_Auteur] pour que le champs de ma table soit alimenté avec cette donnée. Mais je ne sais pas où mettre une requête pour que cette donnée se mette à jour dans ce contrôle. 3/ Led ZeppII m'a dit : "Le champ [Ref_Auteur] de la table[Liste_Livres] (source de ton formulaire) peut être utilisé comme source d'un contrôle zone de liste, ce contrôle zone de liste ayant pour contenu une requête sur la table[Liste_Auteur]. Je pense que ça correspond à ton contrôle ZDL_Auteur, sauf qu'il n'est pas lié (la propriété «source contrôle» est vide)." --> J'ai donc tenté avec une zone de liste, mais j'ai la liste de toutes mes ref auteur, avec leurs noms qui se met dedans. Elle ne se met pas à jour en fonction de la sélection de mon auteur. Et puis ça ne me plaît pas trop, parce que ça obligerait à sélectionner le n° de la ref qui je pense pourrait se mettre automatiquement avec une zone de texte. Merci par avance pour vos conseils. |
|
|
00
|
|
|
#5 |
![]() ![]() Maintenance données produits Inscription : décembre 2005 Messages : 3 939 ![]() |
Bonjour,
Tu n'as pas besoin de stocker le nom de l'auteur dans la table[Liste_Livres]. Il faut juste stocker [Ref_Auteur] dans la table[Liste_Livres]. Les zones de listes permettent de lier un champ et d'en afficher un autre. Ce que tu peux faire avec ta zone de liste [ZDL_Nom_Auteur] : Dans l'onglet «Données» ... Propriété Source contrôle : Ref_Auteur Propriété contenu : SELECT [Ref_Auteur], [Nom_Auteur] FROM[Liste_Auteurs] ORDER BY [Nom_Auteur] Propriété Origine Source : Table/Requête Propriété Colonne liée : 1 Dans l'onglet «Format» ... Propriété Nbre colonnes : 2 Propriété Largeurs colonnes : 0cm ( largeur première colonne = 0 => elle est masquée)La colonne 1 est le champ [Ref_Auteur] de la table[Liste_Auteurs]. La colonne liée est la colonne 1. Sa valeur sera donc copiée dans la source du contrôle, c.à.d le champ [Ref_Auteur] de la table[Liste_Livres]. Comme la largeur de la première colonne est définie à 0cm, elle est masquée. Du coup, le contrôle afficher la colonne suivant, soit le champ [Nom_Auteur]. En résumé, la zone de liste affiche le nom de l'auteur, mais stocke dans la table le numéro de référence (la clé) de l'auteur. A+ |
|
|
00
|
|
|
#6 |
|
Invité régulier
![]() Inscription : juin 2011 Messages : 14 ![]() |
MERCI !!! Ca marche.
Et je crois même avoir compris le raisonnement... |
|
|
00
|
|
|
#7 |
![]() ![]() Maintenance données produits Inscription : décembre 2005 Messages : 3 939 ![]() |
![]() Cette pratique est largement utilisée dans Access. Y compris dans les tables elle-mêmes. Par exemple, si tu ouvres ta table Liste_Livres en mode création et que tu te positionnes sur le champ Ref_Auteur, tu as deux onglets (Général et Liste de choix). Dans l'onglet liste de choix tu peux définir comment Access affiche le champ lorsque tu ouvres la table en mode feuille de données. Si tu sélectionnes «Zone de liste déroulante» tu retrouves les propriétés Origine Source, Contenu, Colonne liée, Nbre colonnes et largeur colonnes. Tu peux appliquer la même chose que ce que tu fais au niveau de la zone de liste de ton formulaire. C'est à dire, faire afficher le nom de l'auteur dans le champ Ref_Auteur, tout en stockant la valeur Ref_Auteur venant de la table Liste_Auteurs. A+ |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com