Link to home
Start Free TrialLog in
Avatar of Richard Teasdale
Richard TeasdaleFlag for United Kingdom of Great Britain and Northern Ireland

asked on

records dated after today delphi

HI:
I am struggling to write a delphi program that reads orders delivered after today.
The query works fine for all records but I am struggling to set the parameter 'today'
Here is the query:
""Query2.SQL.Clear;
Query2.SQL.Add('SELECT DISTINCT  D.DocNo,D.OrderNo, D.Ordered, D.Delivered,D.InvNo, D.Invoiced, D.AccNo, D.CRef,D.Items, D.Area,D.goods,D.Nett, D.VAT,D.SurchargeRate, D.SurchargeVal,D.State,D.held, 99 as roof ' );
 Query2.SQL.Add(' FROM "GOOrders.DB" D  WHERE  (D.Delivered >Date()) ORDER BY D.Delivered, D.AccNo');
 Query2.Open;""
It is the 'D.Delivered > Date()' that I cannot get.
Does anybody know how to set this, please?
Thanks!
Avatar of jimyX
jimyX

Which Database you are using?
Avatar of Richard Teasdale

ASKER

Paradox 7-11
what error do you get?
ASKER CERTIFIED SOLUTION
Avatar of Pierre Cornelius
Pierre Cornelius
Flag of South Africa image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Thanks everybody!
It is a TQuery reading a Paradox database .THe error message is 'invalid use of keyword. Token:Date))
Don't use :Date, it is reserved word.

Use :ADate
or :Today

what follows the : is the name of the param and is what you should use in ParamByName.
Thank you very much! That has worked. Is it possible to set an end date, such as today +7 for the next week?
Thank you very much Pierre! And thanks to the other contributors, too.
You can set the date param to whatever you like. In delphi dates, the day is the integral part and time the fractional part, so to set to next week, you could use:
Query1.ParamByName('ADate').Value:= Date+7;
Thanks again Pierre - you get the points for a great answer; however the '+7' gives a type mismatch. I can resubmit as a new question if you prefer.
You're welcome.

try:
Query1.ParamByName('ADate').AsDate:= Date+7;

If still fails, perhaps you should set the param type:
Query1.ParamByName('ADate').DataType:= ftDateTime;
Thank you very much, Pierre. AsDate works.
Glad to help. Good luck.