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 déroulante ne se met pas à jour dans un sous formulaire [AC-2019]


Sujet :

IHM

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 148
    Points : 57
    Points
    57
    Par défaut Liste déroulante ne se met pas à jour dans un sous formulaire
    Bonjour

    voila mon problème
    j'ai créé 2 formulaires
    1 pour des ajouts à une liste déroulante
    l'autre pour des suppressions dans la liste déroulante
    lors d'un ajout ou suppression à l’événement "sur réception focus" j'ai rajouté ce code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Modifiable3_GotFocus()
    Me.Modifiable3.Requery
    End Sub
    Modifiable3 étant le nom de la liste déroulante les 2 formulaires sont les mêmes il y a juste le bouton qui change un pour ajouter l'autre pour supprimer

    lorsque je fais des ajouts ou des suppressions et que je clique sur la liste déroulante elle se met a jour

    mais lorsque que je fais un formulaire et que je rajoute en sous formulaire (le formulaire )ajout par exemple lorsque que je fais des rajouts la liste déroulante ce met a jour
    et lorsque que j'ouvre le formulaire de suppression et que je supprime une donnée et que je retourne dans le sous formulaire ajout là ou il y avait la donnée au lieu de la mettre à jour il y a inscrit #supprimé
    j'ai essayé Me.Refresh aussi mais rien à faire

    Merci pour votre aide

    Cordialement

  2. #2
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 637
    Points : 14 611
    Points
    14 611
    Par défaut
    bonsoir,
    il faut recharger la source des données du sous-formulaire, tu peux le faire sur le formulaire de suppression, par exemple, sur l'évènement "Après suppression" (AfterDelConfirm) du formulaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms![NomFormulaire]![NomduSousFormulaire].Form.RecordSource = Forms![NomFormulaire]![NomSousFormulaire].Form.RecordSource
    NomFormulaire est le nom du formulaire contenant le sous-formulaire
    NomSousFormulaire est le nom du sous-formulaire

    Par contre, j'ai du mal à comprendre pourquoi passer par deux formulaires lorsqu'un seul peut tout faire ...
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 148
    Points : 57
    Points
    57
    Par défaut
    Bonjour

    merci pour votre réponse étant débutant meme que ça fait qu'une semaine que je découvre access je cherchais a faire simple et faire un formulaire qui ferait les deux dépasse ma compétence surtout s'il faut que je fasse des requêtes je vais essayer votre code encore merci pour votre aide

    Cordialement

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 148
    Points : 57
    Points
    57
    Par défaut
    Bonjour
    je viens d'essayer votre code et tout fonctionne

    encore merci pour votre aide précieuse

    cordialement

  5. #5
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 637
    Points : 14 611
    Points
    14 611
    Par défaut
    bonjour,
    je viens d'essayer votre code et tout fonctionne
    dans ce cas n'oublie pas le bouton
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 148
    Points : 57
    Points
    57
    Par défaut
    Bonjour

    Pas tout de suite résolu
    Car si le formulaire d’ajouts n’est pas ouvert j’ai un message d’erreur qui dis qu’il ne trouve pas le formulaire d’ajout donc j’essaye de trouver une solution a ce problème
    Cordialement

  7. #7
    Expert éminent
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 262
    Points : 6 561
    Points
    6 561
    Par défaut
    Salut,
    Et si vous donniez la totalité des codes que vous utilisez pour vos manips ?
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

  8. #8
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 637
    Points : 14 611
    Points
    14 611
    Par défaut
    bonjour,
    Car si le formulaire d’ajouts n’est pas ouvert j’ai un message d’erreur qui dis qu’il ne trouve pas le formulaire d’ajout donc j’essaye de trouver une solution a ce problème
    pas de problème en fait, il suffit simplement de tester si le formulaire est chargé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If CurrentProject.AllForms("NomFormulaire").IsLoaded Then
        Forms![NomFormulaire]![NomduSousFormulaire].Form.RecordSource = Forms![NomFormulaire]![NomSousFormulaire].Form.RecordSource
    End if
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 148
    Points : 57
    Points
    57
    Par défaut
    bonjour

    j'ai 2 formulaires 1 pour les ajouts l'autre pour les suppressions

    dans celui d'ajouts

    j'ai fait un formulaire a partir de la table x par exemple et j'ai rajouté une liste déroulante pour avoir la liste de ce qui a été rajouté et un bouton ajouter

    ce formulaire je l'aie mis comme sous formulaire dans un formulaire principale d'ajouts parce que j'ai plusieurs sous formulaires j'ajouts

    dans le champ de la liste déroulante du sous formulaire a sur reception focus
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub LD_Civilite_GotFocus()
    Me.LD_Civilite.Requery
    End Sub

    dans celui de suppressions

    j'ai fait un copier coller du formulaire d'ajouts et j'ai une liste déroulante pour avoir la liste de ce qui est a supprimer et un bouton supprimer
    ce formulaire je l'aie mis comme sous formulaire dans un formulaire principale de suppressions parce que j'ai plusieurs sous formulaires de suppressions

    dans le champ de la liste déroulante du sous formulaire a sur reception focus
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Private Sub FS_CIVILITE_GotFocus()
    Me.FS_CIVILITE.Requery
    Me.Refresh
    End Sub
    dans la feuille de priorités du sous formulaire a après supression
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub Form_AfterDelConfirm(Status As Integer)
    Forms![02_AJOUT_LISTE_DEROULANTES]![F_0_Civilité].Form.RecordSource = Forms![02_AJOUT_LISTE_DEROULANTES]![F_0_Civilité].Form.RecordSource
    End Sub
    si j'ajoute une donnée et que le formulaire de suppressions est ouvert la liste déroulante ne ce met pas a jour dans le sous formulaire

    j'espère que c'est comprehensible j'ai essayé d'expliquer du mieux que je pouvais

    Cordialement

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 148
    Points : 57
    Points
    57
    Par défaut
    Bonjour

    je n'avais pas vu ta réponse j'étais en train de répondre donc je vais essayer ton code dans les deux formulaires Je pense que ça devrait aller

    Cordialement

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 148
    Points : 57
    Points
    57
    Par défaut
    Bonjour

    le mieux c'est que j'envoie la base parce que je pense que je fais des erreurs

    les formulaires sont
    02_AJOUT_LISTE_DEROULANTES
    03_SUPPRIME_LISTE_DEROULANTES

    Merci d'avance pour votre aide

    Cordialement

    bijoux_test.rar

  12. #12
    Expert éminent
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 262
    Points : 6 561
    Points
    6 561
    Par défaut
    Salut
    Pas certain d'avoir tout compris mais !
    Si je comprends bien, via le form 02_AJOUT_LISTE_DEROULANTES vous voudriez ajouter des valeurs dans les différentes combobox présentes dans les différents sform
    Alors si c'est bien ça il faut utiliser l'évènement sur Absence de liste.
    Votre Bt_Ajouter et textbox Civilité deviennent obsolètes. Il suffit de saisir la nouvelle valeur dans la liste et appuyer sur Entrée
    A tester, sur la combobox LD_Civilité de F_0_Civilité
    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 LD_Civilite_NotInList(NewData As String, Response As Integer)
    Dim rst As DAO.Recordset
    If MsgBox("L'élément [" & _
        NewData & "] ne figure pas dans la liste. Voulez-vous l'ajouter ?", _
        vbQuestion + vbYesNo) = vbYes Then
        Set rst = CurrentDb.OpenRecordset("T_0_Civilité") 'T_0_Civilité = tbl concernée par l'ajout
        rst.AddNew
        rst!Civilité = NewData 'Civilité = champ concerné par l'ajout dans la liste déroulante
        rst.Update
        rst.Close
        Set rst = Nothing
    End If
    Response = acDataErrAdded
    End Sub
    Pour supprimer une valeur dans une combobox
    A tester dans FS_0_Civilité
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Bt_SUPPRIMER_5_Click()
    Dim rst As DAO.Recordset
    Set rst = CurrentDb.OpenRecordset("SELECT * FROM T_0_Civilité")
    rst.FindFirst "ID_Civilité = " & Me.[FS_CIVILITE]
    rst.Delete
    Me.[FS_CIVILITE].Requery
    End Sub
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 148
    Points : 57
    Points
    57
    Par défaut
    Bonjour

    merci pour votre réponse

    alors sur le formulaire d'ajouts la liste ce met a jour directement depuis la liste déroulante mais j'aurai aimé ne pas avoir le message de confirmation
    si je supprime une donnée depuis le formulaire de suppressions dans la liste déroulante du formulaire d'ajouts j'ai #supprimé et la liste ne ce met pas a jour

    sur le formulaire de suppressions si je rajoute une donnée dans le formulaire d'ajouts la liste déroulante ne ce met pas a jour sauf si je supprime un élément

    sans abusé de votre patience
    j'aurai voulu si je rajoute un élément depuis le formulaire d'ajouts que sa liste ce mette à jour en appuyant sur enter et que le champ ce vide avec le focus a l'intérieur pour une nouvelle saisie ainsi que la liste déroulante du formulaire de suppressions ce mette à jour dés que je clic sur la fleche de la liste déroulante

    et dés que je supprime un élément dans le formulaire de suppression que sa liste ce mette à jour ainsi que la liste déroulante du formulaire d'ajouts dés que je clic sur la fleche de la liste

    encore merci pour votre aide

    Cordialement

  14. #14
    Expert éminent
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 262
    Points : 6 561
    Points
    6 561
    Par défaut
    A tester
    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 LD_Civilite_NotInList(NewData As String, Response As Integer)
    Dim rst As DAO.Recordset
        Set rst = CurrentDb.OpenRecordset("T_0_Civilité") 'T_0_Civilité = tbl concernée par l'ajout
        rst.AddNew
        rst!Civilité = NewData 'Civilité = champ 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].Controls![FS_0_Civilité].Requery
    End If
    End Sub
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Bt_SUPPRIMER_5_Click()
    Dim rst As DAO.Recordset
    Set rst = CurrentDb.OpenRecordset("SELECT * FROM T_0_Civilité")
    rst.FindFirst "ID_Civilité = " & Me.[FS_CIVILITE]
    rst.Delete
    Me.[FS_CIVILITE].Requery
    If CurrentProject.AllForms("02_AJOUT_LISTE_DEROULANTES").IsLoaded Then
        Forms![02_AJOUT_LISTE_DEROULANTES].Controls![F_0_Civilité].Requery
    End If
    End Sub
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 148
    Points : 57
    Points
    57
    Par défaut
    Bonjour

    Merci pour votre réponse et surtout votre patience

    lorsque que je rajoute une donnée dans le formulaire d'ajouts et que je clique sur la liste déroulante du formulaire de suppressions la liste ne ce met pas a jour sauf si je supprime une donnée

    lorsque que je supprime une donnée dans le formulaire de suppressions et que je clique sur la liste déroulante du formulaire d'ajouts la liste ce met a jour mais j'ai toujours #supprimé a la place de la donnée supprimée elle ne ce réinitialise pas

    Cordialement

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 148
    Points : 57
    Points
    57
    Par défaut
    Bonjour

    sur le sous formulaire du formulaire de suppressions, feuille de propriétés formulaire évènement sur activation j'ai rajouter ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Form_Current()
    Me.Controls("FS_CIVILITE").Requery
    End Sub
    et la liste ce met à jour j'ai fais le meme principe au sous formulaire du formulaire d'ajout et tout fonctionne

    encore merci pour votre aide a tout les deux

    Cordialement

  17. #17
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 637
    Points : 14 611
    Points
    14 611
    Par défaut
    bonjour,
    tout fonctionne

    encore merci pour votre aide a tout les deux
    alors cette fois c'est sûr, c'est
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  18. #18
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 148
    Points : 57
    Points
    57
    Par défaut
    Bonjour

    oui c'est résolu encore merci

    Cordialement

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

Discussions similaires

  1. 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
  2. Réponses: 9
    Dernier message: 02/03/2015, 15h10
  3. ListView dans une boite de dialogue qui ne se met pas à jour
    Par nicofromChina dans le forum Composants graphiques
    Réponses: 5
    Dernier message: 26/03/2012, 11h16
  4. Binding sur "Items" dans le GroupStyle qui ne se met pas à jour si plusieurs items
    Par strat0 dans le forum Windows Presentation Foundation
    Réponses: 2
    Dernier message: 11/05/2009, 10h47
  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