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 27/07/2011, 13h57   #1
Invité régulier
 
Inscription : mai 2011
Messages : 29
Détails du profil
Informations forums :
Inscription : mai 2011
Messages : 29
Points : 5
Points : 5
Par défaut Filtrer avec case à cocher

Bonjour,

J'ai un formulaire qui regroupe tous les enregistrements de ma base. Dans ce formulaire j'ai 4 cases à cocher (on les nomme cocher1...cocher4), qui sont automatiquement cochées à l'ouverture du formulaire et qui filtre des valeurs(val1...val4).
Lorsqu'on décoche un case, sa filtre les enregistrements en retirant ceux qui correspondent à la valeur de la case décochée (jusqu'ici pas de problème).

Mon problème survient lorsque je décoche une deuxième case. J'aimerais que sa cumule les deux filtres. Or dans mon cas sa enlève bien les valeurs du 2eme filtre mais sa rajoute celle du 1er.

J'aimerais savoir comment on fait pour cumuler plusieurs filtres sur les 4 cases à cocher?

J'espère avoir été clair.
Merci de votre aide.
dragoes64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 10h45   #2
Candidat au titre de Membre du Club
 
L3 MIAGE
Inscription : octobre 2009
Messages : 64
Détails du profil
Informations personnelles :
Localisation : France, Bas Rhin (Alsace)

Informations professionnelles :
Activité : L3 MIAGE

Informations forums :
Inscription : octobre 2009
Messages : 64
Points : 12
Points : 12
Je ne sais pas si ça peut t'aider.
Mais la recherche multi-critères m'a permis de réaliser des filtres en fonction de plusieurs cases cochées.

http://cafeine.developpez.com/access...echerchemulti/
fonfek24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 11h15   #3
Invité régulier
 
Inscription : mai 2011
Messages : 29
Détails du profil
Informations forums :
Inscription : mai 2011
Messages : 29
Points : 5
Points : 5
Ton lien fonfek24 se rapproche de ce que je souhaite faire mais ce n'est pas exactement mon attente.
En fait au lieu d'afficher ou de masqué les zones de listes déroulantes à l'aide des case à cocher, je souhaiterais directement filtré la liste des résultats. Si je décoche une case, sa enlève des valeurs, si j'en décoche une autre sa enlève d' autres valeurs (et sa ne remet pas les valeurs de la première case).

Moi, j'arrive à faire les filtres un par un mais je sais pas comment faire pour cumulé plusieurs filtres (4 au maximum).

Merci
dragoes64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 11h53   #4
Candidat au titre de Membre du Club
 
L3 MIAGE
Inscription : octobre 2009
Messages : 64
Détails du profil
Informations personnelles :
Localisation : France, Bas Rhin (Alsace)

Informations professionnelles :
Activité : L3 MIAGE

Informations forums :
Inscription : octobre 2009
Messages : 64
Points : 12
Points : 12
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
Private Sub RefreshQuery()
 Dim SQL As String
 Dim SQLWhere As String
 
 SQL = "SELECT CodMedia, Titre, Auteur, Famille, Type FROM Medias Where Medias!CodMedia <> 0 "
 If Me.chkAuteur Then
    SQL = SQL & "And Medias!Auteur like '*" & Me.txtRechAuteur & "*' "
 End If
 If Me.chkFamille Then
    SQL = SQL & "And Medias!Famille = '" & Me.cmbRechFamille & "' "
 End If
 If Me.chkResume Then
    SQL = SQL & "And Medias!Résumé like '*" & Me.txtRechResume & "*' "
 End If
 If Me.chkTitre Then
    SQL = SQL & "And Medias!Titre like '*" & Me.txtRechTitre & "*' "
 End If
 If Me.chkType Then
    SQL = SQL & "And Medias!Type = '" & Me.cmbRechType & "' "
 End If
 
 SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where ") - Len("Where ") + 1))
 SQL = SQL & ";"
 
 Me.lblStats.Caption = DCount("*", "Medias", SQLWhere) & " / " & DCount("*", "Medias")
 Me.lstResults.RowSource = SQL
 Me.lstResults.Requery
 
End Sub
Si tu regardes de plus près le code proposé dans le tutoriel, tu noteras qu'il s'agit d'une concaténation successives des critères (des filtres si tu préfères) s'ils sont cochés ou non. Normalement tu dois pouvoir combiner tes filtres.

Dans mon application j'ai utilisé à de nombreuses reprises cette technique pour avoir la possibilité d'allier pleins de critères différents.
fonfek24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 12h15   #5
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 086
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 086
Points : 11 622
Points : 11 622
Bonjour,

Comme te le dit Fonfek24 tu peux utiliser cette technique pour créer tes filtres.

Ce qu'il faut savoir c'est qu'il s'agisse de filtre ou de condition Where, dans les requetes ou les expressions, la syntaxe est toujours la même. On peut donc dire que celui qui maitrise SQL, maitrise 99% des appels à la base de données.

Si l'on observe ce qu'ACCESS fait en interne (cf mon tuto sur l'optimisation) on voit clairement que dans tous les cas ce sont des requetes qui sont lancées au moteur de base de données.

Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 12h56   #6
Invité régulier
 
Inscription : mai 2011
Messages : 29
Détails du profil
Informations forums :
Inscription : mai 2011
Messages : 29
Points : 5
Points : 5
En fait je ne vois pas trop comment adapter le code dans mon cas.
J'ai 4 case à cocher ( SSS,PSS,HIPS,PACKAGE) qui font référence à une colonne SYSTEME de la table SSS.

A partir de la, dans mon formulaire, si je décoche une des cases, sa m'enlève tous les enregistrements ou la valeur de la colonne SYSTEME est égale à celle de la case à cocher.

Merci
dragoes64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 13h10   #7
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 086
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 086
Points : 11 622
Points : 11 622
Comme ceci par exemple.

Code :
1
2
3
4
5
6
7
8
"... WHERE ID<>0 " 
 If Me.SSS Then
    SQL = SQL & " OR SYSTEME='SSS' "
 End If
 If Me.PSS Then
    SQL = SQL &  " OR SYSTEME='PSS' "
 End If
...
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 13h34   #8
Invité régulier
 
Inscription : mai 2011
Messages : 29
Détails du profil
Informations forums :
Inscription : mai 2011
Messages : 29
Points : 5
Points : 5
Ok, mais à la place de :

Code :
1
2
3
4
5
6
SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where ") - Len("Where ") + 1))
 SQL = SQL & ";"
 
 Me.lblStats.Caption = DCount("*", "Medias", SQLWhere) & " / " & DCount("*", "Medias")
 Me.lstResults.RowSource = SQL
 Me.lstResults.Requery
je mets quoi vu que j'ai pas une liste de résultats mais tous les enregistrements les uns sous les autres(j'ai fait un formulaire continu).

Merci
dragoes64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 14h22   #9
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 086
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 086
Points : 11 622
Points : 11 622
Quand tu fais F1 sur une propriété non seulement il t'explique ce que ça fait mais également comment tu peux le controler via VBA.

à partir de là facile de faire F1 sur la propriété qui contient la source de ton formulaire (ou sous-formulaire c'est pareil).
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/08/2011, 10h15   #10
Invité régulier
 
Inscription : mai 2011
Messages : 29
Détails du profil
Informations forums :
Inscription : mai 2011
Messages : 29
Points : 5
Points : 5
Bonjour,

Je n' est toujours pas trouvé de solution à ce problème. J'ai essayé d'adapté les codes que vous m'avez fourni mais il ne se passe rien.

Si quelqu'un peut m'aider à rédiger le bon code je lui serais très reconnaissant.

Merci,
dragoes64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/08/2011, 23h08   #11
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 086
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 086
Points : 11 622
Points : 11 622
Bonjour,

à la place d'affecter ta source à la propriété rowsource de la liste tu l'affecte à celle du formulaire. Comme ceci :

Le requery est inutile lorsqu'on affecte une source.

Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/08/2011, 09h57   #12
Invité régulier
 
Inscription : mai 2011
Messages : 29
Détails du profil
Informations forums :
Inscription : mai 2011
Messages : 29
Points : 5
Points : 5
J'ai essayé ce code mais rien ne se passe :

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
Private Sub FilterEnrg()
Dim SQL As String
 
SQL = " SELECT SYSTEM,SIMPLE,TYPE,WORKPERMIT,COMMENTS,REQUESTER,POSTE,TAGNAME,UNIT,FUNCTION,EQUIPMENT,LEVEL,STATUS FROM SSS WHERE ID <>0"
 
If Me.CocherSSS Then
SQL = SQL & "OR SYSTEM = 'SSS'"
End If
 
If Me.CocherPSS Then
SQL = SQL & "OR SYSTEM = 'PSS'"
End If
 
If Me.CocherHIPS Then
SQL = SQL & "OR SYSTEM = 'HIPS'"
End If
 
If Me.CocherPACK Then
SQL = SQL & "OR SYSTEM = 'PACKAGE'"
End If
 
Me.RecordSource = SQL
 
End Sub
dragoes64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/08/2011, 18h57   #13
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 086
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 086
Points : 11 622
Points : 11 622
Bonjour,

Est-ce que ta requete rammene quelque chose ?

C'est la première question à se poser. Pour cela il existe un très bon tuto sur le déboggage des requetes dans VBA.

De plus dans ta requête il manque des espaces.

Voici ce que ça donne si tu choisis tout :

Code :
SELECT SYSTEM,SIMPLE,TYPE,WORKPERMIT,COMMENTS,REQUESTER,POSTE,TAGNAME,UNIT,FUNCTION,EQUIPMENT,LEVEL,STATUS FROM SSS WHERE ID <>0OR SYSTEM = 'SSS'OR SYSTEM = 'PSS'OR SYSTEM = 'HIPS'OR SYSTEM = 'PACKAGE'
Est-ce que cette requete est valide ? Est-ce qu'elle va rammener quelques choses ?
Connais-tu les mots réservés d'ACCESS ? C'est dans le F1 recherche "Mots réservés" et essai de ne pas le utiliser... ça evite les problèmes à terme.

Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2011, 13h39   #14
Membre éclairé
 
Avatar de dok flint
 
Inscription : septembre 2003
Messages : 292
Détails du profil
Informations personnelles :
Âge : 43

Informations forums :
Inscription : septembre 2003
Messages : 292
Points : 378
Points : 378
Bonjour ,
Si ce code qui me parais parfait pour ton cas ne marche pas, tu peux essayer de voir autrement le problème :
Si les critères de sélections (des cases à cocher) sont stockés sur la table des données, tu pourras passer par une requête simple qui aura pour critères les valeurs de la case à cocher.
Tu n'auras qu'a basé ton formulaire sur la requête et après chaque action sur les cases à cocher tu actualises le formulaire.
A+
__________________
Pourquoi faire compliqué quand on peut faire simple
Je suis encore en ACCESS 2003
dok flint est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/08/2011, 09h19   #15
Invité régulier
 
Inscription : mai 2011
Messages : 29
Détails du profil
Informations forums :
Inscription : mai 2011
Messages : 29
Points : 5
Points : 5
Bonjour,

@ loufab : En effet, il y avait un problème avec la requête, le mot 'level' étant réservé. Après modification de ce mot, la requête me renvoit bien les enregistrements correspondant mais j'ai toujours le même problème avec mon formulaire où rien ne se passe quand je coche une case.

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
Private Sub FilterEnrg()
Dim SQL As String
 
SQL = " SELECT SYSTEM, SIMPLE, TYPE, WORKPERMIT, COMMENTS, REQUESTER, POSTE, TAGNAME, UNIT, FUNCTION, EQUIPMENT, LEVELAUTHO, STATUS FROM SSS WHERE ID <>0"
 
If Me.CocherSSS Then
SQL = SQL & "OR SYSTEM = 'SSS'"
End If
 
If Me.CocherPSS Then
SQL = SQL & "OR SYSTEM = 'PSS'"
End If
 
If Me.CocherHIPS Then
SQL = SQL & "OR SYSTEM = 'HIPS'"
End If
 
If Me.CocherPACK Then
SQL = SQL & "OR SYSTEM = 'PACKAGE'"
End If
 
Me.RecordSource = SQL
 
End Sub
Code :
1
2
3
4
5
6
7
8
9
10
11
12
Private Sub CocherSSS_Click()
FilterEnrg
End Sub
Private Sub CocherPSS_Click()
FilterEnrg
End Sub
Private Sub CocherHIPS_Click()
FilterEnrg
End Sub
Private Sub CocherPACK_Click()
FilterEnrg
End Sub
@ dok flint : Je ne saisis pas très bien ta solution. Peut tu déveloper ton idée ?


PS: Si je remplace OR par AND dans le code sa marche pour une case à cocher mais quand je clique sur une autre case sa efface tous les résultats. Le problème viendrait il du choix des conditions ?

Merci
dragoes64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/08/2011, 14h15   #16
Invité régulier
 
Inscription : mai 2011
Messages : 29
Détails du profil
Informations forums :
Inscription : mai 2011
Messages : 29
Points : 5
Points : 5
Le code ci dessous à l'air de fonctionné :

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
Private Sub FilterEnrg()
Dim SQL As String
 
SQL = " SELECT OTHER, SYSTEM, SIMPLE, TYPE, WORKPERMIT, COMMENTS, REQUESTER, POSTE, TAGNAME, UNIT, FUNCTION, EQUIPMENT, LEVELAUTHO, STATUS FROM SSS WHERE ID <> 0 AND SYSTEM = 'SSS' AND SYSTEM = 'PSS' AND SYSTEM = 'HIPS' AND SYSTEM = 'PACKAGE'"
 
If Me.CocherSSS Then
SQL = SQL & "OR SYSTEM = 'SSS'"
End If
 
If Me.CocherPSS Then
SQL = SQL & "OR SYSTEM = 'PSS'"
End If
 
If Me.CocherHIPS Then
SQL = SQL & "OR SYSTEM = 'HIPS'"
End If
 
If Me.CocherPACK Then
SQL = SQL & "OR SYSTEM = 'PACKAGE'"
End If
 
Me.RecordSource = SQL
 
 
End Sub
Quand je coche plusieurs cases sa cumule bien les filtres. Par contre une fois les cases toutes décochées, je n'ai plus aucun enregistrement. Il doit manqué un FilterOn = False quelque part mais je ne vois pas où le mettre. Pouvez-vous m'aider?

Merci
dragoes64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 00h29   #17
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 086
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 086
Points : 11 622
Points : 11 622
Bonjour,
Je ne vois pas très bien ce que le filter vient faire dans cette histoire.
Ici tu agis sur la source pas sur un filtre.

C'est normal qu'il n'affiche rien. Regarde ta ligne SQL.

Code :
AND SYSTEM = 'SSS' AND SYSTEM = 'PSS' AND SYSTEM = 'HIPS' AND SYSTEM = 'PACKAGE'"
Le champ SYSTEM doit être à la fois SSS, PSS, HIPS et PACKAGE.

J'ai l'impression que tu ne débogge pas ton code pourtant il y a un tuto très bien fait qui explique comment faire. L'as-tu lu ?

Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 09h02   #18
Invité régulier
 
Inscription : mai 2011
Messages : 29
Détails du profil
Informations forums :
Inscription : mai 2011
Messages : 29
Points : 5
Points : 5
Bonjour,

Je vois bien que ma requête SQL n'est pas bonne mais le seul problème c'est que comme sa sa marche. En fait à l'ouverture du formulaire, mes 4 cases sont cochées, et quand on en décoche une sa retire les valeurs correspondante (à la base c'était l'idée que je voulais développée) et ainsi de suite si on décoche les autres.
Ensuite quand on les cochent à nouveaux sa réaffiche les enregistrements correspondant à la valeur de la case.

C'est quand même bizzare que sa fonctionne vu que la requête est erronée et ne renvoi rien. (Pourtant ce sont les AND qui font la différence)

Code :
WHERE ID <>0 AND SYSTEM = 'SSS' AND SYSTEM = 'PSS' AND SYSTEM = 'HIPS' AND SYSTEM = 'PACKAGE'
dragoes64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 09h43   #19
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 086
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 086
Points : 11 622
Points : 11 622
Bonjour,

Si lce résultat te satisfait alors tant mieux. Tu peux cliquer sur résolu.

Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2011, 14h42   #20
Invité régulier
 
Inscription : mai 2011
Messages : 29
Détails du profil
Informations forums :
Inscription : mai 2011
Messages : 29
Points : 5
Points : 5
Bonjour,

Je remets à jour ce sujet car après avoir essayé divers codes, j'ai finalement trouvé une solution qui semble bien plus adéquate que celle soumise lors de la résolution du problème.
J'ai donc décidé de la publiée au cas où certaines personnes serait intéressé par le sujet.

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
Sub FilterEnrg()
Dim SQL As String
 
SQL = " SELECT Champ(s) FROM Table WHERE ID <>0  "
 
If Not Me.Cocher1 Then
SQL = SQL & "AND Champ recherché <> 'valeur champ 1' "
End If
 
If Not Me.Cocher2 Then
SQL = SQL & "AND Champ recherché <> 'valeur champ 2' "
End If
 
If Not Me.Cocher3 Then
SQL = SQL & "AND Champ recherché <> 'valeur champ 3' "
End If
 
If Not Me.Cocher4 Then
SQL = SQL & "AND Champ recherché <> 'valeur champ 4'"
End If
 
Me.RecordSource = SQL & "ORDER BY ... " (' Order by est facultatif)
 
End Sub
dragoes64 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 15h19.


 
 
 
 
Partenaires

Hébergement Web