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

IHM Discussion :

liste liées dans sous formulaire


Sujet :

IHM

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2009
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 10
    Points : 5
    Points
    5
    Par défaut liste liées dans sous formulaire
    Bonjour,

    Alors je vous explique:

    Ma boite conditionnent des yahourts pour plusieurs marques bien connus. On a plusieurs ligne de production qui produisent donc des yahourts pour des clients (les marques). Mais chaque ligne acceuil n'importe quels yahourts. En générale, on produit 2-3 jours sur une ligne tel yahourt, puis, on va laver la ligne et faire un autre produit, d'une autre marque, etc...

    Je veux faire une base pour rentrer mes productions journalière, ligne par ligne.
    Voici mes relations:


    Voici mon problème;
    Je veux faire un formulaire pour saisir les prductions chaque jours. J'ai donc un formulaire avec la date, et dedans un sous formulaire avec les champs "ligne", Client, produit, prodMatin, prodApresmidi...Et je veux donc que ma liste "produits "soit liées à ma liste "clients" (si je choisi "CARROUF" dans client, je veux dans la liste produits que les tahourt de marque CARROUF.



    J'ai fait avec une requete qui selectionne dans le sous-formulaire, la valeur dans la liste "client", et bien ca marche pas! il me met une boite de dialogue avec ecrit mon critère (forms![F_SaisiProdSF]![le nom de ma liste déroulante client].

    Voila. Effectivement, il va chercher dans mon Sousformulaire F_SaisiProdSF, alors que moi je suis dans mon formulaire F_SaisiProd, donc la requete pige pas...

    Si vous avez pigé, merci de m'aider!!!!!

    Ciao
    Pio07

  2. #2
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 600
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 600
    Points : 56 698
    Points
    56 698
    Billets dans le blog
    40
    Par défaut
    Bonjour pio07,

    quelques petites suggestions concernant ton schéma:

    - Pour un champ dans la clé primaire, préférer le type de données: numérique (entier) et NumAuto
    T_Client(N°Client, NomClient)
    T_Produit(N°Produit, NomProduit, #N°Client,...)

    -La table "Date" est certainement pas utile dans ton cas. Un champ "DateProduction" dans la table T_Production au format Date/heure et inclue dans la clé primaire devrait suffire.

    -Si "Ligne" est seulement défini par un nombre entier 1,2,3,... alors là aussi la table "Ligne" est inutile et il suffit d'inclure le champ "Ligne" au format numérique (entier) dans la clé primaire de "T_Production".
    (Bien entendu tu ne tiendra pas compte de cette remarque si l'état de la table T_Ligne n'est que provisoire et que tu comptes y rajouter des colonnes).

    concernant ton formulaire:

    ....Et je veux donc que ma liste "produits "soit liées à ma liste "clients" (si je choisi "CARROUF" dans client, je veux dans la liste produits que les yahourts de marque CARROUF...
    Toi aussi t'achètes tes yahourts au Carrouf du coin?
    peut-être faire un tour dans la FAQ: Comment faire en sorte que le contenu d'une zone de liste déroulante dépende de la valeur d'une autre liste ?

    Pour le reste, j'avoue ne pas avoir tout pigé sur ta structure formulaire/sous-formulaire.
    Si tes problèmes persistent, il serait intéressant de joindre une copie d'écran de ton formulaire.

    à plus tard...

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    238
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Avril 2009
    Messages : 238
    Points : 183
    Points
    183
    Par défaut
    Bonjour

    j'avoue ne pas avoir tout compris (en même temps normal je ne voit pas tes relations... saleté de proxy grrrr) mais je peut au omi téaider sur une chose, c'est sur ta requête :

    La ou tu a écris :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    forms![F_SaisiProdSF]![le nom de ma liste déroulante client]
    il faut en fait mettre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms![F_SaisiProd]![f_SaisiProdSF]!Form.Controls("le nom de ta liste")
    Euhhh je ne suis pas tout a fait sur au niveau de la syntaxe (! ou . je sais plus) mais tu la retrouvera rapidement dans l'aide ou sur le net^^

    Cordialement

    Mcfly

  4. #4
    Futur Membre du Club
    Inscrit en
    Juin 2009
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Merci pour vos réponses!
    McFly, c'est effectivement la syntaxe que j'attendais qu'on me donne!! Bon, là je suis chez moi et j'ai pas access, mais j'essaye demain au boulot à la première heure. Mais est ce qu'il faudra que mon sous formulaire soit ouvert?
    f-leb merci pour tous tes conseils, je vais faire mes modifs. Je te met mon formulaire:

    J'ai mon formulaire avec la date, et dans mon sous formulaire j'inscris mes productions pour la date renseigné.
    A+
    Pio07

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    238
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Avril 2009
    Messages : 238
    Points : 183
    Points
    183
    Par défaut
    Bonjour

    Effectivement pour que cette ligne de code marche il faut que ton sous formulaire soit ouvert dans son formulaire parent

    Cordialement

    Mcfly

  6. #6
    Futur Membre du Club
    Inscrit en
    Juin 2009
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Bon, j'ai pas trop réussi à utiliser ta syntaxe Mcfly...Ca marchait pas J'ai du me planter quelque part.
    Alors j'ai chopé le code ci-dessous je sais plus ou sur le site, et je l'ai arrangé pour ma base. Et ça marche pas! Quelqu'un peut il me dire ou est la boulette. Je soupçone le passage en rouge...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub LIM_InfoProdClient_AfterUpdate()
    Dim Client     As String
    Dim SQL        As String
    
        If Not IsNumeric(Me!LIM_InfoProdClient) Then Exit Sub
        Client = Me!LIM_InfoProdClient
        SQL = "SELECT NomClient, NomProduit FROM T_Produit WHERE NomClient =" & Client & " ORDER BY NomProduit"
        LIM_InfoProdProduit.RowSource = SQL
        LIM_InfoProdProduit.Enabled = True
        LIM_InfoProdProduit.SetFocus
        LIM_InfoProdProduit.Dropdown
      
    End Sub
    Merci beaucoup

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    238
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Avril 2009
    Messages : 238
    Points : 183
    Points
    183
    Par défaut
    bonjour

    si ton champ NomClient est un champ texte il ya effectivement de bonnes chances que l'erreur vienne d'ici, il faut juste rajouter des quotes comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub LIM_InfoProdClient_AfterUpdate()
    Dim Client As String
    Dim SQL As String
     
    If Not IsNumeric(Me!LIM_InfoProdClient) Then Exit Sub
    Client = Me!LIM_InfoProdClient
    SQL = "SELECT NomClient, NomProduit FROM T_Produit WHERE NomClient = '" & Client & "' ORDER BY NomProduit"
    LIM_InfoProdProduit.RowSource = SQL
    LIM_InfoProdProduit.Enabled = True
    LIM_InfoProdProduit.SetFocus
    LIM_InfoProdProduit.Dropdown
     
    End Sub


    Cordialement

    Mcfly

  8. #8
    Futur Membre du Club
    Inscrit en
    Juin 2009
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Super Marty! Ca marche!!!
    t'est pas une mauviette toi, et encore moins un tocar...

    Il faut vraiment que je me mette à VBA...

    A+

  9. #9
    Futur Membre du Club
    Inscrit en
    Juin 2009
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Bon je continue sur ma lancée...

    Une fois que je choisis mon produit dans ma liste intitulée "LIM_InfoProdProduit", je veux qu'il m'ouvre le formulaire "F_ConsultProduitParClient" avec entre autre, comme champ dedans :
    -NomClient
    -Nom produit

    Et je voudrais qu'il me l'ouvre avec dans "nomProduit" le produit que j'ai sélectionné dans LIM_InfoProdProduit", et forcement le bon client dans "NomClient"

    Voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub LIM_InfoProdProduit_AfterUpdate()
            DoCmd.OpenForm "F_ConsultProduitParClient", , , "NomProduit = '" & LIM_InfoProdProduit & "'"
            LIM_InfoProdProduit = ""
    Il m'ouvre le formulaire, mais tout est vide! Mais je crois savoir pourquoi: Ma liste déroulante LIM_InfoProdProduit à 2 colonnes, (NomClient et NomProduit) mais NomClient est cachée (0 cm)...Donc dans mon code il prend lma première colonne de ma liste déroulante. Comment lui dire de prendre la 2ème???

    Merci beaucoup

  10. #10
    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


    Comment lui dire de prendre la 2ème???
    En changeant la propriété "Colonne liée" de la liste déroulante et en lui indiquant alors 2

    Bonne continuation
    Jeannot

    Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., Sources VBA

    Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre

  11. #11
    Futur Membre du Club
    Inscrit en
    Juin 2009
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Super! Merci Jeannot, ça marche!!

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

Discussions similaires

  1. Listes liées dans sous formulaire feuille de données
    Par palaga13 dans le forum Access
    Réponses: 3
    Dernier message: 04/04/2013, 21h59
  2. [AC-2007] Actualiser liste déroulante liée dans sous-formulaire
    Par Elno11 dans le forum IHM
    Réponses: 5
    Dernier message: 24/12/2012, 14h42
  3. [AC-2007] Problème de requête liée à liste déroulante dans sous-formulaire
    Par jean33000 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 27/04/2010, 14h22
  4. Listes déroulantes dans sous-formulaire
    Par Moussy dans le forum IHM
    Réponses: 3
    Dernier message: 10/10/2007, 22h21
  5. Réponses: 1
    Dernier message: 04/05/2007, 12h15

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