none
Access : utiliser des éléments d'une liste déroulante sans en rajouter de nouveaux dans la base RRS feed

  • Question

  • Bonjour à tous

    J'ai une base dont la structure est la suivante :

    - 2 tables : Demandes et Categories
    - La table Demandes contient une clé étrangère vers la table Catégories (dont la clé primaire est en NumeroAuto)
    - La table Categories contient 2 champs : Id (clé primaire) et Libellé
    - Cette table Categories est pré-alimentée avec 20 enregistrements
    - Le champ Libellé de la table Categories est configuré comme liste déroulante

    Dans mon formulaire, j'ajoute divers champs de la table Demandes, ainsi que la liste déroulante correspondants aux 20 libellés de la table Categories.

    Le souci est le suivant : je choisis une catégorie via la liste déroulante, et lorsque je valide mon formulaire, Access m'a rajouté une ligne dans la table Categories correspondant à la catégorie que j'ai choisi dans la liste déroulante. Or moi, je voulais juste qu'il ajoute la clé primaire de cette catégorie dans la colonne de la table Demandes représentant la clé étrangère de la table Categories (ce qu'il fait, mais avec la clé primaire de la nouvelle catégorie, pas avec celle de l'existante).

    Y'a t'il un moyen d'obtenir ce comportement autrement qu'en écrivant ma requête SQL d'insertion dans la table Demandes moi même ?

    Merci par avance

    edit: je précise que je viens de SQL Server, donc je connais bien l'univers des bases de données. Je me met à Access pour ... "rendre service", et je dois dire que certains de ses comportements me déroutent un peu.



    • Modifié Harkonnen samedi 3 décembre 2011 22:18
    samedi 3 décembre 2011 22:16

Réponses

  • Bonjour Blaise

    En fait, j'ai résolu mon souci : il fallait que ma liste déroulante comporte 2 colonnes : l'id et le libellé, avec l'id en colonne masquée (largeur : 0cm). La colonne liée est également l'id.

    De cette façon, la liste déroulante me propose bien le libellé, mais inscrit l'id dans la base.

    Merci pour votre réponse :)

     

    • Proposé comme réponse latisane samedi 10 décembre 2011 19:52
    • Marqué comme réponse Ciprian Duduiala jeudi 12 janvier 2012 07:22
    samedi 10 décembre 2011 16:36

Toutes les réponses

  • Bonjour Harkonnen

    Je ne comprends pas trop ce comportement.  La source de données de votre formulaire est bien la table "Demandes" ?

    La source de la liste déroulante doit avoir comme champ la clé étrangère et comme source de données la table "Categories".

    Pour faciliter le passage de SQL Server vers Access, oubliez le "T" du TSQL et la notion de Server ;-))  J'ai dû faire une fois l'inverse, et j'ai pas rigolé.

    Cdt,

    Blaise

    mercredi 7 décembre 2011 13:32
  • Bonjour Blaise

    En fait, j'ai résolu mon souci : il fallait que ma liste déroulante comporte 2 colonnes : l'id et le libellé, avec l'id en colonne masquée (largeur : 0cm). La colonne liée est également l'id.

    De cette façon, la liste déroulante me propose bien le libellé, mais inscrit l'id dans la base.

    Merci pour votre réponse :)

     

    • Proposé comme réponse latisane samedi 10 décembre 2011 19:52
    • Marqué comme réponse Ciprian Duduiala jeudi 12 janvier 2012 07:22
    samedi 10 décembre 2011 16:36
  • Bonjour Harkonnen,

     

    En fait j'ai besoin d'enregistrer dans la table T(id et le libellé) le libellé de la liste déroulante

    Merci de votre réponse,

     

    Christophe

    samedi 10 décembre 2011 19:56
  • Bonjour Harkonnen,

    Vu ton expérience en BDR, cela me semblait assez évident pour ne pas te faire une offense. Mais comme tu as résolu le blème par toi même, tu mérites un +1

    Bien à toi,
    Blaise

    <Harkonnen> a écrit dans le message de news: 737690ae-99b6-41b2-9def-cc9d2e2da20b@communitybridge.codeplex.com...

    Bonjour Blaise

    En fait, j'ai résolu mon souci : il fallait que ma liste déroulante comporte 2 colonnes : l'id et le libellé, avec l'id en colonne masquée (largeur : 0cm). La colonne liée est également l'id.

    De cette façon, la liste déroulante me propose bien le libellé, mais inscrit l'id dans la base.

    Merci pour votre réponse :)

    lundi 12 décembre 2011 17:43