FCustomerDM.ADOQryGwyfile_Tb.Filter:='登记日期 between 2005-1-1'+''+' and ' +''+'2005-1-3'+''+'';class EOleException with message '变量或者类型不正确,或者不在可以接受的范围之内,要不就是与其他数据冲突。'.请帮我看看谢谢

解决方案 »

  1.   

    FCustomerDM.ADOQryGwyfile_Tb.Filter:='登记日期 between ''2005-1-1'' and ''2005-1-3''';
      

  2.   

    如果你用的是Access数据库,则Filter应该写为:FCustomerDM.ADOQryGwyfile_Tb.Filter:='登记日期 between #2005-1-1# and #2005-1-3#';//因为Access中,日期型数据是用#号来括起来的。
    大量电脑书籍下载:
    http://www.netyi.net/in.asp?id=ForMoreU
      

  3.   

    pilicat(delphi迷) 如果是Access2003 可以直接去掉#
      

  4.   

    谢谢两位,还是一样的错误,:((( 是不是Filter不能有太复杂的语句
      

  5.   

    '登记日期 between'''+' 2005-1-1'+''' and ''' +'2005-1-3'+'''';
      

  6.   

    FCustomerDM.ADOQryGwyfile_Tb.Filter:='登记日期 between'+ '' 2005-1-1 '+' and '' 2005-1-3''';这样呢?
    以前头听说有文章的说Filter对中文支持不好
    就这样了
      

  7.   

    喔,原来你用的是SQL Server,可以这样的:FCustomerDM.ADOQryGwyfile_Tb.Filter:='登记日期 >= '+QuotedStr('2005-1-1')+' and 登记日期<='+QuotedStr('2005-1-3');我仔细看了看,最有可能的就是SQL Server的ADO接口不支持(不允许?)使用 Between作为Filter的条件。
    大量电脑书籍下载:
    http://www.netyi.net/in.asp?id=ForMoreU
      

  8.   

    不用between,改用:登记日期>'2005-1-1' and 登记日期<'2005-1-3';