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 13/10/2011, 16h41   #1
Candidat au titre de Membre du Club
 
Homme frank
Inscription : juillet 2011
Messages : 40
Détails du profil
Informations personnelles :
Nom : Homme frank
Localisation : France, Vendée (Pays de la Loire)

Informations forums :
Inscription : juillet 2011
Messages : 40
Points : 13
Points : 13
Par défaut Filtre sur date dans un formulaire

Bonjour,

J'ai crée un formulaire avec plusieurs filtres possibles (champs indépendants).
Tous les filtres marche sauf celui sur la date. Après avoir cherché un peu partout je pense qu'il y a un problème de format de date.
Si quelqu'un à la solution, merci.

Voici le code associé :

Code sql :
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 CmdFiltre_Click()
f = ""
IF NOT IsNull(Me.Rart) AND Me.Rart <> "" Then
f = "art6 LIKE ""*" & Me.Rart & "*"""
End IF
IF NOT IsNull(Me.Rcde) AND Me.Rcde <> "" Then
IF f <> "" Then
f = f & " AND commande = """ & Me.Rcde & """"
Else
f = "commande = """ & Me.Rcde & """"
End IF
End IF
IF NOT IsNull(Me.Rclt) AND Me.Rclt <> "" Then
IF f <> "" Then
f = f & " AND Client LIKE ""*" & Me.Rclt & "*"""
Else
f = "Client LIKE ""*" & Me.Rclt & "*"""
End IF
End IF
IF NOT IsNull(Me.Rdate) AND Me.Rdate <> "" Then
IF f <> "" Then
f = f & " AND date liv = """ & Me.Rdate & """"
Else
f = "date liv = """ & Me.Rdate & """"
End IF
End IF
Me.Filter = f
Me.FilterOn = True
End Sub
frabeau est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2011, 16h56   #2
Membre habitué
 
quentin massé
Inscription : janvier 2010
Messages : 251
Détails du profil
Informations personnelles :
Nom : quentin massé
Âge : 27
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : janvier 2010
Messages : 251
Points : 125
Points : 125
Pour déclaré une date tu dois mettre des dièses.

Code :
1
2
3
4
5
IF f <> "" Then
f = f & " AND date liv = " & " # & Me.Rdate & # "
Else
f = "date liv = " & " # & Me.Rdate & # "
End IF
Après je ne suis pas très sur du nombre de double cote que tu dois mettre.
rob1son76 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2011, 17h10   #3
Candidat au titre de Membre du Club
 
Homme frank
Inscription : juillet 2011
Messages : 40
Détails du profil
Informations personnelles :
Nom : Homme frank
Localisation : France, Vendée (Pays de la Loire)

Informations forums :
Inscription : juillet 2011
Messages : 40
Points : 13
Points : 13
Merci pour le tuyau.

En outre sur le dernier END if j'ai un message "Erreur de compilation End if sans bloc If.
frabeau est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2011, 17h21   #4
Candidat au titre de Membre du Club
 
Homme frank
Inscription : juillet 2011
Messages : 40
Détails du profil
Informations personnelles :
Nom : Homme frank
Localisation : France, Vendée (Pays de la Loire)

Informations forums :
Inscription : juillet 2011
Messages : 40
Points : 13
Points : 13
Je pense que le dernier End if est de trop. Par contre nouveau bug :
"Erreur de syntaxe (opérateur absent) dans l'expression : "date liv = # & Me.Rdate & # "
frabeau est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/10/2011, 08h19   #5
Membre confirmé
 
Homme
Chercheur
Inscription : juin 2011
Messages : 150
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Tarn (Midi Pyrénées)

Informations professionnelles :
Activité : Chercheur
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : juin 2011
Messages : 150
Points : 231
Points : 231
Bonjour,

La bonne syntaxe est :

Code :
1
2
 
f = "[date liv]=#" &  Me.Rdate & "#"
Bcdt
fbtsra est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/10/2011, 08h29   #6
Candidat au titre de Membre du Club
 
Homme frank
Inscription : juillet 2011
Messages : 40
Détails du profil
Informations personnelles :
Nom : Homme frank
Localisation : France, Vendée (Pays de la Loire)

Informations forums :
Inscription : juillet 2011
Messages : 40
Points : 13
Points : 13
Bonjour,

J'ai modifier le code mais il y a toujours le même message d'erreur.
Quand je clic sur débogage, dans le code il se positionne sur Me.Filter = f;
Pour info, je suis vraiment novice en matière de sql.
Merci de votre aide.


Code sql :
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 CmdFiltre_Click()
f = ""
IF NOT IsNull(Me.Rart) AND Me.Rart <> "" Then
f = "art6 LIKE ""*" & Me.Rart & "*"""
End IF
IF NOT IsNull(Me.Rcde) AND Me.Rcde <> "" Then
IF f <> "" Then
f = f & " AND commande = """ & Me.Rcde & """"
Else
f = "commande = """ & Me.Rcde & """"
End IF
End IF
IF NOT IsNull(Me.Rclt) AND Me.Rclt <> "" Then
IF f <> "" Then
f = f & " AND Client LIKE ""*" & Me.Rclt & "*"""
Else
f = "Client LIKE ""*" & Me.Rclt & "*"""
End IF
End IF
IF NOT IsNull(Me.Rdate) AND Me.Rdate <> "" Then
IF f <> "" Then
f = f & " AND date liv = " & " # & Me.Rdate & # "
Else
f = "date liv = #" & Me.Rdate & "#"
End IF
End IF
Me.Filter = f
Me.FilterOn = True
End Sub
frabeau est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/10/2011, 08h31   #7
Membre confirmé
 
Homme
Chercheur
Inscription : juin 2011
Messages : 150
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Tarn (Midi Pyrénées)

Informations professionnelles :
Activité : Chercheur
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : juin 2011
Messages : 150
Points : 231
Points : 231
J'ai oublié les crochets indispensables compte tenu du nom du champ :

Code :
f = "[date liv]=#" &  Me.Rdate & "#"

+ pensez à modifier la ligne 22 aussi.

Bcdt
fbtsra est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/10/2011, 08h35   #8
Candidat au titre de Membre du Club
 
Homme frank
Inscription : juillet 2011
Messages : 40
Détails du profil
Informations personnelles :
Nom : Homme frank
Localisation : France, Vendée (Pays de la Loire)

Informations forums :
Inscription : juillet 2011
Messages : 40
Points : 13
Points : 13
Top du top. Cela fonctionne, merci beaucoup et bonne journée.
frabeau est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/10/2011, 08h40   #9
Candidat au titre de Membre du Club
 
Homme frank
Inscription : juillet 2011
Messages : 40
Détails du profil
Informations personnelles :
Nom : Homme frank
Localisation : France, Vendée (Pays de la Loire)

Informations forums :
Inscription : juillet 2011
Messages : 40
Points : 13
Points : 13
J'ai été un peu trop enthousiaste.
Le filtre sur la date seule fonctionne. Mais si je veux filtrer sur la date et un autre champ (Client), nouvelle erreur : erreur de synthaxe (opérateur absent) dans l'expression Client LIKE "KUZMIN*" AND date liv = # & Me.Rdate #
frabeau est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/10/2011, 08h46   #10
Membre confirmé
 
Homme
Chercheur
Inscription : juin 2011
Messages : 150
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Tarn (Midi Pyrénées)

Informations professionnelles :
Activité : Chercheur
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : juin 2011
Messages : 150
Points : 231
Points : 231
Citation:
+ pensez à modifier la ligne 22 aussi.
à modifier donc.


Bcdt
fbtsra est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/10/2011, 15h04   #11
Candidat au titre de Membre du Club
 
Homme frank
Inscription : juillet 2011
Messages : 40
Détails du profil
Informations personnelles :
Nom : Homme frank
Localisation : France, Vendée (Pays de la Loire)

Informations forums :
Inscription : juillet 2011
Messages : 40
Points : 13
Points : 13
Cette fois-ci c'est ok.

Merci.
frabeau 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 07h06.


 
 
 
 
Partenaires

Hébergement Web