Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 3 of 3 total
Thread between 2 dates filter !
Wed, Jan 25 2017 6:19 AMPermanent Link

kamran

Hi ..
trying to get this filter to work but cannot.
it all looks ok.. and makes sense... but i get an error #1001 (filter error) and #700 (invalid expression)  table qualifier not allowed

driverlog_date is defined in table as a "date" type and the pickers also have a type TDate

Here is my code:
............................................................................................................................................................
  Filtered := False;
    Filter := 'driverlog_driver_firstname = ' + QuotedStr(firstname) + ' AND  ' + 'driverlog_driver_lastname = ' + QuotedStr(lastname)
            + ' AND driverlog_date >= FromDayLogDatePicker.Date'
            + ' AND driverlog_date <= ToDayLogDatePicker.Date';
  Filtered := True;
-----------------------------------------------------------------------------------------------------------------------------------------------------------
What am I doing wrong here ?

Thanks

Kamran
Wed, Jan 25 2017 6:39 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

kamran

> + ' AND driverlog_date >= FromDayLogDatePicker.Date'
> + ' AND driverlog_date <= ToDayLogDatePicker.Date';

This looks like you're trying to put a component directly into the filter. ElevateDB doesn't understand components in that way and the dot makes it think you're referring to a table. You need something like

+ ' AND driverlog_date >= DATE +QuotedStr(Engine.DateToSQLStr(FromDayLogDatePicker.Date))
+ ' AND driverlog_date <= DATE +QuotedStr(Engine.DateToSQLStr(ToDayLogDatePicker.Date));

Roy Lambert
Wed, Jan 25 2017 7:01 AMPermanent Link

kamran

Hi Roy

Spot on.. that works a treat...

thank you.

Kamran

Roy Lambert wrote:

kamran

> + ' AND driverlog_date >= FromDayLogDatePicker.Date'
> + ' AND driverlog_date <= ToDayLogDatePicker.Date';

This looks like you're trying to put a component directly into the filter. ElevateDB doesn't understand components in that way and the dot makes it think you're referring to a table. You need something like

+ ' AND driverlog_date >= DATE +QuotedStr(Engine.DateToSQLStr(FromDayLogDatePicker.Date))
+ ' AND driverlog_date <= DATE +QuotedStr(Engine.DateToSQLStr(ToDayLogDatePicker.Date));

Roy Lambert
Image