rs.open "select * from ttable where ldate>=#" & 2002/03/01 & "# and ldate<=#" & 2002/05/01 & #"",conn,3,1

解决方案 »

  1.   

    好像这个rs.open "select * from ttable where ldate>=#" & 2002/03/01 & "# and ldate<=#" & 2002/05/01 & #"",conn,3,1 编译就无法通过.
      

  2.   

    呵呵,
    具体的SQL语法是根据驱动的不同而不同啊~
    可能是fox时间型数据不用#吧~这样呢:(看看用字符型能不能查出来啊)
    SELECT * FROM [ttable] WHERE ldate BETWEEN '02/03/01' AND '02/05/01'
    或者
    SELECT * FROM [ttable] WHERE ldate BETWEEN #02/03/01# AND #02/05/01#fox俺没用过,随便说说~
      

  3.   

    如果设置成:
    SELECT * FROM [ttable] WHERE ldate BETWEEN '02/03/01' AND '02/05/01'
    出现如下错误:
    [Microsoft][ODBC Visual FoxPro Driver] Operator/operand type mismatch
    设置成:
    SELECT * FROM [ttable] WHERE ldate BETWEEN #02/03/01# AND #02/05/01#
    出现如下错误:
    [Microsoft][ODBC Visual FoxPro Driver] Syntax error
      

  4.   

    用Datadiff函数来实现!
    select * from [ttable] where (datadiff(day,ldate,"2002-03-01")<=0 and datadiff(day,ldate,"2002-05-01")>=0)
      

  5.   

    试试这个
    dim vardates as string
    dim vardatee as string
    vardates="02/03/01"
    vardatee="02/05/01"
    vardates="#" & vardates & "#"
    vardatee="#" & vardatee & "#"
    rs.open "select * from ttable where ldate>='" & vardates & "' and ldate<='" & vardatee & "',conn,3,1 
      

  6.   

    只要提供数据源,foxpro应该支持ADO的