il me semble que tu ne suis pas exactement mon code au niveau de ma transformation de la date . ATTENTION le format est important Nota , DD dans ce cas est un String , pas un TDateTime
ensuite effectivement , au niveau du SQL , j'ai oublié les quotes
, à ma décharge je ne savais pas si le SQL était déjà stocké dans une query (dans ce cas cela serait sans doute passé en indiquant dd de type string) ou non
sql.add('select * from agent where (CAST('':dd'' AS DATE) - EXTRACT(YEAR FROM date_ent))>=:pp ....
nota , il s'agit de double quotes pas de guillemets
D'ailleurs , de quels types de composants Query parle t'on ? et , comment est affecté le paramètre ?
car il me semble que : avec un SQL
1 2
| SQL.Add('select * from agent where :dd - EXTRACT(YEAR FROM date_ent))>=:pp');
ParamByName('dd').asDateTime:=StrToDate(Edit1.text); |
avec un Edit1.Text correct (il aurait mieux valu utiliser un TDateTimePicker) cela devrait fonctionner . Enfin la partie code , car le SQL me parait étrange : retirer un nombre d'une date , c'est retirer un nombre de jours , s'il s'agit d'obtenir le nombre d'année d'ancienneté .....
Partager