@faniette, normalement, si tu as retiré ParamCheck alors CreateParam n'est pas utile, ceci est suffisant :
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Query1->SQL->Text = "select* FROM PEC where DateDevis <= :DateF AND DateDevis >= :DateD"; Query1->ParamByName("DateD")->AsString = DateTimePicker1->Date; Query1->ParamByName("DateF")->AsString = DateTimePicker2->Date; Query1->Open();
l'ordre est important, d'abord SQL puis ParamByName !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Query1->SQL->Text = "select* FROM PEC where DateDevis <= :DateF AND DateDevis >= :DateD"; Query1->ParamByName("DateD")->AsDate = DateTimePicker1->Date; Query1->ParamByName("DateF")->AsDate = DateTimePicker2->Date; Query1->Open();
C'est l'affectation au SQL qui va créer automatiquement les Paramètres, puis le type est déterminé par AsString ou AsDate
Donc, AsString est très important, car il type le paramètre en ftString !
Cela fait appel au constructeur String(TDateTime) qui appelle automatiquement DateToStr !
C'est effectivement utile si c'est un Champ Chaine, maintenant si tu es passé en Champ Date coté ACCESS comme le conseille DjmSotware, repasse à AsDate
Partager