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 :

[Formulaire] Zone de liste modifiable


Sujet :

IHM

  1. #1
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 216
    Points : 61
    Points
    61
    Par défaut [Formulaire] Zone de liste modifiable
    Dans un formulaire, j’ai un champ « N° moteur ». J’aimerais pouvoir mettre une zone de liste modifiable sur ce champs, afin qu’elle puisse me donner la liste de tous les moteurs enregistrés dans la table ainsi que les informations correspondantes.

    Actuellement, j’ai réussi à mettre la zone de liste modifiable sur le champ N° moteur. La liste de tous mes moteurs apparaissent, seulement, je n’ai pas les info correspondantes qui vont avec…
    Que faire??

  2. #2
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    691
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 691
    Points : 504
    Points
    504
    Par défaut
    Bonjour,


    Quand tu vas dans : ==> propriétés ==> onglet Toutes ==> Contenu, te ne dois avoir que ton numéro moteur de sélectionné. Il faut que tu ajoutes les champs que tu veux afficher dans ta liste modifiable.

    N'oublie pas après avoir fait cette manip de modifier la propriété : Nombre colonne (situé juste en dessous de contenu). En effet, si tu veux afficher 4 champs, mais que dans ce nombre colonne il y a "2", ça ne t'affichera que les deux premières !!

  3. #3
    Membre averti
    Avatar de The_Super_Steph
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    445
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 445
    Points : 359
    Points
    359
    Par défaut
    Bjr, n'oublie pas non plus de modifier la largeur de tes colonnes en conséquence,

    Stéphanie
    Blonde, d'origine belge et gauchère... et alors !
    "N'est stupide que la stupidité"

    Quand il n'y a pas de solution, c'est qu'il n'y a pas de problème

    (\ _ /)
    (='.'=)
    Voici Lapinou, le lapin crétin-Rasta. Aidez le à conquérir le monde
    (")-(") en le reproduisant !

  4. #4
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 216
    Points : 61
    Points
    61
    Par défaut Zone de liste modifiable
    en fait je veux qu'il n y ait qu'un champ dans ma zone de liste modifiable. Mais il faudrait que qd je sélectionne un n° de moteur dans ce champ, il m'affiche dans les autres champs du formulaire, les infos correspondantes à ce n° de moteur

  5. #5
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    691
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 691
    Points : 504
    Points
    504
    Par défaut
    En supposant que ton formulaire se base sur la bonne table, et que ton N° de moteur est unique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim rs As Object
        Set rs = Me.Recordset.Clone
        rs.FindFirst "[N° moteur] = " & str(Nz(Me![Nom_De_Ta_Liste_Modifibale], 0))
        If Not rs.EOF Then Me.Bookmark = rs.Bookmark
    A mettre sur l'évènement Après MAJ de ta zone de liste.

  6. #6
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 216
    Points : 61
    Points
    61
    Par défaut Zone de liste modifiable
    C'est quoi la différence entre le nom de mon champ :"n° de moteur" et le nom de la zone de liste modifiable. Pq pour moi elles portent le mm nom !!

  7. #7
    Membre averti
    Avatar de The_Super_Steph
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    445
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 445
    Points : 359
    Points
    359
    Par défaut
    Sinon, tu as aussi la solution suivante :

    Dans ta zone de liste, tu mets le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Nomdetazonedeliste_AfterUpdate()
    Me.Tonchamp1 = Me.Nomdetazonedeliste.Column(1)
    Me.Tonchamp2 = Me.Nomdetazonedeliste.Column(2)
    End Sub
    J'ai eu ce problème il y a quelques jours, et c'est ce qu'on m'a dit de faire, ça marche très bien !
    Blonde, d'origine belge et gauchère... et alors !
    "N'est stupide que la stupidité"

    Quand il n'y a pas de solution, c'est qu'il n'y a pas de problème

    (\ _ /)
    (='.'=)
    Voici Lapinou, le lapin crétin-Rasta. Aidez le à conquérir le monde
    (")-(") en le reproduisant !

  8. #8
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 216
    Points : 61
    Points
    61
    Par défaut Zone de liste modifiable
    ca ne serait pas plutot le nom de ma table ou ca pioche les infos??

  9. #9
    Membre averti
    Avatar de The_Super_Steph
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    445
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 445
    Points : 359
    Points
    359
    Par défaut
    tu peux changer le nom de tous tes éléments, que ce soient des zones de listes, des étiquettes ou des zones de texte...

    En mode modification de ton formulaire, tu sélectionnes la zone de liste, tu fais clic droit, Propriétés, et tu vas sur l'onglet Autres. Tout en haut, tu peux modifier le nom, peut-être que ça te simplifieras les choses
    Blonde, d'origine belge et gauchère... et alors !
    "N'est stupide que la stupidité"

    Quand il n'y a pas de solution, c'est qu'il n'y a pas de problème

    (\ _ /)
    (='.'=)
    Voici Lapinou, le lapin crétin-Rasta. Aidez le à conquérir le monde
    (")-(") en le reproduisant !

  10. #10
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Bonjour,

    Humm... le code proposé par Herman conviendra dans le cas d'écrans en consultation.

    Tout dépend donc du contexte... Si ta liste modifiable est un contrôle dépendant - servant donc à mémoriser la sélection d'un moteur dans une table - et que tu veux en complément afficher les informations connexes de ce moteurs, cela ne conviendra pas. Dans ce cas, tu peux:
    - soit ajouter la table des moteurs à la requête source de ton formulaire. Il faudra dans ce cas ne pas oublier de vérouiller les controles correspondant aux détail du moteur sélectionné car ce n'est pas l'endroit logique pour les modifier.
    - soit créer des champs indépendants qui vont chercher les données dans des colonnes cachées (largeur =0) de ta liste déroulante par une expression du genre = Maliste.column(n) (où n représente la (n+1)ième colonne)
    ............................................................................................

    Dans l'intérêt de tous, ne posez pas de questions techniques par messages privés.

  11. #11
    Membre averti
    Avatar de The_Super_Steph
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    445
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 445
    Points : 359
    Points
    359
    Par défaut
    Oui, en fait, moi, j'ai une requête derrière ma zone de liste, c'est pour ça que je prends directement le nom de la zone de liste, c'est plus simple (enfin pour moi !)
    Blonde, d'origine belge et gauchère... et alors !
    "N'est stupide que la stupidité"

    Quand il n'y a pas de solution, c'est qu'il n'y a pas de problème

    (\ _ /)
    (='.'=)
    Voici Lapinou, le lapin crétin-Rasta. Aidez le à conquérir le monde
    (")-(") en le reproduisant !

  12. #12
    Membre averti
    Avatar de The_Super_Steph
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    445
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 445
    Points : 359
    Points
    359
    Par défaut
    Dans le cas où tu nagerais... la solution que je t'ai proposé correspond à la deuxième solution de mout1234...
    Blonde, d'origine belge et gauchère... et alors !
    "N'est stupide que la stupidité"

    Quand il n'y a pas de solution, c'est qu'il n'y a pas de problème

    (\ _ /)
    (='.'=)
    Voici Lapinou, le lapin crétin-Rasta. Aidez le à conquérir le monde
    (")-(") en le reproduisant !

  13. #13
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    691
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 691
    Points : 504
    Points
    504
    Par défaut
    Oui pour précision, j'ai dans mon cas un formulaire qui regroupe tous les champs de ma table (plus ou moins).

    J'ai crée une zone de liste modifiable en plus qui me sert d'outils de Recherche.

    Le contenu de cette zone de liste modifiable est une requête, qui me récupére tout les Index (dans ton cas, les N° moteur)

    Sur cette zone de liste modifiable, sur l'évènement Après MAJ il faut mettre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim rs As Object
        Set rs = Me.Recordset.Clone
        rs.FindFirst "[N° moteur] = " & str(Nz(Me![zone_recherche], 0))
        If Not rs.EOF Then Me.Bookmark = rs.Bookmark
    En fonction de ce que tu auras sélectionné, ça t'affichera toutes les infos de ton moteur sélectionné. Et ensuite, tu peux très bien modifié ces infos via les champs de ton formulaire.

    Pour résumer :

    - un formulaire avec les champs qui t'intéresse basé sur la table qui t'intéresse
    - une zone de liste modifiable en plus a créer, dont le contenu sera un simple : Select N° moteur from ta_table;
    - Tu renomme cette zone de liste : zone_recherche. ATTENTION : cette zone de liste ne doit avoir aucune Source Contrôle
    - Sur l'évènement Après MAJ tu met le code que je t'ai mis au dessus
    - Comme cette zone de liste modifiable ne sert que de recherche, libre à toi maintenant de modifier les champs de l'enregistrement qui s'affiche, ton formulaire te sert maintenant de consultation/modification/etc ...
    - Et voilà le tour est joué.

  14. #14
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 216
    Points : 61
    Points
    61
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub MSN_U_S_à_réparer_parent_AfterUpdate()
    Dim rs As Object
        Set rs = Me.Recordset.Clone
        rs.FindFirst "[MSN U/S à réparer parent]= " & Str(Nz(Me![zone_recherche], 0))
        If Not rs.EOF Then Me.Bookmark = rs.Bookmark
    End Sub
    voilà le code que j'écris et ca ne marche pas. J'ai bien créé une requete zone_recherche et j'ai remplacé le n° moteur par le nom de mon champ qui correspond au n° moteur et ca bloque....

  15. #15
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    691
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 691
    Points : 504
    Points
    504
    Par défaut
    Citation Envoyé par atlantideD
    J'ai bien créé une requete zone_recherche
    Je t'ai jamais demandé de créer une requête zone-recherche

    Citation Envoyé par Herman
    Tu renomme cette zone de liste : zone_recherche
    Je t'ai demandé d'appeller ta zone de liste zone_recherche, pas ta requête. Mais maintenant, peu importe le nom que tu lui donne, c'était un exemple.

    Ta requête ne doit d'ailleurs même pas porter de nom, puisqu'elle se situe dans le contenu de ta zone de liste modifiable.

    D'ailleurs en regardant ton code, on peut voir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MSN_U_S_à_réparer_parent_AfterUpdate
    donc le nom de ta zone de liste est : MSN_U_S_à_réparer_parent

    Le code ressemblera donc à ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub MSN_U_S_à_réparer_parent_AfterUpdate()
    Dim rs As Object
        Set rs = Me.Recordset.Clone
        rs.FindFirst "[MSN U/S à réparer parent]= " & Str(Nz(Me![MSN_U_S_à_réparer], 0))
        If Not rs.EOF Then Me.Bookmark = rs.Bookmark
    End Sub

  16. #16
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 216
    Points : 61
    Points
    61
    Par défaut Zone de liste modifiable
    Private Sub MSN_U_S_à_réparer_parent_AfterUpdate()
    Dim rs As Object
    Set rs = Me.Recordset.Clone
    rs.FindFirst "[MSN U/S à réparer parent]= " & Str(Nz(Me![MSN_U_S_à_réparer_parent], 0))
    If Not rs.EOF Then Me.Bookmark = rs.Bookmark
    End Sub

    Voilà le code que j'ai essayé d'appliquer et ca ne marche tjs pas.... Y a t il une erreur que je ne vois pas ?

  17. #17
    Membre averti
    Avatar de The_Super_Steph
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    445
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 445
    Points : 359
    Points
    359
    Par défaut
    Re,

    Juste histoire de te simplifier la vie, choisis la simplicité et reprends la solution que Mout1234 et moi-même t'avions proposé. Moi je ne suis pas super calée, et j'ai réussi à l'appliquer, ça marche très bien, et tu ne t'embêtes pas avec le code un peu compliqué d'Herman (du moins compliqué pour des novices !)...

    A toi de voir !

    Stéphanie
    Blonde, d'origine belge et gauchère... et alors !
    "N'est stupide que la stupidité"

    Quand il n'y a pas de solution, c'est qu'il n'y a pas de problème

    (\ _ /)
    (='.'=)
    Voici Lapinou, le lapin crétin-Rasta. Aidez le à conquérir le monde
    (")-(") en le reproduisant !

  18. #18
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    691
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 691
    Points : 504
    Points
    504
    Par défaut
    Pour en faire profiter tout le monde :

    et à quel endroit peut on renommer la zone de liste?? (source de controle???)
    merci
    ==> propriétés ==> onglet toutes ==> Nom : et là tu met le nouveau nom

    Pour ma solution, ça date de quand j'ai commencé ACCESS, y'a une petite année, j'ai fait un post ici même il me semble, puisque j'avais le même problème qu'atlantideD , on m'a proposé ça, j'ai fait Copier/coller du code qui m'a été proposé (celui là même que j'ai mis précédemment), et ça a parfaitement fonctionné

    Sinon petite question, ta zone de liste modifiable MSN_U_S_à_réparer_parent se base sur quelel requête, tu peux la copier ici stp ?

    PS : la prochaine fois, essaie de lui donner un nom un peu plus simple ^^ et tant qu'à faire ne met jamais d'accent, ça fait tout buguer desfois.

  19. #19
    Membre averti
    Avatar de The_Super_Steph
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    445
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 445
    Points : 359
    Points
    359
    Par défaut
    Ok Herman

    Alors c'est qu'il a dû mal copier ton code... et puis il ne lit pas bien ses messages :


    En mode modification de ton formulaire, tu sélectionnes la zone de liste, tu fais clic droit, Propriétés, et tu vas sur l'onglet Autres. Tout en haut, tu peux modifier le nom, peut-être que ça te simplifieras les choses
    Bref... il faut croire que mon français n'est pas assez clair

    Cordialement,

    Stéphanie
    Blonde, d'origine belge et gauchère... et alors !
    "N'est stupide que la stupidité"

    Quand il n'y a pas de solution, c'est qu'il n'y a pas de problème

    (\ _ /)
    (='.'=)
    Voici Lapinou, le lapin crétin-Rasta. Aidez le à conquérir le monde
    (")-(") en le reproduisant !

Discussions similaires

  1. Réponses: 3
    Dernier message: 10/04/2007, 15h41
  2. Zone de liste modifiable dans le formulaire
    Par erikac dans le forum Access
    Réponses: 5
    Dernier message: 11/05/2006, 12h00
  3. Sous formulaire avec zone de liste modifiable
    Par Krakotte dans le forum IHM
    Réponses: 7
    Dernier message: 20/01/2006, 10h21
  4. Réponses: 5
    Dernier message: 05/01/2006, 13h30
  5. [Formulaire] zone de liste qui en modifie d'autres
    Par dutrannoy dans le forum Access
    Réponses: 4
    Dernier message: 09/10/2005, 20h19

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