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 :

Récuperer les valeurs d'une zone de liste [AC-2007]


Sujet :

IHM

  1. #1
    Membre averti
    Homme Profil pro
    Conseil en assistance à maîtrise d'ouvrage
    Inscrit en
    Mars 2002
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Conseil en assistance à maîtrise d'ouvrage
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2002
    Messages : 28
    Par défaut Récuperer les valeurs d'une zone de liste
    Bonjour,
    Malgré la canicule je tente de faire fonctionner mes neurones.
    J'ai cherché partout sur la faq et dans les forums, mais je n'ai pas trouvé la réponse.
    Peut-être que je n'ai pas été au bon endroit.
    Mon problème est le suivant :
    J'ai développé une base sous Access 2007. Sur un formulaire j'ai une liste modifiable avec possibilité de sélectionner plusieurs valeurs. Je souhaite récupérer les valeurs sélectionnées pour mettre à jour une table.
    Qui peut m'aider ou me dire ou regarder.
    Un grand merci d'avance.
    Cordialement

  2. #2
    Expert confirmé
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Par défaut
    Salut,

    Voici le code que j'utilise.
    Si tu veux récupérer des colonnes de la liste en particulier il suffit de changer l'index (0 est la première colonne).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    ' déclaration des variables
        Dim varElement As Variant
     
        ' test si sélection effectué dans la liste
        If lstChoix.ItemsSelected.Count <> 0 Then
            ' boucle sur les éléments sélectionné de la liste
            For Each varElement In lstChoix.ItemsSelected
                MsgBox lstChoix.Column(0, varElement)
            Next
        Else
            MsgBox "Aucunes sélections."
        End If
    Dolphy

  3. #3
    Membre averti
    Homme Profil pro
    Conseil en assistance à maîtrise d'ouvrage
    Inscrit en
    Mars 2002
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Conseil en assistance à maîtrise d'ouvrage
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2002
    Messages : 28
    Par défaut mise à jour table
    Merci de ta réponse.

    Encore une chose (si possible)

    J'ai donc plusieurs valeurs dans cette liste. Une fois récupérées, comment les envoyer dans une table.

    Merci

  4. #4
    Expert confirmé
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Par défaut
    re,

    tout dépend ce qur tu veux faire.

    Tu veux mettre à jour les données, ajouter ?
    Tes données sont ajoutées en uns fos ou chaque sélection ?

    La ligne suivante te renvoi la sélection à chaque boucle.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox lstChoix.Column(0, varElement)
    exemple tu as ceci comme sélection dans un liste quelconque :

    • Choix 1
      Choix 4
      Choix 15



    et bien tu auras avec le code à la première boucle un message avec Choix 1, ensuite un autre avec Choix 4 et un dernier avev Choix 15. Soit à chaque passage tu ajoute ou met à jour ou bien tu stock toutes les valeurs et tu ajoute une fois.
    tout dépend des données à ajouter et comment tu les ajouter.
    Ensuite il suffit de mettre un req SQL de type Action :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.RunSQL "UPDATE" ou "INSERT INTO"
    Dolphy

  5. #5
    Membre averti
    Homme Profil pro
    Conseil en assistance à maîtrise d'ouvrage
    Inscrit en
    Mars 2002
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Conseil en assistance à maîtrise d'ouvrage
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2002
    Messages : 28
    Par défaut
    Merci de ta patience.

    Je veux simplement (après avoir vidé la table à chaque fois) ajouter dans la table tout ce que j'ai sélectionné dans la liste.

    Encore merci

  6. #6
    Expert confirmé
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Par défaut
    re,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    ' déclaration des variables
        Dim varElement As Variant
     
        ' test si sélection effectué dans la liste
        If lstChoix.ItemsSelected.count <> 0 Then
            ' boucle sur les éléments sélectionné de la liste
            For Each varElement In lstChoix.ItemsSelected
                DoCmd.RunSQL "INSERT INTO MaTable (MesChamps) Values ('" & lstChoix.Column(0, varElement) & "')"
            Next
        Else
            MsgBox "Aucunes sélections."
        End If
    Je te laisse finaliser la requête SQL en fonction de ta table et tes champs.

    Dolphy

  7. #7
    Membre averti
    Homme Profil pro
    Conseil en assistance à maîtrise d'ouvrage
    Inscrit en
    Mars 2002
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Conseil en assistance à maîtrise d'ouvrage
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2002
    Messages : 28
    Par défaut
    Un grand merci, cela fonctionne parfaitement.

    Bien cordialement

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

Discussions similaires

  1. [XL-2010] Comment utiliser les valeurs d'une zone de liste ou d'une combobox ?
    Par Stiard dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 15/11/2014, 10h09
  2. [Toutes versions] Récupérer simplement les valeurs d'une zone de liste
    Par nadgreg dans le forum Access
    Réponses: 8
    Dernier message: 15/04/2014, 10h54
  3. récupérer les valeurs d'une zone de liste à sélection multiple
    Par garsflo dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 09/07/2009, 22h19
  4. Réponses: 2
    Dernier message: 31/10/2008, 10h21
  5. Réponses: 2
    Dernier message: 06/06/2008, 17h18

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