我刚学vb,最近在做个程序,碰到一点问题,请大家帮忙!先谢了!!
程序数据连接方式我选用了ADODC ,现在想实现用两个dtpicker控件来选择一个时间段,怎么才能把数据库中的这个时间段中的数据打开,并用datagrid显示出来.
代码如何编写?

解决方案 »

  1.   

    类似:Adodc1.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Test.mdb;User Id=admin;Password=;"
    Adodc1.CommandType = adCmdText
    Adodc1.RecordSource = "select * from 表 where 日期>=#" & DTPicker1.Value & "# and 日期<=#" & DTPicker2.Value & "#"
    Adodc1.Refresh
    Set DataGrid1.DataSource=Adodc1如果是MSSQL库,把查询语句中的#号改为单引号
      

  2.   

    没有调试,试试:'建立一个连接Cnn, rs 为ADO的recordset    Set rs = Nothing
        strSQL = "SELECT * FROM table1 where datefield between """ & dtpicker1.value &" "" and "" "& dtpicker2.value & """
        With rs
            .CursorLocation = adUseClient
            .CursorType = adOpenKeyset
            .LockType = adLockOptimistic
            .Open strSQL, Cnn, , , adCmdUnknown
        End With
        Set Datagrid1.DataSource = rs
      

  3.   

    Str = "select * from 数据表 where 接警类别='" & Combo1.Text & "' and  值班民警='" & Combo2.Text & "' and (日期>='" & Format(DTPicker1.Value, "yyyy-mm-dd") & "' and 日期<='" & Format(DTPicker2.Value, "yyyy-mm-dd") & "')"
      

  4.   

    你的查询语句用在SQL数据库里应该没问题,如果用在Access里就有问题了,在Access里,日期字段要用两个#号括起来:Str = "select * from 数据表 where 接警类别='" & Combo1.Text & "' and  值班民警='" & Combo2.Text & "' and (日期>=#" & Format(DTPicker1.Value, "yyyy-mm-dd") & "# and 日期<=#" & Format(DTPicker2.Value, "yyyy-mm-dd") & "#)"两外,数值类型的字段不要用单引号括起来
      

  5.   

    faysky2(出来混,迟早是要还嘀) !!!!你说的方法我实验了,终于成功了!!!万分感谢!!!困饶我一天的问题终于解决了!!!!
    大好人一个!!!
    作为一个刚学vb不到一个星期的人,能遇到你这样的恩人,太幸运了...
    能否留个qq跟你交流,向你学习啊!!
    万分感谢!!!困饶我一天的问题终于解决了!!!!
    大好人一个!!!