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

VBA Access Discussion :

[A-03]Problème de mise à jour d'une liste déroulante


Sujet :

VBA Access

  1. #1
    Membre du Club
    Homme Profil pro
    Consultant DBA en Suisse
    Inscrit en
    Janvier 2009
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant DBA en Suisse
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 91
    Points : 60
    Points
    60
    Par défaut [A-03]Problème de mise à jour d'une liste déroulante
    Bonjour,

    j'ai trouvé un bout de code que j'ai adapté à mon application.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Ann_type_doc_NotInList(NewData As String, Response As Integer)
         If MsgBox("Voulez-vous ajouter " & NewData & " à la liste des types de documents?", vbYesNo + vbQuestion + vbDefaultButton2, "Ajout") = vbYes Then
           DoCmd.RunSQL "INSERT INTO tb_type_doc( ty_type_doc_ann ) SELECT """ & NewData & """;"
           Response = acDataErrAdded
        Else
           Response = acDataErrContinue
           Ann_type_doc.Undo
    End Sub
    Le problème, c'est qu'il ne rentre jamais dans cette fonction et je ne comprend pas pourquoi.

    Si quelqu'un a une idée, je le remercie d'avance.

    Bonne journée.

  2. #2
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 044
    Points
    16 044
    Par défaut
    Bonjour,

    La propriété "Limiter à liste" de ta liste déroulante est bien à "Oui" ?

    Domi2

  3. #3
    Membre du Club
    Homme Profil pro
    Consultant DBA en Suisse
    Inscrit en
    Janvier 2009
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant DBA en Suisse
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 91
    Points : 60
    Points
    60
    Par défaut
    Merci beaucoup mais maintenant quand je met oui il me fait une erreur.

    Je met une image en annexe avec mon erreur.

    bonne journée.

  4. #4
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 044
    Points
    16 044
    Par défaut
    Et avec un End If, cela fonctionne mieux ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    If MsgBox("Voulez-vous ajouter " & NewData & " à la liste des types de documents?", vbYesNo + vbQuestion + vbDefaultButton2, "Ajout") = vbYes Then
           DoCmd.RunSQL "INSERT INTO tb_type_doc( ty_type_doc_ann ) SELECT """ & NewData & """;"
           Response = acDataErrAdded
        Else
           Response = acDataErrContinue
           Ann_type_doc.Undo
        End If '<== Ici
    Domi2

  5. #5
    Membre du Club
    Homme Profil pro
    Consultant DBA en Suisse
    Inscrit en
    Janvier 2009
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant DBA en Suisse
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 91
    Points : 60
    Points
    60
    Par défaut
    Ben je l'ai déjà mis mais il me fait tout le temps l'erreur.

    Merci de ton aide.

  6. #6
    Membre régulier Avatar de 5GPCISAS1
    Inscrit en
    Novembre 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Novembre 2007
    Messages : 85
    Points : 93
    Points
    93
    Par défaut
    Bonjour,

    Avez-vous mis le code sur la propriété "Si pas dans la liste" de votre liste déroulante?

  7. #7
    Membre du Club
    Homme Profil pro
    Consultant DBA en Suisse
    Inscrit en
    Janvier 2009
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant DBA en Suisse
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 91
    Points : 60
    Points
    60
    Par défaut
    oui, j'ai mis le code sur la propriété "sur absence dans liste".

  8. #8
    Membre régulier Avatar de 5GPCISAS1
    Inscrit en
    Novembre 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Novembre 2007
    Messages : 85
    Points : 93
    Points
    93
    Par défaut
    La source de la liste déroulante provient-elle d'une table?

  9. #9
    Membre du Club
    Homme Profil pro
    Consultant DBA en Suisse
    Inscrit en
    Janvier 2009
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant DBA en Suisse
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 91
    Points : 60
    Points
    60
    Par défaut
    Voila je t'ai mis un print des propriété de ma liste déroulante. Comme cela ça sera plus simple. Et merci beaucoup pour le temps que tu passe pour moi.

  10. #10
    Membre régulier Avatar de 5GPCISAS1
    Inscrit en
    Novembre 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Novembre 2007
    Messages : 85
    Points : 93
    Points
    93
    Par défaut
    Dans la propriété "contenu" de ta liste déroulante, le libellé doit être
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT Table.Champ FROM Table ORDER BY Table.Champ
    .

    J'utilise moi-même le code dans mes bases de données et il fontionne très bien.

  11. #11
    Membre du Club
    Homme Profil pro
    Consultant DBA en Suisse
    Inscrit en
    Janvier 2009
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant DBA en Suisse
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 91
    Points : 60
    Points
    60
    Par défaut
    voila ce que j'ai mis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT tb_type_doc.ty_type_doc_ann FROM tb_type_doc ORDER BY tb_type_doc.ty_type_doc_ann
    mais il me met touours le message qui dit que l'élément n'est pas dans ma liste et que je doit en choisir un.

    Bonne journée.

  12. #12
    Membre du Club
    Homme Profil pro
    Consultant DBA en Suisse
    Inscrit en
    Janvier 2009
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant DBA en Suisse
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 91
    Points : 60
    Points
    60
    Par défaut
    Quelqu'un aurait'il aurait encore une idée? Car je ne comprend vraiment pas pourquoi cela ne marche pas.

    Bonne journée.

  13. #13
    Membre confirmé Avatar de Tonioyo
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2008
    Messages : 343
    Points : 518
    Points
    518
    Par défaut
    Bonjour,

    Après l'insertion de donnée il faut mettre à jour la liste déroulante par un requery. Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MaListeDéroulante.Requery
    Un autre point la procédure est private elle doit donc être apellée dans le formulaire (ou module) dans lequel elle est écrite. c'est peut être pour ca que vous ne passez pas dedans.

  14. #14
    Membre régulier Avatar de 5GPCISAS1
    Inscrit en
    Novembre 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Novembre 2007
    Messages : 85
    Points : 93
    Points
    93
    Par défaut
    Bonjour,

    Je crois que ce serait bien que tu nous montre ta base de donnée, je pourrai ainsi jeter un oeil dessus et voir ce qui ne va pas.

    A+

  15. #15
    Membre du Club
    Homme Profil pro
    Consultant DBA en Suisse
    Inscrit en
    Janvier 2009
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant DBA en Suisse
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 91
    Points : 60
    Points
    60
    Par défaut
    Bonjour,

    Voici la base de donnée. Pour info c'est dans le formaulaire "sf_annexe" qu'il y à ce code et la liste déroulante qui va avec.

    Merci beaucoup.

    Bonne journée.

  16. #16
    Membre régulier Avatar de 5GPCISAS1
    Inscrit en
    Novembre 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Novembre 2007
    Messages : 85
    Points : 93
    Points
    93
    Par défaut
    Bonjour,

    Je crois que le problème est que ce n'est pas une base de données unique, mais un projet avec plusieurs accès par plusieurs utilisateurs.
    Tes tables ne sont apparemment pas dans ce projet. Tu ne sais donc pas rajouter un enregistrement dans cette liste déroulante qui dépend d'une table extérieure, car en faisant cela, tu rajouterais l'enregistrement aussi dans la table.

  17. #17
    Membre du Club
    Homme Profil pro
    Consultant DBA en Suisse
    Inscrit en
    Janvier 2009
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant DBA en Suisse
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 91
    Points : 60
    Points
    60
    Par défaut
    En faite, mes tables sont dans SQL Server 2005. Et je les ai liées avec access.

    Donc y aurait'il un moyen de quand même le rajouter dans ma table ou pas du tout?

    Bonne journée.

  18. #18
    Membre régulier Avatar de 5GPCISAS1
    Inscrit en
    Novembre 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Novembre 2007
    Messages : 85
    Points : 93
    Points
    93
    Par défaut
    Essaies en mettant le chemin complet de ta table dans le code.

  19. #19
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 044
    Points
    16 044
    Par défaut
    Bonjour,

    Et avec ADO (code copié de la FAQ).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub Modifiable0_NotInList(NewData As String, Response As Integer) 
        dim cn as adodb.connection 
        set cn = currentproject.connection      
        If MsgBox("Voulez-vous ajouter " & NewData & " à la liste des prénoms ?",  _
                        vbYesNo + vbQuestion + vbDefaultButton2, "Ajout") = vbYes Then 
            cn.execute "Insert into tblPrenoms values(\'" & NewData & "\');" 
            Response = acDataErrAdded 
        Else 
            Response = acDataErrContinue 
            Modifiable0.Undo 
        End If 
    End Sub
    Domi2

  20. #20
    Membre du Club
    Homme Profil pro
    Consultant DBA en Suisse
    Inscrit en
    Janvier 2009
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant DBA en Suisse
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 91
    Points : 60
    Points
    60
    Par défaut
    Merci la ça marche j'ai juste du supprimé les 2 \

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "Insert into tblPrenoms values(\'" & NewData & "\');"
    Voila merci beaucoup de votre aide.

    Je trouve que c'est super sympa ce que vous faites.

    Bonne journée.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 26/02/2013, 11h58
  2. Problème de mise à jour d'une liste déroulante
    Par colgeo dans le forum VBA Access
    Réponses: 2
    Dernier message: 03/03/2009, 08h47
  3. Mise à jour d'une liste déroulante
    Par maxeur dans le forum IHM
    Réponses: 2
    Dernier message: 30/01/2007, 13h52
  4. Réponses: 5
    Dernier message: 27/08/2006, 14h18
  5. Réponses: 3
    Dernier message: 30/06/2006, 22h56

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