我的SQL语句为
 SELECT TLog.LogID
 FROM TLog
 WHERE format(time,"yyyy-mm-dd")>= "2006-09-11";
直接在Access中查询时显示的结果是正确的,但是放在程序中,代码为str:='yyyy-mm-dd';
if((combobox1.Text<>'')and(combobox2.Text='')and(combobox3.Text='')
   and(combobox4.Text=''))then
sql:='select* from TLog where format(time,'''+str+''')>='''+combobox1.Text+'''';
程序运行后得到的是一张空表,这是不应该的啊向各位大侠求助,谢谢!

解决方案 »

  1.   

    刚找到出错的地方了,但是不知道怎么解决,我确定的格式为“yyyy-mm-dd”但是Access在我输入表格的时候自动把09改为9,01改为1,……但是这样格式我就没有办法统一了啊,怎么解决呢?
    继续求助!
      

  2.   

    format(time,'''+str+''')  >=检查一下下!是不是 这儿!
      

  3.   

    我也认为是这里的问题
    format(time,'''+str+''')>=
      

  4.   

    delphi中调用日期查询语句在ACCESS中查询,要在日期前后加上"#",上面的改成WHERE format(time,"yyyy-mm-dd")>= "#2006-09-11#";也就是sql:='select* from TLog where format(time,'''+str+''')>='''+combobox1.Text+'''';改成sql:='select* from TLog where format(time,'''+str+''')>=#'''+combobox1.Text+'''+'#'';就可以了.
      

  5.   

    还是不对,加“#”之后直接在Access里查询就不对,显示的结果是全部数据,在程序当中也是这样,虽然也没有报错
      

  6.   

    我的多个系统都是用的ACCESS数据库,delphi中只有用select * from cowinfo where milkdate>#2006-08-04#才能在Access数据库中得到正确的数据。
    除非你的语句有问题,如果你的语句直接在Access中都不对,那么就是你的语句有问题,自然在delphi中调用也不对了。
      

  7.   

    delphi中对access数据库的日期类型的查询只有用类似select * from cowinfo where milkdate>#2006-08-04#这样两边都用#的才能在Access数据库中得到正确的数据。
    你之所以得不到想要的数据是你的语句有问题。
      

  8.   

    你的WHERE format(time,"yyyy-mm-dd")>= ……-------〉中为什么要用format,直接用字段,比如where milkdate>#2006-08-04#