Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > IHM
IHM Ce forum est dédié aux questions relatives à la création de formulaires et d'états, avec ou sans code VBA, et macros.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/08/2011, 14h53   #1
Invité régulier
 
Homme Philippe LE PONT
Conseil en assistance à maîtrise d'ouvrage
Inscription : mars 2002
Messages : 27
Détails du profil
Informations personnelles :
Nom : Homme Philippe LE PONT
Âge : 59
Localisation : France

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

Informations forums :
Inscription : mars 2002
Messages : 27
Points : 6
Points : 6
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
Philippe LE PONT est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/08/2011, 15h35   #2
Rédacteur/Modérateur
 
Avatar de Dolphy35
 
Homme Morgan BILLY
Technicien de Production
Inscription : octobre 2004
Messages : 4 103
Détails du profil
Informations personnelles :
Nom : Homme Morgan BILLY
Âge : 33
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Technicien de Production
Secteur : Industrie

Informations forums :
Inscription : octobre 2004
Messages : 4 103
Points : 8 728
Points : 8 728
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 :
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
__________________
Personnaliser la vue Backstage d'Access 2010
Découvrez avec nous Office 2010
Je ne réponds pas aux questions techniques par MP
Dolphy35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/08/2011, 15h56   #3
Invité régulier
 
Homme Philippe LE PONT
Conseil en assistance à maîtrise d'ouvrage
Inscription : mars 2002
Messages : 27
Détails du profil
Informations personnelles :
Nom : Homme Philippe LE PONT
Âge : 59
Localisation : France

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

Informations forums :
Inscription : mars 2002
Messages : 27
Points : 6
Points : 6
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
Philippe LE PONT est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/08/2011, 16h14   #4
Rédacteur/Modérateur
 
Avatar de Dolphy35
 
Homme Morgan BILLY
Technicien de Production
Inscription : octobre 2004
Messages : 4 103
Détails du profil
Informations personnelles :
Nom : Homme Morgan BILLY
Âge : 33
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Technicien de Production
Secteur : Industrie

Informations forums :
Inscription : octobre 2004
Messages : 4 103
Points : 8 728
Points : 8 728
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 :
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 :
DoCmd.RunSQL "UPDATE" ou "INSERT INTO"
Dolphy
__________________
Personnaliser la vue Backstage d'Access 2010
Découvrez avec nous Office 2010
Je ne réponds pas aux questions techniques par MP
Dolphy35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/08/2011, 16h23   #5
Invité régulier
 
Homme Philippe LE PONT
Conseil en assistance à maîtrise d'ouvrage
Inscription : mars 2002
Messages : 27
Détails du profil
Informations personnelles :
Nom : Homme Philippe LE PONT
Âge : 59
Localisation : France

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

Informations forums :
Inscription : mars 2002
Messages : 27
Points : 6
Points : 6
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
Philippe LE PONT est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/08/2011, 16h34   #6
Rédacteur/Modérateur
 
Avatar de Dolphy35
 
Homme Morgan BILLY
Technicien de Production
Inscription : octobre 2004
Messages : 4 103
Détails du profil
Informations personnelles :
Nom : Homme Morgan BILLY
Âge : 33
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Technicien de Production
Secteur : Industrie

Informations forums :
Inscription : octobre 2004
Messages : 4 103
Points : 8 728
Points : 8 728
re,

Code :
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
__________________
Personnaliser la vue Backstage d'Access 2010
Découvrez avec nous Office 2010
Je ne réponds pas aux questions techniques par MP
Dolphy35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/08/2011, 16h49   #7
Invité régulier
 
Homme Philippe LE PONT
Conseil en assistance à maîtrise d'ouvrage
Inscription : mars 2002
Messages : 27
Détails du profil
Informations personnelles :
Nom : Homme Philippe LE PONT
Âge : 59
Localisation : France

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

Informations forums :
Inscription : mars 2002
Messages : 27
Points : 6
Points : 6
Un grand merci, cela fonctionne parfaitement.

Bien cordialement
Philippe LE PONT est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h25.


 
 
 
 
Partenaires

Hébergement Web