Précédent   Forum du club des développeurs et IT Pro > Logiciels > Microsoft Office > Access > IHM
IHM Ce forum est dédié aux questions relatives à la création de formulaires et d'états, avec ou sans code VBA, et macros.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 23/12/2012, 22h18   #1
Elno11
Invité de passage
 
Homme
Inscription : décembre 2012
Messages : 3
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : décembre 2012
Messages : 3
Points : 1
Points : 1
Par défaut Actualiser liste déroulante liée dans sous-formulaire

Bonjour à tous,

Cela fait deux jours que je tourne en rond concernant l'actualisation d'une liste déroulante liée à une autre liste déroulante dans un sous formulaire.

Je me sers de ce sous formulaire pour saisir différentes informations. Afin de faciliter la saisie, j'ai donc créé une liste déroulante appelée cmb_origine dans un sous-formulaire et une autre liste déroulante liée à la première appelée cmb_type.

Mon problème est le suivant, lorsque je passe à un autre enregistrement la requête de sélection de ma deuxième liste continue à m'indiquer les choix
du premier enregistrement. Seul moyen pour moi est de cliquer à chaque fois sur actualiser.

J'ai bien tenté d'effectuer un Me.refresh dans mon code VBA après MAJ de cmb_origine mais sans success.
J'ai aussi essayé de faire :

Code :
1
2
3
Private Sub Form_Current()
  Me.cmb_type.Requery
End Sub
Afin de recalculer ma requête de sélection sur cmb_type mais rien ne marche. Je ne sais pas si le fait d'être dans un sous formulaire n'a pas des conséquences.

Je m'en remets donc à vous.
Merci de votre aide
Voici mon fichier
Fichiers attachés
Type de fichier : rar formulaire.rar (101,0 Ko, 4 affichages)
Elno11 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2012, 00h35   #2
PatSan
Nouveau Membre du Club
 
Homme
Développeur Web
Inscription : avril 2011
Messages : 69
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : Développeur Web
Secteur : Arts - Culture

Informations forums :
Inscription : avril 2011
Messages : 69
Points : 30
Points : 30
Voici une solution pas très élégante mais qui fonctionne très bien.
Le code dans la subform "DONNEES_Sous_form" doit être :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Option Compare Database
 
Private Sub DefType()
    Me.cmb_type.RowSource = "SELECT SOURCES.Type_Source, SOURCES.Origine_Source, SOURCES.Id_sources FROM SOURCES WHERE (((SOURCES.Origine_Source)=""" + Trim(Nz(Me.cmb_origine.Value, "")) + """))"
    Me.cmb_type.Requery
End Sub
 
Private Sub cmb_origine_AfterUpdate()
    Call DefType
    Me.cmb_type = ""
End Sub
 
Private Sub Form_Current()
    Call DefType
End Sub
PatSan est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 24/12/2012, 11h04   #3
Elno11
Invité de passage
 
Homme
Inscription : décembre 2012
Messages : 3
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : décembre 2012
Messages : 3
Points : 1
Points : 1
Merci de ton aide PatSan.

J'ai collé le code que tu m'as transmis dans le Form DONNEES_Sous_form et j'ai enregistré. Puis j'ai enregistré le formulaire et je l'ai réouvert. Mais j'ai toujours la même chose.

Ma deuxième liste garde les choix du premier enregistrement en mémoire. J'ai fait des impressions d'écran. Normalement ce que je souhaiterai faire apparaître est la liste de choix après actualisation pour le fournisseur 3.

Est ce que j'ai oublié quelque chose?
Images attachées
Type de fichier : png Code_VBA.png (123,7 Ko, 5 affichages)
Type de fichier : png Formulaire_choix1.png (210,5 Ko, 3 affichages)
Type de fichier : png Formulaire_choix2.png (212,7 Ko, 3 affichages)
Type de fichier : png Formulaire_choix2_apres_actualisation.png (210,4 Ko, 5 affichages)
Elno11 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2012, 13h25   #4
PatSan
Nouveau Membre du Club
 
Homme
Développeur Web
Inscription : avril 2011
Messages : 69
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : Développeur Web
Secteur : Arts - Culture

Informations forums :
Inscription : avril 2011
Messages : 69
Points : 30
Points : 30
Je t'envoie ton fichier avec les modifs en pièce jointe. Chez moi, il fonctionne...
Donne-moi des nouvelles...
Fichiers attachés
Type de fichier : rar formulaire.rar (95,1 Ko, 10 affichages)
PatSan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2012, 14h00   #5
Elno11
Invité de passage
 
Homme
Inscription : décembre 2012
Messages : 3
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : décembre 2012
Messages : 3
Points : 1
Points : 1
Merci PatSan

Ça fonctionne!!!!!, c'est moi qui avait oublié de remettre certaines modifications dans mes paramètres.

Merci de m'avoir éclairé. Je vais pouvoir avancer
Elno11 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2012, 14h42   #6
PatSan
Nouveau Membre du Club
 
Homme
Développeur Web
Inscription : avril 2011
Messages : 69
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : Développeur Web
Secteur : Arts - Culture

Informations forums :
Inscription : avril 2011
Messages : 69
Points : 30
Points : 30
Content d'avoir pu t'aider...
Bonne continuation
PatSan est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 12h59.


 
 
 
 
Partenaires

Hébergement Web