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
Dernière intervention
10 septembre 2010
- - Dernière réponse : cs_JeffC1977
Messages postés
929
Date d'inscription
vendredi 10 novembre 2000
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 

Votre réponse

7 réponses

Meilleure réponse
Messages postés
6069
Date d'inscription
dimanche 13 avril 2003
Dernière intervention
15 juillet 2011
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 a aidé 106 internautes ce mois-ci

Commenter la réponse de nhervagault
Messages postés
6069
Date d'inscription
dimanche 13 avril 2003
Dernière intervention
15 juillet 2011
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 a aidé 106 internautes ce mois-ci

Commenter la réponse de nhervagault
Messages postés
6069
Date d'inscription
dimanche 13 avril 2003
Dernière intervention
15 juillet 2011
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 a aidé 106 internautes ce mois-ci

Commenter la réponse de nhervagault
Messages postés
929
Date d'inscription
vendredi 10 novembre 2000
Dernière intervention
10 septembre 2010
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
Dernière intervention
10 septembre 2010
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
Dernière intervention
10 septembre 2010
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
Dernière intervention
10 septembre 2010
0
Merci
merci je venais tout juste de trouver....
Commenter la réponse de cs_JeffC1977

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.