信息表情况1:
编号    名称         修改日期
1      abcdef        2009-11-13 
2      abgdheyu      2009-11-14 
3      abcdeerttef   2009-11-15 
4      ww35cdef      2009-11-12 
信息表情况2:
编号    名称         修改日期
1      abcdef        2009-11-13 07:54:00.000
2      abgdheyu      2009-11-14 07:54:00.000 
3      abcdeerttef   2009-11-15 07:54:00.000 
4      ww35cdef      2009-11-12 07:54:00.000 查询代码:
Adodc1.ConnectionString = "Driver={SQL Server};datasource=机名;DataBase=库名;Server=(local);UID=sa;PWD=" 
Adodc1.RecordSource = "select 编号,名称,修改日期 from 信息表 where 修改日期 between '" & DTPicker1.Value & "' and '" & DTPicker2.Value & "' "
Adodc1.Refresh
Set DataGrid1.DataSource = Adodc1用了两个DTPicker★要实现的目的:  
查询13和15日之间的数据(含13和15日)
★现状是:  
当数据如 [信息表1] 时  查询代码准确无误
★问题是:  
当数据如 [信息表2] 时  查询代码却只能查询出13和14日的数据,而15日的数据却没有,也就是说,当信息表的"修改日期"字段后面有时间时,查不出准确结果
★思路
考虑思路1:将整个[信息表2]的"修改日期"字段时间格式化变成[信息表2],虽确保查询准确,但现实不可取.
考虑思路2:查询时只计算[信息表2]的"修改日期"字段的前10位,想尽办法也没做到★★★求助:
如何实现查询[信息表2]的两个日期之间的数据本人新手,没什么分,如得帮助,愿将日后一段时间内积得的所有分奉送.

解决方案 »

  1.   

    Adodc1.RecordSource = "select 编号,名称,修改日期 from 信息表 where datediff(day,修改日期,'" & DTPicker1.Value & "')>=0 and datediff(day,修改日期,'" & DTPicker2.Value & "')<=0 
      

  2.   

    Sorry 两个日期写反了,应该是:
    Adodc1.RecordSource = "select 编号,名称,修改日期 from 信息表 where datediff(day,修改日期,'" & DTPicker2.Value & "')>=0 and datediff(day,修改日期,'" & DTPicker1.Value & "') <=0