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 26/04/2011, 11h58   #1
Invité de passage
 
Inscription : mai 2005
Messages : 30
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 30
Points : 4
Points : 4
Par défaut Filtrer un formulaire par le biais d'un autre formulaire

Bonjour,

Je suis sous Access 2003 et j'utilise VBA pour filtrer un formulaire.

Ce formulaire F_pilotage est liée à une requête (source du formulaire).

Aujourd'hui, j'applique directement mon filtre par le formulaire.
C'est à dire que j'ai mes listes déroulantes et mon bouton "Activer filtre" qui permettent d'appliquer le filtre, et le bouton "Désactiver filtre" qui efface le contenu des listes déroulantes et réinitialise le filtre.
J’ai réussi à cumuler plusieurs paramètres de filtres


Ce que je veux faire :
Je commence à avoir de plus en plus de paramètres à filtrer.
Le problème, c’est que dans l’aspect visuel de mon formulaire, la section relative aux filtres commence à prendre beaucoup de place.
J’ai donc créé un autre formulaire F_tri où j’ai collé le code du filtre.

Mon problème est que mon filtre fait appel aux champs de mon premier formulaire et je n’arrive pas à faire la liaison…
Je vois un souci dans mon code au niveau du ME, mais ne sais pas comment le régler.

Voici mon code :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
Private Sub cmd_filtre_on_Click()
 
'FILTRE FACTURABLE
If Not IsNull(Me.select_facturable.Value) And Me.select_facturable.Value <> "" Then
If filtre <> "" Then
filtre = filtre & " AND inf_facturable = """ & Me.select_facturable.Value & """"
Else
filtre = "inf_facturable = """ & Me.select_facturable.Value & """"
End If
End If
 
'FILTRE A FACTURER
If Not IsNull(Me.select_a_facturer.Value) And Me.select_a_facturer.Value <> "" Then
If filtre <> "" Then
filtre = filtre & " AND inf_a_facturer = """ & Me.select_a_facturer.Value & """"
Else
filtre = "inf_a_facturer = """ & Me.select_a_facturer.Value & """"
End If
End If
 
'FILTRE FACTURÉ
If Not IsNull(Me.select_facture.Value) And Me.select_facture.Value <> "" Then
    If Me.select_facture.Value = "Oui" Then
    If filtre <> "" Then
    filtre = filtre & " AND inf_facture <> 0"
    Else
    filtre = "inf_facture <> 0"
    End If
    End If
 
    If Me.select_facture.Value = "Non" Then
    If filtre <> "" Then
    filtre = filtre & " AND inf_facture is null"
    Else
    filtre = "inf_facture is null"
    End If
    End If
End If
 
Me.Filter = filtre
Me.FilterOn = True
Me.OrderBy = "PR"
Me.OrderByOn = True
 
End Sub
D’avance merci pour vos contributions.
jokair est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2011, 16h25   #2
Membre Expert
 
Homme Jacques Petiot
Indépendant développeur et formateur
Inscription : octobre 2007
Messages : 891
Détails du profil
Informations personnelles :
Nom : Homme Jacques Petiot
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Indépendant développeur et formateur
Secteur : Conseil

Informations forums :
Inscription : octobre 2007
Messages : 891
Points : 1 333
Points : 1 333
Hello
essaye de remplacer Me par forms!F_pilotage!
__________________
-------------------Simplifi----------comme si tout était simple--------
Simplifi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2011, 09h32   #3
Invité de passage
 
Inscription : mai 2005
Messages : 30
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 30
Points : 4
Points : 4
Bonjour,

Super, en fait il suffisait de rajouter Form_F_pilotage à la place de Me.

Merci et @ bientôt
jokair 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 07h02.


 
 
 
 
Partenaires

Hébergement Web