IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

Enregistrer valeur liée d'une liste déroulante dans la table liée [AC-2013]


Sujet :

Access

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2013
    Messages : 72
    Points : 68
    Points
    68
    Par défaut Enregistrer valeur liée d'une liste déroulante dans la table liée
    Bonjour bonjour!

    Je me suis relancé sur Access depuis peu et voilà que je me retrouve directement face à ma pire hantise: Les liste déroulantes

    Voilà donc ma situation:
    • J'ai une table tbl_Client liée à une table tbl_Assurance via une table associative tbl_ClientAssurance (qui contient elle le numéro d'assuré propre à un client et une assurance)
    • Je créer un formulaire principal qui permet d'entrer toutes les infos sur le client et qui contient un sous-formulaire permettant lui d'afficher, de modifier et d'ajouter des enregistrement dans la table associative
    • Pour ce faire elle est faite sous forme de tableau de données contenant deux colonnes:
      • une contenant la fameuse liste déroulante affichant pour chaque enregistrement l'assurance en cours liée au numéro d'assuré mais pouvant être modifiée
      • une contenant le numéro d'assuré (pouvant lui aussi être modifié mais ça c'est pas un problème)


    Donc mon but est:

    • qu'en changeant d'assurance pour un enregistrement déjà créé, l'id de cette assurance soit modifié dans l'enregistrement en question de la table associative.
    • qu'en rajoutant une ligne avec une assurance et un numéro d'assuré, un nouvel enregistrement soit créé dans la table associative.


    Mes problèmes:


    • je n'arrive pas à lié cette foutue liste à autre chose qu'à la table tbl_Assurance ce qui fait que lors d'une modification, c'est le nom de l'assurance que je change qui se fait remplacé par le nouveau.
    • sûrement lié au premier problème, quand j'ajoute un nouvel enregistrement il me recréer un enregistrement dans la table tbl_Assurance contenant le nom d'assurance sélectionné et créer un nouvel enregistrement dans la table tbl_ClientAssurance avec le nouvel enregistrement en référence.


    voilà, ça fait des heures que je suis là-dessus et je n'arrive vraiment pas à trouver comment faire avec ces $@#! de relations entre la liste déroulante et le formulaire.. Si quelqu'un pouvait me donner un petit coup de patte ça serait vraiment chouette

    Merci d'avance!

    Jurta

    PS: ci-dessous le visuel de mon formulaire(toutes les infos sont fictives ) et les relations entre mes tables:

    Nom : probleme_liste_deroulante.png
Affichages : 1304
Taille : 62,5 Ko

    Nom : probleme_relations_tables.png
Affichages : 1322
Taille : 20,2 Ko

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Bonsoir,

    Avec les informations que tu donnes, il n'est pas facile de vérifier ce qui est correct ou non.
    Peux-tu donner et vérifier s'il te plait :
    1- La source de ton sous-formulaire.
    2- les propriétés de ta zone de liste :
    - Contenu
    - Source Contrôle
    - Nombre de colonnes
    - Colonne liée.

    Ces informations devront permettre de voir le fond du problème.

    Cordialement,
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2013
    Messages : 72
    Points : 68
    Points
    68
    Par défaut
    Hello madefemere et merci pour ta réponse rapide!

    En effet je m'en suis pas rendu compte désolé, alors pour les sources le formulaire c'est simplement sur la table tbl_Clients, quand au sous-formulaire je poste la photo de la requête ça sera plus lisible qu'en SQL:
    Nom : probleme_liaison_sous_formulaire.png
Affichages : 1311
Taille : 11,6 Ko

    Pour la liste déroulante:
    • contenu: SELECT tbl_Assurances.ID, tbl_Assurances.Nom FROM tbl_Assurances ORDER BY tbl_Assurances.Nom;
    • source de contrôle: tbl_Assurances.Nom (j'ai cru comprendre que c'était lié à un champ du formulaire dans lequel elle se trouve..?)
    • nombre de colonnes: 2
    • colonne liée : 2


    Mais pour la liste je suis à peut près certain que c'est n'importe quoi comme ça.. je pense qu'il faut faire une liaison avec la table tbl_Assurances-Clients dans la source de contrôle mais même en la faisant et en essayant à peut près toutes les combinaisons je suis arrivé à rien.. :/

    Jurta

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Re-,

    Je ne sais pas comment tu t'es débrouillé, mais c'est effectivement ton truc.
    Donc,
    1- Tu veux relier ton formulaire Client basé sur la table tbl_Clients à un sous-formulaire basé sur la table tbl_Assurances-Clients :
    Pourquoi tu te retrouves avec une requête comme source de ton sous-formulaire ? Il faut mettre comme source de ton sous-formulaire la table tbl_Assurances-Clients et c'est tout.
    2- Pour ta liste déroulante, Il faut mettre comme propriétés :
    - contenu: SELECT tbl_Assurances.ID, tbl_Assurances.Nom FROM tbl_Assurances ORDER BY tbl_Assurances.Nom;
    - source de contrôle: num_Assurance (ce sera le champ correspondant de la table tbl_Assurances-Clients)
    - nombre de colonnes: 2
    - Largeurs Colonnes : 0 cm;2cm (J'ai rajouté cette ligne même si je pense que ça doit être cela actuellement)
    - colonne liée : 1 (Cette valeur veut dire que quand on fait référence à la zone de liste, ce sont les valeurs de la première colonne qui vont être enregistrées dans la "Source de contrôle"<=> Les valeurs de tbl_Assurances.ID dans contenu seront enregistrées dans num_Assurance de tbl_Assurances-Clients)

    Et cela devrait marcher.

    Cordialement,
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2013
    Messages : 72
    Points : 68
    Points
    68
    Par défaut
    Haha comme dit précédemment, je me suis relancé il y a peu et il faut que certaines bases reviennent (ce qui fait que tu risques de me revoir une ou deux fois sur le fofo^^')

    Mais YES! ça marche! Juste encore un petit soucis pour créer de nouveaux enregistrements car il veut le numéro du client donc j'ai rajouté la colonne num_client que j'ai cachée et à laquelle j'ai donné comme valeur par défaut Le contenu de la cellule cachée ID du formulaire de base et ça marche Tip top!

    Encore merci beaucoup pour ton aide et tes réponses rapides et pertinentes madefemere!

    Je clos le topic..

    Jurta

  6. #6
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Bonjour,

    C'est bon si ça marche, par contre, pour :
    Mais YES! ça marche! Juste encore un petit soucis pour créer de nouveaux enregistrements car il veut le numéro du client donc j'ai rajouté la colonne num_client que j'ai cachée et à laquelle j'ai donné comme valeur par défaut Le contenu de la cellule cachée ID du formulaire de base et ça marche Tip top!
    Il y a plus simple pour faire cela : c'est utiliser les propriétés Pères/Fils du sous-formulaire comme expliqué dans le tuto ci-joint

    Cordialement
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  7. #7
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2013
    Messages : 72
    Points : 68
    Points
    68
    Par défaut
    Ah ba oui ça marche.. J'avais pourtant bien placé mes relations dès le départ et n'ai rien touché depuis.. On dira sûrement que je fais preuve de mauvaise foi, mais à chaque fois que je me lance sur un projet sur access il y a des événements bizarres du style qui se produisent à tir larigot..

    Enfin bref, encore merci pour ton aide!

    Jurta

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. enregistrer plusieurs colonnes d'une liste déroulante dans une table
    Par juliejuliejuliejulie dans le forum VBA Access
    Réponses: 5
    Dernier message: 19/06/2012, 19h18
  2. Réponses: 6
    Dernier message: 25/10/2009, 12h56
  3. Réponses: 4
    Dernier message: 02/06/2009, 18h09
  4. Réponses: 11
    Dernier message: 26/04/2007, 11h40
  5. Afficher la valeur choisie d'une liste déroulante dans une textbox
    Par bouchette63 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 20/06/2006, 15h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo