[Déplace Delphi]problème avec les dates! [Résolu]

Signaler
-
 ezekiel056 -
Salut a tous, voila je fait une petite application avec delphi7, j'au une base de données access dans laquelle j'ai une table Voiture avec un champ Dachat de type date et heure(date abrégée); je voudrais recuperer la somme de Pachat des enregistrements dont Dachat est entre deux dates (récuperées dans spSkinDateEdit1 et 2)
j'utilise pour ma requete le code suivant:
ADOQuery1.SQL.Add('select sum(Pachat) as PA from Voiture where Dachat between '+spSkinDateEdit1.text+'and'+spSkinDateEdit2.text);
mais à l’exécution j'ai un message d'érreur sur les types de données. j'ai tenté plusieurs modifications du code en utilisant par exemple Date a la place de Text mais rien ne marche!
si quelqu'un peut m'aider ça serait super
merci beaucoup pour votre aide

4 réponses

Messages postés
302
Date d'inscription
jeudi 29 septembre 2005
Statut
Membre
Dernière intervention
17 septembre 2013
1
bonjour

utilise une requête paramétrée :

ADOQuery1.SQL.Add('select sum(Pachat) as PA from Voiture where Dachat between :datdeb and :datfin');
ADOQuery1.ParamByName('datdeb').AsDateTime := StrToDateTime(spSkinDateEdit1.text);
ADOQuery1.ParamByName('datfin').AsDateTime := StrToDateTime(spSkinDateEdit2.text);
ADOQuery1.Open;


je ne connais pas les composant ADO, mais ça devrait ressembler à quelque chose comme cela.

Luc.

Bonjour,

Une question sur Delphi dans un forum Visual Basic; cela risque de ne pas être chanceux. Il reste à espérer qu'un administrateur va passer et rediriger ta question à un endroit plus chanceux.
Salut, Oui ca marche tres bien merci beaucoup pour votre aide!
Sinon en sql direcement, ca donne :
ADOQuery1.SQL.Add('select sum(Pachat) as PA from Voiture where Dachat between datevalue('+spSkinDateEdit1.text+') and datevalue('+spSkinDateEdit2.text+')');