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 de valeurs dans une liste deroulante


Sujet :

IHM

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 91
    Points : 46
    Points
    46
    Par défaut liste de valeurs dans une liste deroulante
    Bonjour
    J’ai créé une liste de valeurs pour un champ dans une table, la liste et modifiable et je veux quand cas d’une valeur qui n’existe pas, qu’on puisse la rajouter a partir du formulaire.
    Le voila mon code et je ne sais pas pour quoi ca ne marche pas ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub Groupe_d_appartenance_NotInList(NewData As String, Response As Integer)
    Dim ctlComboBox As ComboBox
    Set ctlComboBox = Me!Groupe_d_appartenance
    If MsgBox("Cette valeur n'est pas dans la liste. Souhaitez vous l'ajouter ?", _
        vb0kcancel) = vb0K Then
        Response = acDataErrAdded
        ctlComboBox.RowSource = ctlComboBox.RowSource & ";" & NewData
    Else
        Response = acDataErrContinue
        ctlComboBox.Undo
    End If
    End Sub

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Points
    1 579
    Par défaut
    Il faut mettre un requery à la fin pour actualiser les modifications.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    me.Groupe_d_appartenance.Requery
    Ca c'est juste pour le faire apparaitre.

    Je crois aussi qu'il faut prendre l'événement sur MAJ.

    Maintenant pour l'enregistrer de manière permanente dans les valeurs de ta liste, il faut que le formulaire soit en mode création/modification.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 91
    Points : 46
    Points
    46
    Par défaut
    Merci pour ton aide, j’ai réessayé et ca ne marche toujours pas,
    Le revoilà le code
    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 Groupe_d_appartenance_NotInList(NewData As String, Response As Integer)
    Dim ctlComboBox As ComboBox
    Set ctlComboBox = Me!Groupe_d_appartenance
    If MsgBox("Cette valeur n'est pas dans la liste. Souhaitez vous l'ajouter ?", _
        vb0KCancel) = vb0K Then
        Response = acDataErrAdded
        ctlComboBox.RowSource = ctlComboBox.RowSource & ";" & NewData
    Else
        Response = acDataErrContinue
        ctlComboBox.Undo
    End If
    Me.Groupe_d_appartenance.Requery
    End Sub

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour

    D'où vient ce code ?
    Pourquoi utiliser une variable objet
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim ctlComboBox As ComboBox
    As-tu lu le code de la http://access.developpez.com/faq/?page=zdl#AddItem

    Starec

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 91
    Points : 46
    Points
    46
    Par défaut
    Pour le code je me suis inspirer du livre VBA pour ACCES 2003, as-tu une idée pour quoi le code e marche pas

  6. #6
    Invité
    Invité(e)
    Par défaut
    Re

    Je connais ce livre, et je ne suis pas d'accord avec ce code. Si tu as ce livre sous les yeux, tu verras page 219 que ce type de manipulation donne une liste provisoire.

    Je te conseil le lien que je t'ai donné de la FAQ, rien que l'ajout d'un élément.

    Starec

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 91
    Points : 46
    Points
    46
    Par défaut
    Re
    Regard ce code et ca marche toujours pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub test_NotInList(NewData As String, Response As Integer)
        If MsgBox("Voulez-vous ajouter " & NewData & " à la liste?", _
                           vb0KCancel) = vb0K Then
            DoCmd.RunSQL "INSERT INTO Table1(test) SELECT """ & NewData & """;"
            Response = acDataErrAdded
        Else
            Response = acDataErrContinue
            test.Undo
        End If
    End Sub

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 91
    Points : 46
    Points
    46
    Par défaut
    voila le code car dans le dernier je me suis troper de table
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub test_NotInList(NewData As String, Response As Integer)
        If MsgBox("Voulez-vous ajouter " & NewData & " à la liste?", _
                           vb0KCancel) = vb0K Then
            DoCmd.RunSQL "INSERT INTO Table2(liste) SELECT """ & NewData & """;"
            Response = acDataErrAdded
        Else
            Response = acDataErrContinue
            test.Undo
        End If
    End Sub
    je tiens a savoire pour quoi ce code ne marche pas, et pour quoi j'ai pas de message d'erreurs qund il marche pas?

  9. #9
    Invité
    Invité(e)
    Par défaut
    Re

    Je te conseille d'utiliser une requête d'insertion de ce type : http://access.developpez.com/sql/#L2.2.5.a sans le Select.

    De plus, pour que la liste soit mise à jour, il faut faire un requery dessus (un petit coup de sur le mot Requery.

    Starec

  10. #10
    Membre habitué
    Profil pro
    Cadre technique
    Inscrit en
    Mai 2006
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Cadre technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2006
    Messages : 194
    Points : 156
    Points
    156
    Par défaut
    Bonsoir,
    Bien que je ne suis que débutant ,je me permets d'ajouter un petit commentaire. Ne serait-ce pas mieux de placer d'abord ton code sur l'événement "absence dans liste" de ta liste déroulante.Essayes et tu repostes après.Il me semble que avoir vu cela quelque part, tout simplement parce que je cherche à résooudre un problème avec une mise à jour (différence avec ajoute ) à partir d'une liste déroulante.Je vais devoir poster pour une solution . Bonne chance.

  11. #11
    Membre habitué
    Profil pro
    Cadre technique
    Inscrit en
    Mai 2006
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Cadre technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2006
    Messages : 194
    Points : 156
    Points
    156
    Par défaut
    Sorry, je me rends compte maintenant que ton code débute sur l'événement " sur absence dans liste.Mille excuses. Mais , j'ai peut-être une piste pour toi. Je recherche demain et je te tiens au courant. Il me semble (mais de mémoire) il faut appeler la bonne référence que tu vas utiliser , du genre
    , celle dont tu fais appel n'est sans doute pas la bonne.A demain.

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 91
    Points : 46
    Points
    46
    Par défaut relance
    Bon jour
    Je relance ma question à propos de ma liste déroulante dans mon formulaire.
    En fait j’ai 2 tables table1 avec le champ test et table2 avec le champ liste.
    Le champ test contient une liste déroulante générer par une requête qui select les valeurs dans le champ liste de la table2
    Je veux que quand on a une nouvelle valeur a partir du formulaire on la rajoute a la liste déroulante et donc au champ liste de la table2
    J’espère que j’été claire pour expliquer mon problème
    Voila le code que j’ai créé et ca marche pas
    Si vous avez des propositions n’hésitez pas s’il vous a donné le code complet avec des explications sur les méthodes utilisé
    Merci d’avance
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub test_NotInList(NewData As String, Response As Integer)
    Dim strSQL As String
        If MsgBox("Voulez-vous ajouter " & NewData & " à la liste ?", _
                           vbOKCancel) = vbOK Then
        strSQL = "INSERT INTO Table2(liste)" & _
        "VALUES ( & NewData & )" & _
        "FROM Table2;"
        DoCmd.RunSQL
            Response = acDataErrAdded
        Else
            Response = acDataErrContinue
            test.Undo
        End If
        End Sub

  13. #13
    Membre chevronné Avatar de Renardo
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 648
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 648
    Points : 2 019
    Points
    2 019
    Par défaut
    bonjour,
    essai se code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub Test_NotInList(NewData As String, Response As Integer)
    If MsgBox("Voulez-vous ajouter " & NewData & " à la liste?", _
                            vbYesNo + vbQuestion + vbDefaultButton2, "Ajout") = vbYes Then
            DoCmd.RunSQL "INSERT INTO Table2(liste) SELECT """ & NewData & """;"
            Response = acDataErrAdded
        Else
            Response = acDataErrContinue
          Test.Undo
        End If
     
    End Sub
    sur la propriétée limiter a liste mettre oui

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 91
    Points : 46
    Points
    46
    Par défaut
    J’ai essayé ca marche toujours pas
    Auriez-vous une autre idée

  15. #15
    Membre chevronné Avatar de Renardo
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 648
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 648
    Points : 2 019
    Points
    2 019
    Par défaut
    peux tu mettre ta bd ou une demo pour voir ou est le probleme
    je regarderais ce soir car la je part bossé

Discussions similaires

  1. [AC-2010] Utiliser valeur d'une liste de choix dans une liste déroulante d'un autre formulaire
    Par Sébastien1609 dans le forum Macros Access
    Réponses: 1
    Dernier message: 11/06/2015, 15h31
  2. Réponses: 9
    Dernier message: 21/05/2014, 20h21
  3. [VxiR2] Ordre dans la liste des valeurs dans une invite
    Par amy0o0 dans le forum Webi
    Réponses: 1
    Dernier message: 21/04/2011, 17h59
  4. Recherche d'une liste de valeurs dans une autre
    Par charlebakhtovsky dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 07/02/2011, 09h20
  5. insérer une liste de valeurs dans une colonne
    Par ecdxml dans le forum SQL
    Réponses: 7
    Dernier message: 16/10/2009, 15h57

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