Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
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/11/2011, 10h52   #1
Invité de passage
 
Inscription : août 2002
Messages : 4
Détails du profil
Informations forums :
Inscription : août 2002
Messages : 4
Points : 0
Points : 0
Par défaut DoCmd.Applyfilter dans un groupe d'option

* Bonjour, *

Voilà, je suis loin d'être un spécialiste en VBA et j'essaie de me débrouiller avec mes minces connaissances qui ici ne suffisent plus.

Dans un formulaire j'ai un groupe d'options avec pour l'instant 4 choix pour filtrer mon formulaire. Tous / Actif / Inactif / Amis.

Pour les 3 1er le filtre fonctionne parfaitement mais quand je demande de filtrer le champ CATEGORIE avec Amis j'ai une erreur 2501. 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
Private Sub FiltreMembres_Click()
If FiltreMembres.Value = 1 Then
    DoCmd.ShowAllRecords
    StrSql = "SELECT RQT_Membre.Num_Membre, RQT_Membre.[NomPrenom] " & _
         "FROM RQT_Membre " & _
         "ORDER BY RQT_Membre.[NomPrenom];"
ElseIf FiltreMembres.Value = 2 Then
    DoCmd.ApplyFilter , "[Actif]=" & "True"
    StrSql = "SELECT RQT_Membre.Num_Membre, RQT_Membre.[NomPrenom] " & _
         "FROM RQT_Membre WHERE (((RQT_Membre.[Actif])=True))" & _
         "ORDER BY RQT_Membre.[NomPrenom];"
ElseIf FiltreMembres.Value = 3 Then
    DoCmd.ApplyFilter , "[Actif]=" & "False"
    StrSql = "SELECT RQT_Membre.Num_Membre, RQT_Membre.[NomPrenom] " & _
         "FROM RQT_Membre WHERE (((RQT_Membre.[Actif])=False))" & _
         "ORDER BY RQT_Membre.[NomPrenom];"
Else
    DoCmd.ApplyFilter , "[Categorie]='Amis'"
    StrSql = "SELECT RQT_Membre.Num_Membre, RQT_Membre.[NomPrenom] " & _
         "FROM RQT_Membre WHERE (((RQT_Membre.[Categorie])='Amis')" & _
         "ORDER BY RQT_Membre.[NomPrenom];"
End If
Me.Liste46.RowSource = StrSql
End Sub
A l'ouverture du formulaire j'exécute ce code :

Code :
1
2
3
4
5
6
7
Private Sub Form_Open(Cancel As Integer)
Dim StrSql As String
StrSql = "SELECT RQT_Membre.Num_Membre, RQT_Membre.[NomPrenom] " & _
         "FROM RQT_Membre " & _
         "ORDER BY RQT_Membre.[NomPrenom];"
Me.Liste46.RowSource = StrSql
End Sub
Merci de votre aide
LaurentD est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2011, 13h36   #2
Membre confirmé
 
Homme
Développeur amateur
Inscription : mars 2009
Messages : 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Maroc

Informations professionnelles :
Activité : Développeur amateur

Informations forums :
Inscription : mars 2009
Messages : 176
Points : 255
Points : 255
Bonjour,

Je crois qu'il ya une parenthèse en excès dans la clause where:

Code :
(((RQT_Membre.[Categorie])='Amis')"
Cordialement
reedy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2011, 14h18   #3
Membre actif
 
Avatar de robyseb
 
Homme Sébastien
Développeur indépendant
Inscription : juillet 2011
Messages : 178
Détails du profil
Informations personnelles :
Nom : Homme Sébastien
Localisation : Canada

Informations professionnelles :
Activité : Développeur indépendant

Informations forums :
Inscription : juillet 2011
Messages : 178
Points : 193
Points : 193
Oui il y en a une de trop et Ami devrait av oir des double quote exemple

Code :
((RQT_Membre.[Categorie])="Amis")"
__________________
Parfois il faut faire le tour d'une roche 10 fois avant de s'apercevoir quelle est ronde.
  • Si vous trouvé mon post intéressant, n'oubliez pas de voter coté inférieur droit du message. Merci
  • Si votre Post est indiquez le....
robyseb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/11/2011, 12h02   #4
Invité de passage
 
Inscription : août 2002
Messages : 4
Détails du profil
Informations forums :
Inscription : août 2002
Messages : 4
Points : 0
Points : 0
Merci pour vos réponses, j'y perds mon latin...

Maintenant je me retrouve avec une erreur d'exécution 424 Objet requis !

Voici le code :
Code :
1
2
3
4
5
Else
    DoCmd.ApplyFilter , ((RQT_Membre.[Categorie]) = "Amis")
    StrSql = "SELECT RQT_Membre.Num_Membre, RQT_Membre.[NomPrenom] " & _
         "FROM RQT_Membre WHERE (((RQT_Membre.[Categorie])='Amis')" & _
         "ORDER BY RQT_Membre.[NomPrenom];"
Je ne sais pas mettre le guillemet après la parenthèse comme vous me l'indiqué. Si je tape mon code comme ceci :

Code :
DoCmd.ApplyFilter , ((RQT_Membre.[Categorie]) = "Amis") "
J'ai une erreur de syntaxe....

Encore merci pour votre aide précieuse.
LaurentD est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h28.


 
 
 
 
Partenaires

Hébergement Web