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 :

actualisation d'une liste deroulante


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 208
    Par défaut actualisation d'une liste deroulante
    Bonjour

    J'ai un formulaire qui intègre un sous formulaire.
    Dans ce sous formulaire, j'ai une liste deroulante sur le champ individu.
    Si le nom mis dans le champ individu n'existe pas, on envoit un formuliare de creation d'une nouvelle personne. Mais aorès avoir renseigné les informations pour cette nouvelle personne, si je reviens dans la liste déroulante cette nouvelle personne n'apparaît pas.
    Je ne comprend pas pourquoi , d'autant lus que j'utilise le même code pour un champ destination qui lui est dans le formulaire principal

    Ci-dessous le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub Code_destination_NotInList(NouvellesDonnées As String, Réponse As Integer)
     
     
        Dim entNouvDest As Integer, entTronqueNom As Integer, chTitre As String, entmsgDialogue As Integer
     
             DoCmd.OpenForm "Ajouter une destination", acNormal, , , acAdd, acDialog, NouvellesDonnées
     
     
            Réponse = acDataErrAdded
     
     
    End Sub
    Merci pour vos réponses.
    Est ce parce que c'est dans un sous formaulaire ?
    Par contre, si je vais dans ma table individu je retrouve bien mon nouvel enregistrement

  2. #2
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 134
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Si la valeur est stockée en table, il faut rafraîchir la liste avec par exemple une méthode Requery :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Code_destination.Requery
    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 208
    Par défaut
    le requery ne fonctionne pas.
    En fait mon probleme :
    ça focntionne très bien pour la destination.
    Par contre pour l'individu (en prenant le mm type de code de destination sur absence dans liste), ça ne marche pas.
    Quand je reviens dans la liste déroulante, le nouveau nom que j'ai rentré via un formulaire individu, n'y est pas. Pourtant il a été enregistré.
    Je ne comprend c'est identique et ça ne marche que pour destination

    Pourquoi ?

  4. #4
    Membre Expert

    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
    Par défaut
    Citation Envoyé par pascale86 Voir le message
    Je ne comprend c'est identique et ça ne marche que pour destination
    Ce n'est pas identique une liste dans un formulaire et une autre dans un sous formulaire. Et en plus apparamment l'ajout se fait par un formulaire externe.

    Il faut bien nommer le sous formulaire à partir de l'endroit d'où l'ajout se fait.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Forms!FormulairePrincipal.Form!SousFormulaire!NomChamp.Requery

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 208
    Par défaut
    Bon je suis dans le brouillard complet .... Help me please

    Mon formulaire principal est F-deplacement
    Mon sous formulaire est F-OM-individu
    mon formulaire externe est Ajouter un individu
    Mon champ liste déroulante à actualiser dans le sous formulaire est n° individu.
    Je mets quoi extactement et à quel endroit : sur absence dans liste, sur la validation du forulaire externe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms!FormulairePrincipal.Form!SousFormulaire!NomChamp.Requery

    Merci merci

  6. #6
    Membre Expert

    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
    Par défaut
    Citation Envoyé par pascale86 Voir le message
    Bon je suis dans le brouillard complet .... Help me please

    Mon formulaire principal est F-deplacement
    Mon sous formulaire est F-OM-individu
    mon formulaire externe est Ajouter un individu
    Mon champ liste déroulante à actualiser dans le sous formulaire est n° individu.
    Je mets quoi extactement et à quel endroit : sur absence dans liste, sur la validation du forulaire externe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms!FormulairePrincipal.Form!SousFormulaire!NomChamp.Requery

    Merci merci
    Tu fais du remplacer ! Faut quand même t'y mettre un peu non !

  7. #7
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 134
    Billets dans le blog
    5
    Par défaut
    Humm, disons que dans l'absolu, tu n'as pas besoin d'un formulaire externe pour ajouter la valeur mais simplement d'une fonction générique qui se déclenche sur l'événement et que tu appelles pour chaque combo de ton formulaire...

    Par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Function NotInList(MyCombo As ComboBox, NewData As String, Response As Integer, Optional ByVal AddIfMissed As Boolean = True) As Integer
        If Response = acDataErrDisplay Or IsNull(MyCombo.ControlSource) Or IsNull(NewData) Then
          If AddIfMissed Then
            If MsgBox("Cette valeur n'existe pas !" & vbCrLf & "Voulez-vous l'ajouter ?", vbQuestion + vbYesNo, "Valeur manquante") = vbYes Then
                Response = acDataErrAdded
                MyCombo = NewData
                Me.Requery
            Else
                Response = acDataErrContinue
                MyCombo.Undo
            End If
          End If
        End If
        NotInList = Response
    End Function
    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0

  8. #8
    Membre éprouvé

    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    120
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : Luxembourg

    Informations forums :
    Inscription : Septembre 2007
    Messages : 120
    Par défaut Màj liste déroulante
    Afin d'actualiser la liste déroulante, aller dans les propriétés du formulaire contenant la liste déroulante :

    Evénement sur activation : DoCmd.Requery = "ModifiableX"

    (X étant le numéro de la liste déroulante)

    Ciao.

  9. #9
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 134
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par Lorenzole+bo Voir le message
    Afin d'actualiser la liste déroulante, aller dans les propriétés du formulaire contenant la liste déroulante :
    Evénement sur activation : DoCmd.Requery = "ModifiableX"
    (X étant le numéro de la liste déroulante)
    Ciao.
    Il est recommandé, lors de suggestions, de ne pas préconiser une solution avec une erreur de syntaxe...
    La méthode Requery associé à l'objet DoCmd est restée d'actualité pour une compatibilité avec Access 95 mais n'est pas la meilleure à utiliser.
    Sa syntaxe est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.Requery [nom du contrôle]
    Et non pas comme tu le cites Lorenzole+bo
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.Requery = "ModifiableX"
    Il est préférable, si on veut actualiser un contrôle qui ne se trouve pas dans le formulaire actif, d'utiliser plutôt la méthode Requery du contrôle lui-même.

    Quand bien même Lorenzole+bo, la méthode Requery telle qu'il faut l'utiliser a déjà été suggérée...
    Merci de ton intervention.

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0

  10. #10
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 189
    Par défaut
    Citation Envoyé par argyronet Voir le message
    Il est recommandé, lors de suggestions, de ne pas préconiser une solution avec une erreur de syntaxe...
    Argy
    C'est toujours un plaisir de te lire, et 100% d'accord avec ARGY.

Discussions similaires

  1. actualiser une liste deroulante sans actualiser la page
    Par mohcultiv dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 12/02/2008, 11h24
  2. cmt selectionner tout les champ d'une liste deroulante
    Par mangamat dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 15/03/2005, 10h08
  3. Parcourir une liste deroulante
    Par brandon dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 17/02/2005, 19h03
  4. plusieurs value dans une liste deroulante
    Par lepierre dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 16/11/2004, 14h53
  5. Actualisation d'une liste "dépendante".
    Par Trilby dans le forum ASP
    Réponses: 6
    Dernier message: 19/11/2003, 18h39

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