关于ACCESS的一个日期查询有关问题

关于ACCESS的一个日期查询问题!
我用ADOQURY根据时期查询为什么查询记录数为0?
代码如下
begin_time   :=   DateTimePicker1.Date;
end_time   :=   DateTimePicker2.Date;
str_sql   :=   'select   *   from   sell_work   where   format(work_date, ' 'yyyy-mm-dd ' ')   between     ' ' '+DateToStr(begin_time)+ ' ' '   and   ' ' '+DateToStr(end_time)+ ' ' ' ';

    DataModule1.select_qr(str_sql);

procedure   TDataModule1.select_qr(sql_str:   string);
begin
    with     ADOQuery1   do
    begin
        Close;
        SQL.Clear;
        sql.Add(sql_str);
        Open;
    end;
end;
sql用str_sql   :=   'select   *   from   sell_work   where   format(work_date, ' 'yyyy-mm-dd ' ')   between     # '
                        +DateToStr(begin_time)+ '#   and   # '+DateToStr(end_time)+ '# ';
也一样查不出,请教,谢谢

------解决方案--------------------
str_sql := 'select * from sell_work where work_date between # '
+formatdatetime( ' 'yyyy-MM-dd ' ',begin_time)+ '# and # '+formatdatetime( ' 'yyyy-MM-dd ' ',end_time)+ '# ';
------解决方案--------------------
select * from where work_date = #2007-02-02#
------解决方案--------------------
注意ACCESS中的日期格式要用#
------解决方案--------------------
ACCESS中的日期格式要用#