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 :

Lien entre table suivant critère [AC-2013]


Sujet :

Access

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    433
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 433
    Points : 131
    Points
    131
    Par défaut Lien entre table suivant critère
    Bonjour,

    Je dois créer une bd pour gérer des devis d'installation de chauffage.

    Suivant le mode de chauffage installé (chaudière, chaudière à condensation, chaudière fuel...) je dois créer des listes d'articles rattachés à ces différents types de chauffage.

    J'ai crée une T-Type chauffage, T-Devis avec une relation vers "type chauffage" et des tables articles pour chaque type de chauffage avec une relation vers "type chauffage".

    Lorsque je saisis un devis, je sélectionne le type de chauffage. Ensuite je souhaite ajouter dans le sous formulaire articles les produits associés à ce type de chauffage.

    J'ai créé une requête avec les tables Type chauffage, Devis et Article chauffage, mais je n'arrive pas à faire le lien car quand je crée le sous formulaire je n'arrive pas a rattaché les articles au devis.

    Pouvez-vous m'expliquer où je fais une erreur ?

    Avec mes remerciements,

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 017
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 017
    Points : 24 548
    Points
    24 548
    Par défaut
    Bonjour,

    Tu ne dois pas lier la table article dans ta source Détail (devis ou facture).

    Il faut à la place créer une liste déroulante des articles filtrée sur le type. Les colonnes reprisent seront l'ID article et le prix que tu stockera dans la table Détail.

    Cordialement,

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    433
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 433
    Points : 131
    Points
    131
    Par défaut
    Bonjour Loufab,

    Je n'ai pas compris ta réponse. J'ai T-Devis, T-Detail chauffage, T-Type chauffage, T-Article chauffage.
    Le Devis et le Détail chauffage sont lié via le NumDevis.
    Le Devis et le Type chauffage sont liés via l'IDTypechauffage.
    Le Type chauffage et les Articles chauffage sont liés via l'IDTypechauffage.

    J'ai créé une requête qui liste les articles chauffage (avec T-Type chauffage et T-Articles chauffage).

    Lorsque je saisi le type chauffage dans le devis je pensais créer un bouton qui ouvre une liste d'articles en rapport avec le type chauffage, cocher les lignes d'articles dont j'ai besoin et les ajouter dans le sous-formulaire Detail chauffage.

    Etant donné que j'ai plusieurs sous formulaires dans le devis il faut bien que mes articles soient liés au SF ? je n'arrive pas à voir les relations...

  4. #4
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut


    Je te joins une petite base qui pourrait te servir de base de réflexion pour avancer dans ton projet.

    Bien sur tout n'est pas finaliser. Cependant, pour tester, tu choisis un client dans le liste des clients (un N° de devis est automatiquement affecté).
    Tu choisis le type de chauffage dans la liste. En fonction de ton choix, le sous formulaire des articles se met à jour.
    Tu sélectionnes les articles à mettre dans le devis puis tu cliques sur le bouton à "Ajouter au devis".

    Le détail des articles se met à jour. Tu peux ensuite ajouter une quantité ...
    Je l'ai succinct mais si ca peut te faire avancer ...
    Fichiers attachés Fichiers attachés

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    433
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 433
    Points : 131
    Points
    131
    Par défaut
    Bonjour Jeannot45,

    Je vais étudier très attentivement ta proposition mais il semble qu'elle corresponde parfaitement à ce que je voulais faire.

    Avec mes remerciements,
    Maringot

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    433
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 433
    Points : 131
    Points
    131
    Par défaut
    Bonjour Jeannot45,

    J'ai adapté ta BD à mon projet.
    Je coince sur un autre point. Lorsque je saisi le devis, j'indique de quel type de chauffage il s'agit. J'ai créé un sous-formulaire en mode onglet dans lequel je mets : onglet 1 - Générateur (c'est à dire chaudière fuel, gaz ...), onglet 2 - Accessoires, onglet 3 - prestations complémentaires.

    Dans ta proposition, lorsque je choisi le type de chauffage la liste des articles se met à jour. Ca fonctionne parfaitement avec l'onglet 1, ainsi quand je choisi le type "Gaz" la liste de tous les générateurs "Gaz" s'affiche et je sélectionne le produit que je veux deviser.

    Concernant les autres onglets, tous les articles sont valables pour tous les types de chauffage, donc comment je peux faire pour afficher et sélectionner les articles dont j'ai besoin sans que le choix dans le devis interfère ?

    Avec mes remerciements

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    433
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 433
    Points : 131
    Points
    131
    Par défaut
    Bonjour,

    J'ai adapté la proposition de Jeannot45 dans ma BD devis. J'ai donc créé un bouton "Ajouter les articles" avec le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    Private Sub Commande58_Click()
    ' Déclaration des variables
        Dim l_strSql As String
     
        With DoCmd
            ' Initialisation de la requete d'Ajout dans la table DetailGENERATEUR
            l_strSql = "INSERT INTO DetailGENERATEUR ( GENEARTICLES, GENEDEVIS) " & _
                           "SELECT ArticlesGENERATEUR.IDARTGENE, DEVIS.NUMDEVIS " & _
                           "FROM ArticlesGENERATEUR INNER JOIN DEVIS ON ArticlesGENERATEUR.GeneType = DEVIS.TYPEGENRATEUR " & _
                            "WHERE (((DEVIS.NUMDEVIS)=[Formulaires]![FormDEVIS]![NUMDEVIS]) AND ((ArticlesGENERATEUR.GeneSelection)=True));"
            ' Désactivation des messages systeme
            .SetWarnings False
            ' exécution de la requete mise à jour
            .RunSQL (l_strSql)
     
            ' Initialisation de la requete de mise à jour de la table ArticlesGENERATEUR
            l_strSql = "UPDATE ArticlesGENERATEUR SET GeneSelection = 0 WHERE GeneSelection = -1"
     
            ' Exécution de la requete Mise à jour de la table ArticlesGENERATEUR
            .RunSQL (l_strSql)
            ' réactivation des messages systeme
            .SetWarnings True
        End With
     
        ' Réactualisation de l'affichage du sous formulaire
        Me.SFormDETAILGENE.Requery
    End Sub
    Le problème est que si je modifie la désignation ou le prix depuis le devis, la fiche Article sélectionnée est également modifiée. Est-il possible d'adapter le code en mode ajout dans le formulaire DETAIL pour que les modifications saisies dans le devis n'affectent pas la fiche Article ?

    Avec mes remerciements,

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

Discussions similaires

  1. [SQL2005][SSIS] Import Excel et liens entre tables
    Par tehes dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 18/11/2007, 14h23
  2. Réponses: 0
    Dernier message: 10/09/2007, 11h20
  3. [XI] Problème de liens entre table
    Par bbussy dans le forum SAP Crystal Reports
    Réponses: 11
    Dernier message: 14/03/2007, 16h07
  4. Pb de liens entre table pour une requête
    Par syldudu dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 31/08/2006, 17h27
  5. Lien entre tables
    Par yves12 dans le forum Access
    Réponses: 7
    Dernier message: 31/07/2006, 17h29

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