我用的是Access,ADO控件和Datagrid控件,查询字段是“时间”,类型是date的全型(如2007-6-6 11:21:35),现在我通过在DTPicker控件里面设置查询时间,这个属性只设日期不设时间(2007-6-6),要查这一全天的记录,但是却显示查不到任何记录,请大家帮我看看,谢谢了!(数据库没有问题,另外一种字段查询好使)Private Sub cmdQuery_Click()
Dim a
a = DTPicker1.value
frmMain.Adodc1.CommandType = adCmdUnknown
frmMain.Adodc1.RecordSource = "Select * From 列车 Where format(时间,'yyyy-m-d')>'a'and format(时间,'yyyy-m-d')<'a+1'"
frmMain.Adodc1.Refresh
If frmMain.Adodc1.Recordset.EOF Then
MsgBox "查无此时间的记录", vbOKCancel + 32, "查询出错"
frmMain.Adodc1.RecordSource = "列车"
frmMain.Adodc1.Refresh
End If
End Sub

解决方案 »

  1.   

    "Select * From 列车 Where 时间 between "# a & "00:00:01 & " # and # " & a & " 23:59:59 " #"
      

  2.   

    查一天的记录?
    "Select * From 列车 Where format(时间,'yyyy-m-d')='2007-6-5'"
    如果你a是变量的话:
    "Select * From 列车 Where format(时间,'yyyy-m-d')='"& a &"'"一个时间段内的数据用><或者between
      

  3.   

    晕,sql语句里边有format 函数?????????
    '查询时间为a的整天数据从00:00:00到24:00:00
    Select * From 列车 Where 时间='a'
    '查询时间大于a的整天数据从a天的00:00:00开始
    Select * From 列车 Where 时间>'a'
    '查询时间为时间段a到b如果a只有日期没有时间,时间部分就是00:00:00
    Select * From 列车 Where 时间 between 'a' and 'b' 
      

  4.   

    楼上看清了楼主用的是什么数据库
    如果不知道access有format,那你真该晕  :)
      

  5.   

    用conver函数如:cover(char(8),数据库时间字段,21)='"& a &"'试试