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

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    janvier 2011
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2011
    Messages : 127
    Points : 52
    Points
    52

    Par défaut Liste déroulante ne se met pas à jour dans un formulaire

    Bonjour

    alors encore un problème de mise a jour de liste déroulante

    j'ai fais un formulaire a partir d'une table "0_T_Prncipale_Ajouts" (04_AJOUTS_CARACTÉRISTIQUES)qui me permet de faire des enregistrements cette table est liée avec toutes les autres table de liste déroulante et lorsque que je rajoute une donnée dans le formulaire "02_AJOUT_LISTE_DEROULANTES" ou supprime une donnée a partir du formulaire "03_SUPPRIME_LISTE_DEROULANTES" le formulaire "04_AJOUTS_CARACTÉRISTIQUES" ne ce met pas à jour
    j'ai essayé avec les codes que j'avais déjà pour les formulaire d'ajouts et supprimer des données mais ça ne fonctionne pas

    merci d'avance pour vos réponses
    je joins mon fichier

    Cordialement
    Fichiers attachés Fichiers attachés

  2. #2
    Rédacteur/Modérateur
    Avatar de GAYOT
    Homme Profil pro
    Amateur
    Inscrit en
    novembre 2004
    Messages
    2 492
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Meuse (Lorraine)

    Informations professionnelles :
    Activité : Amateur
    Secteur : Distribution

    Informations forums :
    Inscription : novembre 2004
    Messages : 2 492
    Points : 5 971
    Points
    5 971

    Par défaut

    Bonjour

    Le soucis vient du rafraichissement du formulaire 04. D'ailleurs s'il est fermé et réouvert les mises à jours se font bien.
    Il faut donc à la fermeture du formulaire 02(par exemple), vérifier que le formulaire 04 n'est pas ouvert et s'il l'est le mettre à jour.

    Ce qui donne sur l'évènement on clic du bouton de fermeture:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub btn_fermer_Click()
    'On vérifie que le formulaire 04 est ouvert et si oui on l'actualise
    If CurrentProject.AllForms("04_AJOUTS_CARACTÉRISTIQUES").IsLoaded Then
        Form_04_AJOUTS_CARACTÉRISTIQUES.Requery
    End If
    ' On ferme le formulaire 02
    DoCmd.Close acForm, "02_AJOUT_LISTE_DEROULANTES", acSaveYes
    End Sub
    Même chose à appliquer sur le formulaire 03.

    C'est une façon de faire, il y en a surement d'autres.
    Plus j'avance et plus je sais que je ne sais rien. Et comme j'essaie d'aller loin .....
    Pas de demande d'aide par Mp.... sinon
    Mes tutoriels sur http://jdgayot.developpez.com
    Beaucoup de réponses à vos questions dans la Faq ou dans les tutoriels


  3. #3
    Membre émérite Avatar de hyperion13
    Homme Profil pro
    Calot120 - Enseignant Post Bac
    Inscrit en
    octobre 2007
    Messages
    1 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Calot120 - Enseignant Post Bac
    Secteur : Enseignement

    Informations forums :
    Inscription : octobre 2007
    Messages : 1 652
    Points : 2 543
    Points
    2 543

    Par défaut

    D'ailleurs comme posé dans un autre forum, pourquoi garder les formulaires ouverts ? Ils sont déjà plein écran à l'ouverture, un btn permet de les refermer et de retomber sur le form principal !
    N'y a t-il pas un problème de modélisation ?
    Bref ...
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    GMT+4 - 21°19'18" S - 055°25'32" E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse est pertinente. N'oubliez pas svp de clôturer le sujet en cliquant sur

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    janvier 2011
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2011
    Messages : 127
    Points : 52
    Points
    52

    Par défaut

    bonjour

    merci pour vos réponses mais si je laisse les deux formulaires ajouts et supprimer ouvert les listes se mettes à jours sans problème d'où ma question pourquoi pas sur le formulaire 04
    le formulaire 04 s'ouvre en plein écran à l'ouverture car c'est juste pour un essaie ensuite je le mettrai en mode fenêtre

    Cordialement

  5. #5
    Rédacteur/Modérateur
    Avatar de GAYOT
    Homme Profil pro
    Amateur
    Inscrit en
    novembre 2004
    Messages
    2 492
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Meuse (Lorraine)

    Informations professionnelles :
    Activité : Amateur
    Secteur : Distribution

    Informations forums :
    Inscription : novembre 2004
    Messages : 2 492
    Points : 5 971
    Points
    5 971

    Par défaut

    Les sous-formulaires sont liés aux tables correspondantes donc quand on saisit une donnée dans le formulaire F_33 par exemple, quand on fait "entrée" la donnée est ajoutée dans la table T_33 (Heureusement).

    Par contre le formulaire F_04 est une représentation globale et doit être réactualisé soit à l'ouverture (au moment où il va chercher les données) soit par un autre évènement provoqué.
    On pourrait très bien mettre un bouton d'actualisation sur le formulaire.
    Plus j'avance et plus je sais que je ne sais rien. Et comme j'essaie d'aller loin .....
    Pas de demande d'aide par Mp.... sinon
    Mes tutoriels sur http://jdgayot.developpez.com
    Beaucoup de réponses à vos questions dans la Faq ou dans les tutoriels


  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    janvier 2011
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2011
    Messages : 127
    Points : 52
    Points
    52

    Par défaut

    Bonjour

    merci pour ta réponse effectivement je ne l'avais pas vu sous ce sens je vais prendre ton idée

    Cordialement

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    janvier 2011
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2011
    Messages : 127
    Points : 52
    Points
    52

    Par défaut

    Bonjour

    dans la liste déroulante du formulaire 04 à sur souris appuyée j'ai mis ce code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub T_0_Civilité_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Me.Controls("T_0_Civilité").Requery 'T_0_Civilité = liste dérouilante
    End Sub
    la liste déroulante ce met maintenant à jour que j'ajoute ou supprime des données donc je pensais avoir réglé le problème mais je n'arrive plus a choisir une donnée dans la liste

    il y a t'il un moyen pour pouvoir choisir une donnée si oui le problème est résolu

    merci d'avance pour vos réponses

    cordialement

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    janvier 2011
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2011
    Messages : 127
    Points : 52
    Points
    52

    Par défaut

    Bonjour
    alors finalement résolu toutes les listes déroulantes ce mettent à jour dans tout les formulaires

    dans le formulaire 04_ajouts_caractériques > sur activation j'ai mis le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Form_Current()
    Me.Controls("T_0_Civilité").Requery ' T_0_Civilité = liste déroulante
    End Sub
    dans le formulaire 02_ajout_listes_deroulantes > sur absence de liste j'ai mis le code ( ligne rouge ) que m'a donné GAYOT que je remercie au passage pour son aide

    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
    16
    17
    Private Sub LD_CIVILITE_NotInList(NewData As String, Response As Integer)
    Dim rst As DAO.Recordset
        Set rst = CurrentDb.OpenRecordset("T_0_Civilité") 'T_0_Civilité = table concernée par l'ajout
        rst.AddNew
        rst!Civilité = NewData 'Civilité = champ table concerné par l'ajout dans la liste déroulante
        rst.Update
        rst.Close
        Set rst = Nothing
    Response = acDataErrAdded
    If CurrentProject.AllForms("03_SUPPRIME_LISTE_DEROULANTES").IsLoaded Then
        Forms![03_SUPPRIME_LISTE_DEROULANTES]![FS_0_Civilité].Form.RecordSource = Forms![03_SUPPRIME_LISTE_DEROULANTES]![FS_0_Civilité].Form.RecordSource
    End If
    'On vérifie que le formulaire 04 est ouvert et si oui on l'actualise
    If CurrentProject.AllForms("04_AJOUTS_CARACTÉRISTIQUES").IsLoaded Then
        Form_04_AJOUTS_CARACTÉRISTIQUES.Requery
    End If
    End Sub
    et j'ai rajouter les memes lignes au formulaire 03_supprime_listes_deroulantes

    Cordialement

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

Discussions similaires

  1. [AC-2019] Liste déroulante ne se met pas à jour dans un sous formulaire
    Par target111 dans le forum IHM
    Réponses: 17
    Dernier message: 08/08/2019, 18h37
  2. Fichier CLS qui ne se met pas à jour dans les fichiers .tex
    Par beckhton dans le forum Distributions
    Réponses: 0
    Dernier message: 23/09/2018, 22h30
  3. [WD-2003] Liste déroulante alimentée par un fichier Excel dans un formulaire Word VBA
    Par Springbank35 dans le forum VBA Word
    Réponses: 6
    Dernier message: 08/12/2014, 14h52
  4. Réponses: 6
    Dernier message: 04/07/2009, 21h41
  5. Réponses: 2
    Dernier message: 05/10/2006, 08h24

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