Requete et DateTimepicker

Signaler
Messages postés
37
Date d'inscription
mardi 7 octobre 2008
Statut
Membre
Dernière intervention
29 décembre 2008
-
Messages postés
37
Date d'inscription
mardi 7 octobre 2008
Statut
Membre
Dernière intervention
29 décembre 2008
-
Dans une requete ADO SQL, j'effectue une requete qui est censée me donner un listing de tout ce qui est contenu avant la date que j'indique dans le DateTimePicker1

Les champs sont en format Date

****************************************************************************
AdoQuery1.Close;
// REQUETE SQL
AdoQuery1.SQL.Add('SELECT * from ListingBal ');
AdoQuery1.SQL.Add('WHERE DernierDecapage <' + DateToStr(Datetimepicker1.Date)) ;
Adoquery1.Open;
****************************************************************************

le probleme, c'est que cela ne fonctionne pas !!!!

11 réponses

Messages postés
37
Date d'inscription
mardi 7 octobre 2008
Statut
Membre
Dernière intervention
29 décembre 2008

si par contre a l'inverse je fait cela

**************************************************************************
Avec DateTimPicker
AdoQuery1.SQL.Add('WHERE DernierDecapage <' + DateToStr(Datetimepicker1.Date)) ;

Sans DateTimePicker
AdoQuery1.SQL.Add('WHERE DernierDecapage <#1/1/2004#) ;
**************************************************************************

ça fonctionne !!!!!!!

Donc pourquoi au dessus ça ne marche pas,je pense que le soucis doit etre au niveau de la convertion de format de date, mais comment faire ?
Messages postés
37
Date d'inscription
mardi 7 octobre 2008
Statut
Membre
Dernière intervention
29 décembre 2008

enfin cela fonctionne SANS LE DATETIMEPICKER
car j'ai ajouté la ligne pour comparaison simplement
Messages postés
302
Date d'inscription
jeudi 29 septembre 2005
Statut
Membre
Dernière intervention
17 septembre 2013
1
bonsoir,

essaye :

AdoQuery1.sql.add('WHERE DernierDecapage < :DATDER');
AdoQuery1.Prepare;
AdoQuery1.Parameters.ParamByName('DATDER').Value := Datetimepicker1.Date;
AdoQuery1.Open;

je n'utilise pas ADO mais en regardant dans l'aide, j'ai trouvé ceci.
L'aide intégrée dans delphi permet souvent de trouver ce qu'on cherche, mais il faut chercher un peu .

Luc.
Messages postés
37
Date d'inscription
mardi 7 octobre 2008
Statut
Membre
Dernière intervention
29 décembre 2008

Merci pour ta reponse
Neanmoins j'ai une erreur qui me dit que l'instruction n'est pas bonne

egalement, ta deuxieme ligne de programme
AdoQuery1.Prepare;          n'est pas plutot   AdoQuery1.Prepared;   (au risque de me tromper)

quand a l'aide de delphi, j'aimerais la consulter............ mais delphi 7 et vista, ça ne passe pas !!!! si tu a une solution la dessus ce serait bien d'ailleurs !

en ce qui concerne la recherche, j'ai deja pris un savon de la part d'un autre membre parce que je ne cherchais pas assez....... et crois moi, je cherche !
Messages postés
1284
Date d'inscription
mardi 28 octobre 2003
Statut
Contributeur
Dernière intervention
3 juillet 2015
13
Bonjour,

Essaie : AdoQuery1.SQL.Add('WHERE DernierDecapage < #' + DateToStr(Datetimepicker1.Date) +'#') ;

Simon
Messages postés
7
Date d'inscription
jeudi 22 mars 2007
Statut
Membre
Dernière intervention
17 décembre 2008

bonjour,

moi je mettrais ça !

AdoQuery1.SQL.Add('WHERE DernierDecapage <' + quotedstr(DateToStr(Datetimepicker1.Date))) ;

a+
Messages postés
37
Date d'inscription
mardi 7 octobre 2008
Statut
Membre
Dernière intervention
29 décembre 2008

Toujours le meme soucis............. plantage de l'application a savoir :

erreur EOLEexception avec le message "instruction SQL non valide: DELETE, INSERT, PROCEDURE, SELECT ou UPDATE Attendus.
utlisez pas a pas executer pour continuer !

IL me reste juste ce bout de programme a ecrire pour terminer l'appli, c'est trop bete que ça fonctionne pas !
Messages postés
37
Date d'inscription
mardi 7 octobre 2008
Statut
Membre
Dernière intervention
29 décembre 2008

pour info: j'ai fait un pas a pas approfondi, et c'est bien lors du

// REQUETE SQL
AdoQuery1.Close;
AdoQuery1.SQL.Add('WHERE DernierDecapage < #' + DateToStr(Datetimepicker1.Date) +'#') ;
Adoquery1.Open;  <================ ICI

que ça plante avec le message indiqué ci dessus.
Messages postés
4720
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
31 juillet 2021
14
                                                                                  |
AdoQuery1.SQL.Add('WHERE DernierDecapage < '#' + DateToStr(Datetimepicker1.Date) +'#') ;

cantador
Messages postés
37
Date d'inscription
mardi 7 octobre 2008
Statut
Membre
Dernière intervention
29 décembre 2008

bon, petite correction (sans aucune pretention) il manquait un [ ' ]
AdoQuery1.SQL.Add('WHERE DernierDecapage < '#' + 'DateToStr(Datetimepicker1.Date) +'#') ;

donc messages du compilateur:

expression constante attendue => '#'
')' attendu, mais DateToStr trouvé => DateToStr(
instruction attendue, mais expression de type String trouvée => +'#') ;

voila..........
Messages postés
37
Date d'inscription
mardi 7 octobre 2008
Statut
Membre
Dernière intervention
29 décembre 2008

je pense avoir fait une bourde dans le precedent message, pardon !!!

avec ta solution => AdoQuery1.SQL.Add('WHERE DernierDecapage < '#' + DateToStr(Datetimepicker1.Date) +'#'); (sans ma correction erronnée)

le compilateur me donne comme erreur:
expression constante attendue => '#'
')' attendu mais adoquery1 trouvé :

le code =>
// REQUETE SQL
AdoQuery1.Close;
AdoQuery1.SQL.Add('WHERE DernierDecapage < '#' + DateToStr(Datetimepicker1.Date) +'#');
Adoquery1.Open;