一般数据库的日期类型都要以字符型查询。
把ssql = "SELECT * FROM ari  WHERE 日期=" & DTPicker.Value & " "改为:
ssql = "SELECT * FROM ari  WHERE 日期='" & format(DTPicker.Value,"yyyy/mm/dd") & "' "就可以了。

解决方案 »

  1.   

    要不试试:
    ssql = "SELECT * FROM ari  WHERE 日期 between '" & format(DTPicker.Value,"yyyy/mm/dd") & " 00:00:00' " and '" & format(DTPicker.Value,"yyyy/mm/dd") & " 23:59:59'"
      

  2.   

    ssql = "SELECT * FROM ari  WHERE 日期=" & cdate(DTPicker.Value)
      

  3.   

    日期前后要加"#"
    Dim rs As ADODB.Recordset
    Dim Con As ADODB.Connection
    Dim ssql As String
    dim mydata as date
    Const strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\表.mdb;Persist Security Info=False"'过程部分
    Private Sub DTPicker_Change()Set rs = New ADODB.Recordset
    Set Con = New ADODB.ConnectionCon.Open strCon
    myDate=DTPicker.Value 
    ssql = "SELECT * FROM ari  WHERE 日期=#" & myDate & "#"rs.Open ssql, ConText1.Text = rs("HeGePin")End Sub