在数据查询时我用了4个DTP分别对应两个日期和两个时间,希望能查询出如2000-01-01 09:43:21至20004-10-10 10:10:10这个时间段内的数据。
OpenTable frmMDI.adoInformation, "SELECT * FROM Information WHERE (((Information.卡号)  Like '" & Trim(Text1.Text) & "%" & "')) and Information.交易日期 between #" & Me.DTPicker1.Value & "# and #" & Me.DTPicker2.Value & "#" & " and Information.交易时间 between #" & Me.DTPicker3.Value & "# and #" & Me.DTPicker4.Value & "#" & ""
上面是我的程序,自己觉得写的有问题,但是不知道正确的应该怎么写。希望有人心人士给予指出,并给出正确的程度。谢谢!

解决方案 »

  1.   

    正确的语法为:
    "select * from 表名 where 交易日期 between '" & format(DTP1.value,"yyyy-mm-dd") & " " & format(dtp2.value,"HH:mm:ss") & "' and '" &  format(DTP3.value,"yyyy-mm-dd") & " " & format(dtp4.value,"HH:mm:ss") & "'"其实只要两个DTP就可以了,因为此控件可以同时选择日期和时间的。
      

  2.   

    请问如果要同时选择日期和时间应该怎么设置DTP?请详细介绍,不胜感激!
      

  3.   

    因为你的表里的时间格式和SQL的不匹配!我也遇到过!用CDATE()函数把查询的日期改变一下就行了!