为什么我用Access自带的查询程序做的查询,其中有姓名,时间等信息,为什么用姓名等字符格式作为查询条件就可以,用时间作为查询条件时就报告“标准表达式中数据类型不匹配”。是不是在Access 中自带的查询都这样,用VB查询表没有问题,代码如下:    "select DISTINCT * from data where 检验日期 between '2005-11-10' and '2005-12-10'"用  "select DISTINCT * from data where 检验日期 between 2005-11-10 and 2005-12-10"
不报错,但是得不到查询结果。

解决方案 »

  1.   

    如果是Access数据库,日期用用两个#号扩起来:
    "select DISTINCT * from data where 检验日期 between #2005-11-10# and #2005-12-10#"
      

  2.   

    "select DISTINCT * from data where 检验日期 between #2005-11-10# and #2005-12-10#"如果是SQL数据库,用两个单引号把日期括起来:
    "select DISTINCT * from data where 检验日期 between '2005-11-10' and '2005-12-10'"
      

  3.   

    ACCESS的日期要用#号括起来。"select DISTINCT * from data where 检验日期 between #2005-11-10# and #2005-12-10#"==========================
    免费的学习、交流、源码、工具下载网站,欢迎大家访问!
    http://www.j2soft.cn/
      

  4.   

    有人知道没,data就是用Access 中的查询向导做的,在 VB 用上述语句就不行,可是我把它导到
    SQL中用查询分析器就能通过,这是为什么?
      

  5.   

    唉……如果系统换成别的数据库,你是不是要改代码呢?select DISTINCT * from data where 检验日期 between ? and ?SQL语句这样写,然后把二个问号的值传进去,这样对所有的数据库都通用。