标准表达式中数据类型不婚配!

标准表达式中数据类型不匹配!!!急
begin
with dataa.Q2 do
 begin

  if CBshkdate.Checked=true then
  swhere:='and shkdate>='''+FormatDateTime('ddddd',shkdate.Date)+'''';
  if CBshkname.Checked=true then
  swhere:=swhere+' and shkname='''+trim(shkname.Text)+'''';
  if CBusername.Checked=true then
  swhere:=swhere+'and username='''+trim(username.Text)+'''';
 close;
 sql.Clear;
 sql.Add('select * from shkinfo where 1=1'+swhere);
 open;
 end;

红色部分的错误,FormatDateTime('ddddd',shkdate.Date) 如何调整? DELPHI+ACCESS 
哪位兄弟分析下


------解决方案--------------------
swhere:='and (shkdate>='''+datetostr(shkdate.date)+'空格00:00:00'')'; 
shkdate可以是datetime就用下面这个
swhere:='and (shkdate>='''+datetimetostr(shkdate.datetime)+''')'; 

------解决方案--------------------
瞧瞧你ACCESS里的shkdate是什么类型,如果是字符串,就这样
swhere:='and DateValue(shkdate)>='''+DateToStr(shkdate.Date)+'''';
------解决方案--------------------
用的也是ACCESS的日期/时间格式
Edit1.Text := FormatDateTime('YYYY-MM-DD', ADODataSet1.FieldByName('testDateTime').AsDateTime);
没报错啊