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 :

Comment gérer deux tables liées


Sujet :

Access

  1. #41
    Membre régulier
    Homme Profil pro
    Technico - Administratif
    Inscrit en
    Août 2008
    Messages
    384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technico - Administratif
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Août 2008
    Messages : 384
    Points : 107
    Points
    107
    Par défaut
    Claude,

    j'ai aussi essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT TbCable.IDCable, TbCable.Cable
    FROM TbCable
    WHERE (((TbCable.Cable)=[Formulaires]![FmAtt]![DetailsAtt].[Article]));
    Cela affiche bien les câbles, mais cela ne les filtre pas, je suppose que qqs chose manque au code ?!
    Pour rafraichir, ce ne serait pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub zdlCable_AfterUpdate()
    Me.zdlCable.Requery
    End Sub
    ?

    Par ailleurs, la logique voulue : si tel article sélectionné alors affiche le câbles, mais il manque une chose, non seulement zdlCable doit afficher les câbles mais seuls les câbles correspondants à la Classe câble du produit.
    Expl : Si Article PMC10 sélectionné alors afficher les câbles de classe 0 dans la zdlcable. J'ai dû mal formuler ma question au départ.
    Ne devrais-je pas faire appel à TbCable.Classe qq part dans ce code ?

    Bien à toi,
    Sylvain

  2. #42
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Bonjour Sylvain,

    Voici une démarche que tu pourrais suivre pour construire la source de la zone de liste "Câble".

    1. Vois quelles sont les tables qui te permettent de faire la liaison Article / Câble.
    2. Construis une requête qui liste toutes les combinaisons possibles de Article / Câble. Sur base de l’exemple que tu as posté, il y en a 421.
    3. Limite le choix à l’article "PMC10", il en reste 18.
    4. Remplace dans la requête la valeur "PMC10" par la référence à ce qui est affiché dans le contrôle « Article » de fmDetailAtt. À ce propos, n’oublie pas que le contenu réel de « Article » n’est pas ce que tu vois à l’écran. Intéresse-toi à la Propriété Text <F1>.
    5. Affecte cette requête en tant que contenu de la zone de liste.

    Pour rafraîchir la liste, demande-toi à quelles occasions la valeur contenue dans "Article" change.
    Intéresse-toi aux événements du contrôle et du formulaire.
    Un indice : deux événements sont concernés.

    Bon weekend.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  3. #43
    Membre régulier
    Homme Profil pro
    Technico - Administratif
    Inscrit en
    Août 2008
    Messages
    384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technico - Administratif
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Août 2008
    Messages : 384
    Points : 107
    Points
    107
    Par défaut
    Bonsoir Claude,

    1. Vois quelles sont les tables qui te permettent de faire la liaison Article / Câble.
    2. Construis une requête qui liste toutes les combinaisons possibles de Article / Câble. Sur base de l’exemple que tu as posté, il y en a 421.
    3. Limite le choix à l’article "PMC10", il en reste 18.
    5. Affecte cette requête en tant que contenu de la zone de liste
    Je crois que j'ai réussis à faire la requête qui fonctionne bien dans la requête en elle même, elle affiche bien les câbles voulus, mais dans FmDetailAtt Qd j'affecte la requête comme source il me demande d'"Entrer une valeur de paramètre" pour afficher les câbles souhaités, de plus ds la zdl au lieu de m'afficher par exemple 074 056 4 cela affiche 740564 j'ai bien essayé de paramétrer le masque de saisie à ###\ ###\ # mais ça fonctionne pas "Trouvé solution" ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT TbProduit.Article, TbCable.Cable
    FROM TbCable INNER JOIN TbProduit ON TbCable.Classe = TbProduit.Classe
    WHERE (((TbProduit.Article)=[Formulaires]![FmAtt]![DetailsAtt].[Article]));
    Intéresse-toi à la Propriété Text <F1>.
    Je trouves cela où ?

    Pour rafraichir ce serait cela ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub zdlCable_AfterUpdate()
    Me.zdlCable.Requery
    End Sub
    &
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub zdlCable_Change()
    Me.zdlCable.Requery
    End Sub
    Voilà où j'en suis et j'avance plus Help Claude stp ..

    Bien à toi,
    Sylvain

  4. #44
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Bonjour Sylvain,

    Je crois que j'ai réussis à faire la requête qui fonctionne bien dans la requête en elle même
    mais sûrement pas avec ceci comme syntaxe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT TbProduit.Article, TbCable.Cable
    FROM TbCable INNER JOIN TbProduit ON TbCable.Classe = TbProduit.Classe
    WHERE (((TbProduit.Article)=[Formulaires]![FmAtt]![DetailsAtt].[Article]));
    Je trouves cela où ?

    D'une manière générale, pour se documenter sur les propriétés d'un formulaire ou d'un état, ou de leurs contrôles, afficher l’objet en mode construction, cliquer sur la propriété => elle se met en surbrillance et enfoncer la touche <F1> => l'aide Access s'ouvre à la bonne page.

    Dans un module, placer le curseur de la souris à l’intérieur d’un mot-clé et enfoncer la touche <F1>.

    On peut aussi
    - ouvrir l’aide <F1>, choisir l’onglet « Aide intuitive » et suivre les instructions.


    Aide-toi et... Access t'aidera !

    Pour rafraichir ce serait cela ?
    Quand ta zone de liste câble sera au point, fais quelques tests par exemple :

    - une modification d'article ;
    - naviguer dans les différents attachements...

    en vérifiant comment se comporte ta liste.

    Si tu constates des anomalies, réfléchis pour comprendre d'où elles viennent et comment les éviter.

    Allez courage.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  5. #45
    Membre régulier
    Homme Profil pro
    Technico - Administratif
    Inscrit en
    Août 2008
    Messages
    384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technico - Administratif
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Août 2008
    Messages : 384
    Points : 107
    Points
    107
    Par défaut
    Bonjour Claude,

    mais sûrement pas avec ceci comme syntaxe :
    Je comprends pas pourtant dans la requête en elle même cela fonctionne ?!
    J'ai bien:
    2. Construis une requête qui liste toutes les combinaisons possibles de Article / Câble. Sur base de l’exemple que tu as posté, il y en a 421.
    3. Limite le choix à l’article "PMC10", il en reste 18.
    J'ai aussi essayer avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT TbProduit.Article, TbCable.Cable
    FROM TbCable INNER JOIN TbProduit ON TbCable.Classe = TbProduit.Classe
    WHERE (((TbProduit.Article)=Formulaires![FmAtt]![DetailsAtt].Formulaire![Article]));
    Mais là rien ne se passe Là claude j'ai besoin que tu me donnes plus d'explications pour que je saisisse ce que je ne comprends pas, j'y ai passé tout mon W.E "véridique !" à tourner autour, sans succès alors sans qqs indices supplémentaires je ne m'en sortirais pas, oublie pas Claude que la première fois que je me suis mis sur Access c'est avec toi pour la Gestsock et que je puisse dans tes explications de cela pour extrapoler ce que je pourrais faire pour GestAtt, je ne dois pas vraiment avoir un esprit qui capte vite les nuances d'Access

    Je crois que j'ai trouvé pour la propriété text, mais je t'avoue que je ne comprends pas bien ce qui pourrait m'aider avec ma zdlCable.

    Concernant le rafraichissement de la liste, le premier choix serait quand on change la valeur de zdlArticle tel que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Article_Change()
    Me.zdlCable.Requery
    End Sub
    Le deuxième serait il quand zdlCable reçois le focus ?

    Bien à toi,
    Sylvain

  6. #46
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    J'ai aussi essayer avec...
    Que contient Detail ?

    Pour le voir
    - affiche ton formulaire ;
    - ouvre la fenêtre d'exécution (<Ctrl + G>) et tape :
    ? Forms![FmAtt]![DetailsAtt].Form![Article] et ensuite <Enter>
    (c'est la forme américaine de Formulaires![FmAtt]![DetailsAtt].Formulaire![Article])

    Et réfléchis pour comprendre pourquoi.

    Ensuite lance-toi, prends des risques, tape :

    ? Forms![FmAtt]![DetailsAtt].Form![Article].text

    Ça n'a pas reformaté ton disque dur ?
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  7. #47
    Membre régulier
    Homme Profil pro
    Technico - Administratif
    Inscrit en
    Août 2008
    Messages
    384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technico - Administratif
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Août 2008
    Messages : 384
    Points : 107
    Points
    107
    Par défaut
    Claude,

    - ouvre la fenêtre d'exécution (<Ctrl + G>) et tape :
    ? Forms![FmAtt]![DetailsAtt].Form![Article] et ensuite <Enter>
    Cela me dit : 3

    ? Forms![FmAtt]![DetailsAtt].Form![Article].text
    Cela me donne : PMC12

    Ahaa le .text transforme mon IDArticle en Texte je comprend, oki doki, bien vois tu les aides Access ne me disaient rien de cela.
    Donc ce que je lui demande avec "[Article].text", si je comprends, c'est "WHERE TbProduit.Article = à l'Article correspondant à l'ID, c'est ça ?

    Malgré tout, il me demande tjrs d'entrer la valeur du champ avant d'afficher correctement les câbles ds la zdl ?!


    Bien à toi,
    Sylvain

  8. #48
    Membre régulier
    Homme Profil pro
    Technico - Administratif
    Inscrit en
    Août 2008
    Messages
    384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technico - Administratif
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Août 2008
    Messages : 384
    Points : 107
    Points
    107
    Par défaut
    Bonjour Claude,

    Il y a pas, je suis vraiment incapable de trouver ce qui ne va pas, J'ai toujours une fenêtre qui s'affiche avec "Entre la valeur du paramètre" quoi que je fasse, de plus j'ai remarqué que si je donne une valeur dans cette fenêtre toutes les zdlCable prendrons cette valeur, là il y a qq ch que je ne comprends vraiment pas.
    Une idée pour aiguiller mes recherches et réussir enfin à finaliser ça pour passer enfin à la sélection des produits selon le CodeAtt, qui je penses se rapprochera de ce que je fais maintenant, et enfin commencer les champs calculés pour finir cette partie de l'appli. Je suis incorrigiblement nul sous Access et pourtant j'en passe du temps dessus y compris chez moi

    Se qui fait que je m'accroches c'est qu'au final de cette appli je devrais en savoir un peu plus sur Access, mais pas sans avoir eu qqs maux de têtes tout de même.


    Bien à toi,
    Sylvain

  9. #49
    Membre régulier
    Homme Profil pro
    Technico - Administratif
    Inscrit en
    Août 2008
    Messages
    384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technico - Administratif
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Août 2008
    Messages : 384
    Points : 107
    Points
    107
    Par défaut
    Bonjour Claude,

    J'ai grillé qqs neurones mais au final j'aboutis à un résultat
    Un seul Hic persiste et là j'aimerais bien ton aide, qd je change d'Article concernant un câble, tous les champs précédemment entrées changent aussi pour la nouvelle valeur ?!? Comment cela se fait il ?

    Ensuite j'ai voulu charger dans la zdl Article, que ceux correspondant au CodeAtt, chose qui me semblait facile vu que c'est comme pour les câbles, mais que nenni je n'arrives pas à passer la valeur dans DetailAtt, un conseil ?

    Ci-joint la nouvelle base avec en sus calcul des champs y compris avec le coef correspondant

    Bien à toi,
    Sylvain
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Comment sortir deux informations liées à une table
    Par Chrigou dans le forum Langage SQL
    Réponses: 7
    Dernier message: 13/05/2012, 16h25
  2. Comment modifier mes tables liées?
    Par euskal75 dans le forum Access
    Réponses: 2
    Dernier message: 14/02/2006, 15h35
  3. Comment lier deux tables (0-1;1-1) ?
    Par tsing dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 22/02/2005, 13h36
  4. [débutant] Comment regrouper deux tables ?
    Par maysa dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 27/10/2004, 18h50
  5. comment lier deux tables?????
    Par baboune dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 16/03/2004, 14h45

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