VB.Net ADO.Net Recherche à partir d'une date plus grande que... [Résolu]

Messages postés
929
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
10 septembre 2010
- - Dernière réponse : cs_JeffC1977
Messages postés
929
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
10 septembre 2010
- 11 mai 2010 à 21:54
Bonjour à tous

J'utilise un BD Acces que je fais afficher dans un DatagridView.


Je cherche à faire une recherche multiple avec la possibilité de rechercher avec une date plus petite que 2 mois à partir de la date d'aujourd'hui.

Exemple nous somme le 11 mai donc de faire afficher tous les résultats X entre le 11 mars et le 11 mai.

Voici mon problème
Je cherche un prix (23.18) et je veux chercher ce prix qui est dans les 2 derniers mois Voici ma requête SQL

RequeteSQL = "select Paiements.* from Paiements where [Prix] like '%" & txtRecherche.Text & "%' AND [Date] > '%" & DateAdd("d", -60, DateTime.Now.ToShortDateString) & "%' "


Résultat de la requête dans le Debug
select Paiements.* from Paiements where [Prix] like '%23.18%' AND [Date] > '%3/11/2010%'

Vous devinerez que ca bug. Qu'est ce que je ne fais pas de correct dans ma requête.


Merci d'avance de votre aide
Afficher la suite 

7 réponses

Meilleure réponse
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
22
3
Merci
Salut

L'operateur % est pour les like et donc les chaines de caracteres

Testes ta requete faites a l'execution en posant un point d'arret,
dans access.

select Paiements.* from Paiements where [Prix] like '%TOTO%' AND [Date] > '%01/01/2010%' "


Pour eviter ce genre de probleme utilise des requetes parametrees.

Bon dev

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 201 internautes nous ont dit merci ce mois-ci

Commenter la réponse de nhervagault
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
22
3
Merci
En direct dans access c'est avec des # il me semble.
et pas des % pour les dates.
Comm j'ai dis dans mon premier post

RequeteSQL "select Paiements.* from Paiements where [Prix] " & txtRecherche.Text & " AND [Date] > '#" & DateAdd("d", -60, DateTime.Now.ToShortDateString) & "#' "

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 201 internautes nous ont dit merci ce mois-ci

Commenter la réponse de nhervagault
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
22
3
Merci
utilses la fonction format autour de la date

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 201 internautes nous ont dit merci ce mois-ci

Commenter la réponse de nhervagault
Messages postés
929
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
10 septembre 2010
1
0
Merci
Bonjour

et bien je savais que le % était pour les caractères mais pour une raison que j'ignore j'utilisais cette requête et tout fonctionne correctement

RequeteSQL = "select Paiements.* from Paiements where [Prix] like '%" & txtRecherche.Text & "%' "


J'ai essayé un truic du genre et hj'ai toujours le même bug

 RequeteSQL "select Paiements.* from Paiements where [Prix] " & txtRecherche.Text & " AND [Date] > '%" & DateAdd("d", -60, DateTime.Now.ToShortDateString) & "%' "



P.S. j'ai aucune idée de comment on peut mettre un point d'arrêt dans Acces

J'utilise VS2005 avec Access 97

merci de ton aide
Commenter la réponse de cs_JeffC1977
Messages postés
929
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
10 septembre 2010
1
0
Merci
Rebonjour

Effectivement tu as raison, pour les dates c'est bien les #

Entre les deux messages j'avais essayer les # mais j'ai toujours le message:

Type de données incompatible dans l'expression du critère.


Dans Access, ma colonne Prix est du numérique et ma colonne Date est Date/Heure

Merci d'avance
Commenter la réponse de cs_JeffC1977
Messages postés
929
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
10 septembre 2010
1
0
Merci
Encore moi

Ma variable "Add("d", -60, DateTime.Now.ToShortDateString)" me renvoi un résultat Mois/Jour/Années

Dans Acces mon format de colonne est Date/Heure
Date, abrégé Année/Mois/Jour

Mon problème doit venir de là....

Si tel ets le cad,
Donc comment formater une date afin qu'elle ait le format Année/Mois/Jour


merci de ton aide
Commenter la réponse de cs_JeffC1977
Messages postés
929
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
10 septembre 2010
1
0
Merci
merci je venais tout juste de trouver....
Commenter la réponse de cs_JeffC1977