我是用adodc控件连接的数据库,用datagrid显示数据,现在我想将datagrid里的日期字段里的数据与当前日期进行比较,应该怎么做?怎么把数据从datagrid里提取出来呢?如果是多条数据 怎么办 ?循环比较么?

解决方案 »

  1.   

    Adodc1.RecordSource = "select * from 主表 where " & "检验日期 = '" & DTPicker2.Value & "'" & "order by cdate(检验日期),主键,样品号"
    Adodc1.Refresh
    这是我程序中的一段,检验日期字段类型我用了字符串型,DTPicker2是一个日期控件
      

  2.   

    取DataGrid的数据,其实就是取Adodc里的Recordset的数据:Private Sub Command1_Click()
        Dim i As Long
        For i = 1 To Adodc1.Recordset.RecordCount
            Debug.Print Adodc1.Recordset("日期")
            Adodc1.Recordset.MoveNext
        Next
    End Sub
      

  3.   

    还一方法,
    For i = 1 To Adodc1.Recordset.RecordCount
        dagatrid1.col = n '===n为dagatrid1控件的日期那一列的列号
        Debug.Print  datagrid1.text
        adodc1.recordset.movenext
    next
    某些时候这种方法不如楼上的好
      

  4.   

    取DataGrid的数据,其实就是取记录集的数据:Private Sub Command1_Click()
        Dim i As Long
        For i = 1 To Adodc1.Recordset.RecordCount
            Debug.Print Adodc1.Recordset("日期")
            Adodc1.Recordset.MoveNext
        Next
    End Sub
      

  5.   

    你说的比较是什么意思?比较简单的方法:
    ADODC1.Recordset.Filter = "日期>" & Format(Date, "yyyy-mm-dd")

    ADODC1.Recordset.Filter = "日期=" & Format(Date, "yyyy-mm-dd")

    ADODC1.Recordset.Filter = "日期<" & Format(Date, "yyyy-mm-dd")
      

  6.   

    If Format(CStr(DataGrid1.Columns.Item(18).Text), "yyyy-mm-dd") = Format(CStr(DateTime.Date), "yyyy-mm-dd") 
    Then ...