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 :

Lier 1 champ du formulaire principal à 2 champs du sous-formulaire.


Sujet :

Access

  1. #1
    Candidat au Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Avril 2016
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Lier 1 champ du formulaire principal à 2 champs du sous-formulaire.
    Bonjour à tous,

    Je tiens à remercier toutes les personnes qui prendront la peine de lire mon message et qui essayeront de m'aider, et je m'excuse d'avance si je n'aurais pas vu une discussion similaire à celle que j'ai créée mais je n'ai rien trouvé malgré avoir bien cherché.


    J'ai dans ma BDD une table CONDUCTEUR DE TRAVAUX (CT) liée à deux autres tables DEVIS et COMMANDE par une relation 1 à plusieurs : un conducteur de travaux peut établir un devis et/ou une commande pour ce même devis. Donc la clé primaire de la table CT est clé étrangère dans les deux autres, sachant que la clé primaire de la table DEVIS est également clé étrangère dans la table COMMANDE. J'espère avoir été claire.

    J'ai créé une requête sélection qui permet d'extraire des données depuis les tables CHANTIER, DEVIS et COMMANDE (j'ai fait un LEFT JOIN entre DEVIS et COMMANDE pour afficher les devis pour lesquels il n'y a pas de commande): j'aimerais pour un CT afficher l'ensemble des chantiers pour lesquels le CT sélectionné a établi un devis et/ou une commande. La requête fonctionne très bien quand on clique sur le bouton dans le formulaire mais j'aimerais l'intégrer au formulaire afficher le même résultat directement dans le formulaire.

    Au moment de lier le formulaire au sous formulaire, j'ai le choix entre deux liaisons :
    - code_CT.[CONDUCTEUR DE TRAVAUX] = code_CT.[DEVIS]
    OU
    - code_CT.[CONDUCTEUR DE TRAVAUX] = code_CT.[COMMANDE]

    Selon que je choisisse l'une ou l'autre de ces solutions, le sous formulaire n'affiche pas toutes les données.

    J'aimerais savoir s'il existerait une solution pour lier le formulaire principal au sous formulaire en associant le champs code_CT à la fois au champs code_CT de la table DEVIS et à la fois au champs code_CT dans la table COMMANDE.

    Pour faciliter votre compréhension, je joins à mon message une capture d'écran du modèle et une capture d'écran des résultats de la requête (qui s'affichent quand je clique sur le bouton du formulaire).

    Merci d'avance.

    Cordialement.

    Nom : Capture R10.JPG
Affichages : 118
Taille : 47,9 Ko
    Nom : Relations.jpg
Affichages : 112
Taille : 97,0 Ko

  2. #2
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 087
    Points : 5 203
    Points
    5 203
    Par défaut
    Bonsoir,

    Une solution générique consiste à ne pas utiliser la liaison père fils et à actualiser la source du sous-formulaire chaque fois que nécessaire comme dans cet exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Form_Current() 'à placer dans le formulaire principal
    If Recordset.EOF Then
      Form_sousformulaire.RecordSource = ""
    Else
      Form_sousformulaire.RecordSource = "SELECT cd_ncl, draw_ref, c.issue, item_no, c.priorite, var_rep, compn_ref, s.designation, s.appro, poste, qty" _
      & "FROM (composant c LEFT JOIN stock s ON c.compn_ref=s.code) LEFT JOIN modifications m ON c.ref_mod=m.ref_mod " _
      & "WHERE draw_ref='" & code & "' and c.issue='" & indice & "' ORDER BY item_no, nz(c.priorite,1), var_rep DESC;"
    End If
    End Sub
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

Discussions similaires

  1. [AC-2003] MàJ de sous-formulaires imbriqués à partir d'un sous-formulaire
    Par jeanpierre78 dans le forum IHM
    Réponses: 1
    Dernier message: 20/11/2011, 16h38
  2. Réponses: 1
    Dernier message: 22/06/2011, 06h14
  3. Réponses: 20
    Dernier message: 04/06/2011, 05h48
  4. Réponses: 1
    Dernier message: 31/08/2009, 05h17
  5. Réponses: 2
    Dernier message: 02/08/2009, 10h52

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