Précédent   Forum des professionnels en informatique > 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 Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/08/2011, 16h58   #1
Invité régulier
 
Homme Yann Kocken
Inscription : décembre 2009
Messages : 13
Détails du profil
Informations personnelles :
Nom : Homme Yann Kocken
Localisation : France

Informations forums :
Inscription : décembre 2009
Messages : 13
Points : 5
Points : 5
Par défaut Plusieurs onglet, 1 formulaire

Bonjour,
J'essaie de créer un formulaire avec plusieurs onglets. Pour chaque onglet, correspond un formulaire différent. J'ai donc associé chaque formulaire aux onglets correspondants, cela fonctionne très bien.
J'ai du créer énormément de formulaire structurellement identiques, la différence entre les formulaire est le filtre appliqué. Le problème est que lorsque je veux modifier la trame du formulaire type, je suis obligé de modifier tous les autres, ce qui est très long car la base que j'ai créé est partagée sur le réseau.

Je souhaiterais optimiser ce système: Je voudrais avoir un seul sous-formulaire type qui sert à tous les onglets et lorsque je sélectionne l'onglet, celui-ci applique un filtre sur ce formulaire. J'ai essayé beaucoup de méthode, via les boutons de navigation, les sous-formulaires, vartemp... mais sans succès.
Pourriez-vous me donner une solution à ce problème?
Merci d'avance
A bientôt, Yann
yann3131 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2011, 18h01   #2
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 470
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 470
Points : 7 552
Points : 7 552
Que n'es-tu pas arrivé à faire :

Appliquer un filtre à un sous-formulaire ?

Détecter le changement d'onglet ?

A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2011, 18h02   #3
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 470
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 470
Points : 7 552
Points : 7 552
Et pourrais-tu indquer quelle version d'Access tu utilises ?

A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 12h09   #4
Invité régulier
 
Homme Yann Kocken
Inscription : décembre 2009
Messages : 13
Détails du profil
Informations personnelles :
Nom : Homme Yann Kocken
Localisation : France

Informations forums :
Inscription : décembre 2009
Messages : 13
Points : 5
Points : 5
Par défaut Précisions

Bonjour,

De retour de quelques jours de vacances, je me re-penche sur le sujet que je n'ai toujours pas réussit à résoudre.
J'utilise Access 2010.

Questions posées:
- Appliquer un filtre à un sous-formulaire ?
- Détecter le changement d'onglet ?

Je souhaite utiliser un sous-formulaire commun pour tous mes onglets. Je veux appliquer un filtre à ce sous-formulaire lorsque je clique sur les différents onglets. J'aurais pu utiliser des formulaires double affichage comme je l'ai fait dans d'autres programmes mais ici, je veux garder l'utilisation d'onglet car j'en ai besoin pour le reste du programme.
Au final, je veux juste que les onglets appliquent des filtres sur le sous-formulaire commun.

Merci d'avance pour votre aide.
Slts,
Yann
yann3131 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 13h24   #5
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 470
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 470
Points : 7 552
Points : 7 552
Ok finalement il faut répondre aux 2 questions.

- Appliquer un filtre à un sous-formulaire ?

J'essairai :
Code :
1
2
3
me.NomTonSousForm.Form.Filter="Ici ton filtre"
me.NomTonSousForm.Form.FilterOn=true
me.NomTonSousForm.Form.refresh 'Je pense que c'est optionnel
- Détecter le changement d'onglet ?

Il y a un événement Sur changement au niveau du contrôle 'Onglet'. Attention pas sur un onglet particulier mais sur le groupe d'onglets.
La propriété value te donne l'onglet qui est actuellement actif.
Je ferai un code qui resemble à cela dans l'événement OnChange

Code :
1
2
3
4
5
6
7
8
select case me.MonControleOnglet.value
    case 0
        call AppliquerFiltreSousForm("Ici Ton filtre pour page 0")
    case 1
        call AppliquerFiltreSousForm("Ici Ton filtre pour page 1")
    case else
        error 5 'Cas impossible, seulement pour détecter si j'ai oublié un case
end select
pour rendre ton code plus lisible tu pourrais remplacer 0, 1 etc. par des constantes figuratives du type

Code :
cont PAGE_ACHAT_ACTION as long = 1 'Page qui affiche les achats d'actions.
ton case devient alors

case=PAGE_ACHAT_ACTION ce qui est plus facile à comprendre que case=0

A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/08/2011, 10h21   #6
Invité régulier
 
Homme Yann Kocken
Inscription : décembre 2009
Messages : 13
Détails du profil
Informations personnelles :
Nom : Homme Yann Kocken
Localisation : France

Informations forums :
Inscription : décembre 2009
Messages : 13
Points : 5
Points : 5
Bonjour,
Je me suis servit de votre idée et j'ai trouvé la solution.
Merci

Yann
yann3131 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



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


 
 
 
 
Partenaires

Hébergement Web