----------------------------------------------------------------
adoConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
             "Data Source=" & App.Path & "\MyExcel.xls;" & _
             "Extended Properties=""Excel 8.0;HDR=No'"""
adoRS.Open "Select * from [Sheet1$]", adoConn, adOpenStatic
adoRS.Move (2)
   Do While Not adoRS.EOF
      aaa = adoRS.Fields.Item(0).Value    -->日期
        For j = 0 To 10
            DataGrid1.Row = 1
            DataGrid1.Col = 1
            bbb = DataGrid1.Text    -->日期
            
            If Format(aaa, "yyyy-mm-dd") = Format(bbb, "yyyy-mm-dd") Then
            
            adoRS.Fields.Item(13).Value = 100            End If
            
            Next j
            adoRS.MoveNext
            
    Loop
-----------------------------------------------------------------------------
目的是想判断datagrid和sheet1里的日期相同时,将数据写入sheet1的第13行对应的地方可是我这样写,执行后 提示,指定的数据集无法更新大侠帮我看看 怎么解决啊???  谢谢

解决方案 »

  1.   

    adoConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                 "Data Source=" & App.Path & "\MyExcel.xls;" & _
                 "Extended Properties=""Excel 8.0;HDR=No'"""
    adoRS.Open "Select * from [Sheet1$]", adoConn, adOpenDynamic ,adLockBatchOptimistic 
    adoRS.Move (2)
       Do While Not adoRS.EOF
          aaa = adoRS.Fields.Item(0).Value    -->日期
            For j = 0 To 10
                DataGrid1.Row = 1
                DataGrid1.Col = 1
                bbb = DataGrid1.Text    -->日期
                
                If Format(aaa, "yyyy-mm-dd") = Format(bbb, "yyyy-mm-dd") Then
     
                adoRS.Fields.Item(13).Value = 100            End If
                
                Next j
                adoRS.MoveNext
                
        Loop
        adoRS.updateBatch试一下
      

  2.   

    那你还是不要这样写了
    直接在VB中操作Excel好了
    不要用Ado