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 :

comment synchroniser une zone de listes modifiable avec des sous-formulaires.


Sujet :

IHM

  1. #21
    Nouveau membre du Club Avatar de DonQuiShoote
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 104
    Points : 33
    Points
    33
    Par défaut
    Citation Envoyé par Oleff
    Et tu lies sur l'id ou le nom du fournisseur.
    Après avoir cassé la croûte; mon neurone est + performant!
    J'ai fait ce que tu m'as dit; ça marche; les sous-formulaires ont le même aspect que quand je les renseignais avec les requêtes;
    Maintenant il me reste la liaison que je ne comprends pas.
    Je n'ai donc pas d'id fournisseur; juste un champ fournisseur; je lie comment et avec quoi ?

  2. #22
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    427
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 427
    Points : 520
    Points
    520
    Par défaut
    Dans les champ père/fils, tu met ton champ fournisseur qui ici te serts d'id.
    Tu devrait donc avoir en champ père ta zone de liste et en champ fils le champ fournisseur de ton sous-formulaire. Si celui-ci n'existe pas tu le crée et le cache pour l'utilisateur (propriété visible à faux)

  3. #23
    Nouveau membre du Club Avatar de DonQuiShoote
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 104
    Points : 33
    Points
    33
    Par défaut
    Je suis en train de bidouiller;
    Pour le moment les sous-formulaires et la boite se remplissent correctement; c'est déjà ça; mais quand je clique sur un item de la liste, rien ne se passe.
    Je suis en train d'essayer de faire comme tu dis pasque je sent que ce devrait être bon, mais je ne retrouve plus l'endroit où on renseigne les champs pere/fils !
    i am very laborieux!

  4. #24
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    427
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 427
    Points : 520
    Points
    520
    Par défaut
    Dans ton formulaire principal, en mode création, tu cliques sur l'emplacement de ton sous-form, dans l'onglet données, tu as les champs père/fils.
    Pour le raffraichissement, tu peux mettresur l'afterUpdate de ta zone de liste.

  5. #25
    Nouveau membre du Club Avatar de DonQuiShoote
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 104
    Points : 33
    Points
    33
    Par défaut
    Ca y est; ça marche!
    Eh bêh; tu as eu de la patience; j'ai eu de la chance de tomber sur qq'un bien pourvu en la matière!

    Par contre quand je change d'onglets la zone de liste devrait se refaire avec les fournisseurs du genre de l'onglet. Mais non; elle reste pareil.
    C'est parce que je ne suis pas arrivé à faire correctement ce que tu m'as dit.
    C'est dans source du contrôle qu'il faudrait que je mette fournisseur et genre ? Mais access n'en veut pas si je met fournisseur et qu'après je clique sur genre, il ne met que genre.
    C'est là que j'ai du merder.
    dans source du controle j'ai donc fournisseur
    dans origine source j'ai table/requête
    et dans contenu : SELECT [abonnements 2007].[Fournisseur] FROM [abonnements 2007] GROUP BY [abonnements 2007].[Fournisseur];
    Il doit falloir mettre genre par là; dans la 1e ligne il n'en veut pas ?
    Parce que logiquement la zone de liste devrait se remplir avec les fournisseur qui ont le même genre que le sous-formulaire; c'est ça ?
    J'ai bien mis le requery là où tu me l'as dit.
    Ad talure!

  6. #26
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    427
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 427
    Points : 520
    Points
    520
    Par défaut
    Si tu veux que ta zone de liste change selon l'onglet, il va falloir faire des modif.
    Sur le changement d'onglet, il faut que tu raffraichisses la source de la zone de liste.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Me.zoneDeListe.source = "SELECT [abonnements 2007].[Fournisseur] FROM [abonnements 2007] GROUP BY [abonnements 2007].[Fournisseur] HAVING genre = 'nomDeGenre';"
    Me.zoneDeListe.requery

  7. #27
    Nouveau membre du Club Avatar de DonQuiShoote
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 104
    Points : 33
    Points
    33
    Par défaut
    Ok; merci. J'essaierai demain; là il faut que j'expédie les affaires courantes avant de rentrer chez moi.

    Pour le moment y a un bug; car quand je ferme le formulaire et que je le relance; la zone de liste a gardé le dernier choix (le fournisseur sur lequel j'ai cliqué en dernier', et le sous-form, n'affiche plus que cet enregistrement !!!
    'achement bizarre! On voit de ces chÔses en informatique!
    Allez merci pour tout et à demain.
    DonQuiShoote.

  8. #28
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    427
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 427
    Points : 520
    Points
    520
    Par défaut
    La propriété sourceContrôle de ta liste doit être vide, le select vient dans le contenu.
    Ton bug vient peut être de là.

    Bonne soirée

  9. #29
    Nouveau membre du Club Avatar de DonQuiShoote
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 104
    Points : 33
    Points
    33
    Par défaut
    Salut Oleff,
    Après une bonne nuit de sommeil, sans cesse sur le métier...
    J'en ai rêvé cette nuit! J'ai pensé que j'avais laissé un recordset, des essais que j'avais fait auparavant; j'ai regardé ce matin en arrivant; eh non, c'eut été trop beau!
    - J'ai enlevé fournisseur de source contrôle mais cela n'a rien donné.
    Heureusement que j'ai fait des sauvegardes de tous les éléments de l'application, car le bug remplace dans le champ fournisseur de la table, celui sélectionné dans la zone de listes!
    En plus dans l'onglet fournisseur il ne trouve plus tous les enregistrements 'périodiques' qu'il y a dans la table; il n'en trouve plus que 3.
    On voit de ces chÔses en informatique!
    - Je pense que ça vient du fait que je n'ai pas bien (ou pas entièrement) executé tes directives.
    - Tu me dis de mettre dans la source de la zone de liste:
    SELECT idFournisseur, nomFournisseur, genre FROM taTable
    J'ai traduit dans les propriétés 'originesource', mais je n'ai pas pu la mettre là j'avais des messages d'erreurs je l'ai donc mis dans 'contenu'. Là, déjà y doit y avoir un blème. En plus je n'ai pas pu mettre le 2e champ genre; là aussi j'ai des messages d'erreurs.
    Ensuite tu me dis :
    Et tu lies sur l'id ou le nom du fournisseur
    Je n'ai pas d'idfournisseur je n'ai donc rien fait !
    Je sais lier 2 tables, mais là avec quoi je lie fournisseur puisque on ne bidouille qu'une table ?
    Je continue à chercher le bug; c'est bizarre; quand je lance les sous-form directement, ils fonctionnent correctement; cad le 1e contient bien tous les périodiques, le 2e les ouvrages et le 3e les divers.
    Quand je lance le form principal, il schlague et n'affiche plus que le 1e élément de la zone de liste et rien dans les autres !
    Petite précision: la zone de liste se nomme 'fournisseurs', et le champ des formulaires 'fournisseur'.
    Encore merci pour ton aide; on voit toute la différence qu'il y a entre un 'membre du club' et un 'nouveau membre du club'!
    DonQuiShoote

  10. #30
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    427
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 427
    Points : 520
    Points
    520
    Par défaut
    Salut,
    On réattaque...

    La zone de liste ne sert qu'à la sélection donc elle doit être indépendante.
    C'est en effet dans le contenu que tu choisi ce qui entre dans la liste.
    Tu peux par les ... à droite de cette ligne accéder au qbe. Sinon tu mets ta requête (ici "SELECT taTable.fournisseur, taTable.genre FROM taTable GROUP BY taTable.fournisseur").
    L'id fournisseur dans ton cas est équivalent au nom, donc le lien form/sous-form se fera par le nom. zoneDeListe pour le champ père, nomDeChamp du sous-form pour le champ fils.
    Le lien dont je parlais est le lien form/sous-form.

  11. #31
    Nouveau membre du Club Avatar de DonQuiShoote
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 104
    Points : 33
    Points
    33
    Par défaut
    Je bosse mal; j'ai modifié plusieurs fois le dernier message en tablant sur le fait que tu ne l'as pas encore lu!
    J'ai cerné, mais non résolu (!), le bug; quand j'enlève 'fournisseur' (cad le nom du champ fournisseur) dans peres/fils; le sous-form affiche de nouveau tous les enregistrements qu'il doit filtrer. Mais évidemment quand je clique sur un nom de fournisseur dans la zone de listes, plus rien ne se passe!

  12. #32
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    427
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 427
    Points : 520
    Points
    520
    Par défaut
    Tu as bien un contrôle fournisseur dans ton sou-form ?
    Le lien père fils se fait sur un contrôle donc...

  13. #33
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    427
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 427
    Points : 520
    Points
    520
    Par défaut
    Pour reprendre plus méthodiquement.
    Ce que j'ai compris :
    Tu as un formulaire principal qui contient une zone de liste et des onglets.
    Dans chaque onglet, tu as inclus un sous-form.
    Et tu veux utiliser la zone de liste du form principal pour filtrer l'affichage dans les sous-formulaires.

    J'ai bon là ?

  14. #34
    Nouveau membre du Club Avatar de DonQuiShoote
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 104
    Points : 33
    Points
    33
    Par défaut
    Citation Envoyé par Oleff
    Pour reprendre plus méthodiquement.
    Et tu veux utiliser la zone de liste du form principal pour filtrer l'affichage dans les sous-formulaires.
    Pas exactement;
    Les sous-form servent à filtrer par genre;
    -1e onglet le sous-form affiche les périodiques, le 2e les ouvrages, et le 3e le reste divers.
    Avant je faisais avec une requête; maintenant en faisant comme tu m'as dit; ça marche mieux; c'est plus rapide.
    Donc à l'execution du form principal; j'ai bien mes 3 onglets avec les périodiques dans le 1e, les ouvrages dans le 2e et le reste dans le 3e, divers. Ok.
    Maintenant la zone de listes est liée à la demande de l'opératrice de saisie, qui voudrait pointer directement sur un enregistrement donné pour pouvoir le modifier, sans avoir à faire défiler les enregistrements.
    Les factures n'arrivant parfois que 3 mois après la commande, on doit pouvoir revenir sur un enregistrement n'importe quand !
    Ce que je cherche à faire; c'est quand on clique sur un fournisseur dans la zone de liste; cela envoie direct sur le 1e enregistrement de ce fournisseur.
    Voili-voilà...

  15. #35
    Nouveau membre du Club Avatar de DonQuiShoote
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 104
    Points : 33
    Points
    33
    Par défaut
    Citation Envoyé par Oleff
    Tu as bien un contrôle fournisseur dans ton sou-form ?
    Le lien père fils se fait sur un contrôle donc...
    J'ai un champ fournisseur dans chaque sous-form.

  16. #36
    Nouveau membre du Club Avatar de DonQuiShoote
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 104
    Points : 33
    Points
    33
    Par défaut
    quand j'écris cela dans le champ contenu de la zone de listes, j'ai ce
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT [abonnements 2007].[fournisseur], [abonnements 2007].[genre] FROM [abonnements 2007] GROUP BY [abonnements 2007].[fournisseur];
    message:
    'vous avez essayé d'executer une requete ne comprenant pas l'expression spécifiée 'genre' comme une partie de la fonction d'agrégat.
    Dans la zone de listes je n'ai déclaré qu'une colonne...

  17. #37
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    427
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 427
    Points : 520
    Points
    520
    Par défaut
    Donc sur la mise à jour de ta zone de liste, il faut que tu ailles sur le bon onglet filtré sur le fournisseur sélectionné.

    Si tes sous-formulaires ont la même structure, les onglets te compliquent la vie.

    Il vaudrait peut-être mieux n'avoir qu'un sous-form. Sauf si les onglets sont un imprératif.

  18. #38
    Nouveau membre du Club Avatar de DonQuiShoote
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 104
    Points : 33
    Points
    33
    Par défaut
    Citation Envoyé par Oleff
    Donc sur la mise à jour de ta zone de liste, il faut que tu ailles sur le bon onglet filtré sur le fournisseur sélectionné.

    Si tes sous-formulaires ont la même structure, les onglets te compliquent la vie.

    Il vaudrait peut-être mieux n'avoir qu'un sous-form. Sauf si les onglets sont un imprératif.
    Oui; ce sont les onglets et les sous-form qui posent problèmes.
    Je pense que comme ça fonctionne correctement à part la zone de listes; c'est elle que je vais faire sauter. Et christine (l'opératrice) n'aura qu'à faire défiler les enregistrements pour trouver celui qu'elle veut mettre à jour.
    Je regarde encore un peu, et je cloture en faisant comme ça.

    Merci pour ton aide; tu m'as fais avancer dans la connaissance du vb d'access.
    Ad talure,
    DonQuiShoote.

  19. #39
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    427
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 427
    Points : 520
    Points
    520
    Par défaut
    Tu peux aussi mettre une liste par onglet plutôt qu'une liste unique.
    Pour le contenu tu n'affiches que les fournisseurs correspondant au genre de l'onglet et le tour est joué.

  20. #40
    Nouveau membre du Club Avatar de DonQuiShoote
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 104
    Points : 33
    Points
    33
    Par défaut
    Je vais y réfléchir; là comme c'est la fin de semaine, il faut que j'expédie les affaire courantes; je m'y remettrai un moment lundi; sinon, je ferai sauter la zone de liste.
    Allez bon WE. Ici il fait un temps abominable; y a une saloperie de vent; j'ai désintégré mon pépin à midi!
    DonQuiShoote.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 3 PremièrePremière 123 DernièreDernière

Discussions similaires

  1. Réponses: 10
    Dernier message: 21/09/2010, 16h53
  2. Réponses: 0
    Dernier message: 10/10/2007, 16h40
  3. Réponses: 2
    Dernier message: 27/08/2007, 12h19
  4. Réponses: 1
    Dernier message: 18/02/2007, 11h07
  5. Réponses: 5
    Dernier message: 06/09/2005, 02h50

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