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 :

Modification d'une table liée non répercutée sur une combobox [AC-2007]


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2014
    Messages : 7
    Points : 10
    Points
    10
    Par défaut Modification d'une table liée non répercutée sur une combobox
    Bonjour,

    J'ai une table liée dont les enregistrements sont constitués d'un ID et d'un label.
    Sur un formulaire, je place une "zone de liste déroulante" alimentée par la table liée.
    Jusque là tout fonctionne bien, la liste est renseignée avec tous les enregistrements triés par ordre alphabétique.

    Sur le même formulaire, j'ajoute un bouton qui ouvre un autre formulaire (mode modal) pour éditer la table liée.
    J'édite donc ma table liée et y ajoute un enregistrement.
    Je ferme le formulaire d'édition de la table liée.

    Et là ?!? Ma liste déroulante n'est pas mise à jour !
    Si je rouvre le formulaire d'édition de la table liée et le referme immédiatement c'est bon, la liste déroulante est à jour !!!!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub cmdSysElem_Click()
     
        ' Ouverture du formulaire contenant la table liée
        DoCmd.OpenForm "F_SysElem", acNormal, , , acFormEdit, acWindowNormal
        ' Mise à jour de liste déroulante
        Me.cboID_SysElem.Requery
     
    End Sub
    Mes questions :
    • Ai-je loupé quelque chose ?
    • Est-ce un problème de synchronisation d'Access ?
    • Existe-t-il un moyen de forcer la mise à jour de la liste déroulante autre qu'un Requery ?
    • Le fait que la table soit liée a-t-il une influence sur le rafraîchissement du contrôle associé ?


    J'ai essayé plusieurs choses, comme la réaffectation de la propriété RowSource, l'utilisation du Refresh, du DoEvents, ...
    Je suis sec là, et mes recherches sur le forum n'ont rien données...

    Merci pour vos conseils,
    Frantisch

  2. #2
    Chroniqueur Actualités
    Avatar de Michael Guilloux
    Homme Profil pro
    Data Consultant
    Inscrit en
    Juillet 2013
    Messages
    2 911
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Data Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2013
    Messages : 2 911
    Points : 87 655
    Points
    87 655
    Billets dans le blog
    2
    Par défaut
    Salut,
    Je crois qu'il y a un problème avec l'évènement que tu as choisi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub cmdSysElem_Click()
    Cela traduit que tu veux effectuer la mise à jour de ta liste au moment où tu cliques sur le bouton qui ouvre le formulaire de la table liée, or, en ce moment là, aucune mise à jour n'a été apportée à la table liée, donc il n' y a pas de mise à jour à effectuer sur la liste déroulante. C'est donc à l'ouverture prochaine du formulaire de la table liée (quand tu cliqueras sur le bouton à nouveau pour l'ouvrir) que la mise à jour sera effectuée. Voilà pourquoi tu as pu remarquer que
    Si je rouvre le formulaire d'édition de la table liée et le referme immédiatement c'est bon, la liste déroulante est à jour !!!!!
    Tu devrais peut-être utiliser ton code dans une procédure FormulaireTableLiee_Close(), comme ça dès que tu ferme le formulaire de la table liée, la mise à jour de ta liste est effectuée, ça doit pouvoir marcher.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2014
    Messages : 7
    Points : 10
    Points
    10
    Par défaut
    MERCI BEAUCOUP !



    C'était ça !
    J'étais tellement sûr que d'afficher un formulaire en modal bloquait l'exécution de l'appelant, que je n'ai même pas pensé à remettre en cause cet aspect là !


    kkm90 !


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

Discussions similaires

  1. Réponses: 2
    Dernier message: 29/05/2015, 14h29
  2. Réponses: 4
    Dernier message: 30/10/2014, 11h19
  3. etat sur une table externe non liée
    Par Eruil dans le forum IHM
    Réponses: 0
    Dernier message: 10/06/2008, 10h21
  4. Réponses: 2
    Dernier message: 03/03/2007, 19h03
  5. cumul sur une table liée
    Par pierrot67 dans le forum Bases de données
    Réponses: 2
    Dernier message: 08/11/2006, 19h45

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