没看懂你写的东西:
这个不知道有没有用
"update 表1,表2 set 表1.b=表2.e From 表1,表2 where 表1.a>表2.c and 表.a<表2.d "

解决方案 »

  1.   

    你的记录集没有移动呀,那里有rsDes.movenext????
      

  2.   

    Private Sub Command1_Click()
    Dim rsTemp As ADODB.Recordset
    Dim rsDes As ADODB.Recordset
    Dim strDes As String
    Dim strTemp As String
    Dim i As Integer
    dim j as long 
    Set rsTemp = New ADODB.Recordset
    Set rsDes = New ADODB.Recordset
    strTemp = "select * from info "
    strDes = "select * from info2"
    If rsDes.State = adStateOpen Then rsDes.Close
    If rsTemp.State = adStateOpen Then rsTemp.Close
    rsTemp.Open strTemp, cnTemp, adOpenDynamic, adLockOptimistic
    rsDes.Open strDes, cnDes, adOpenDynamic, adLockOptimistic
    '  If rsDes.EOF And rsDes.BOF Then rsDes.AddNew  这句不要
    for j =1 to rsDes.recordcount
      For i = 0 To rsTemp.Fields.Count - 1
        If Not IsNull(rsTemp(rsTemp(i).Name)) Then
          rsDes(rsTemp(i).Name) = Trim(rsTemp(rsTemp(i).Name))
        End If
      Next
      rsDes.Update
      rsDes.movenext
    next j
    MsgBox "sucess!!!!!"End Sub
      

  3.   

    rsDes(rsTemp(i).Name) 这种用法很不科学
    直接rsDes(i)就行了,要不rsDes(i).Value
      

  4.   

    把rsDes.Update
    改为rsDes.updatebatch
      

  5.   

    to songyangk(小草):一条纪录也加不上去!????
      

  6.   

    '  If rsDes.EOF And rsDes.BOF Then rsDes.AddNew  这句不要
    改成  rsDes.AddNew
      

  7.   

    不行!还是只加进去了一条纪录。我其实就是想把temp.mdb中的数据全都加到des.mdb中去
    。info是temp中的表。info2是des中的表.字段都一样。
      

  8.   

    Set rsTemp = New ADODB.Recordset
    Set rsDes = New ADODB.Recordset
    strTemp = "select * from info "
    strDes = "select * from info2"
    If rsDes.State = adStateOpen Then rsDes.Close
    If rsTemp.State = adStateOpen Then rsTemp.Close
    rsTemp.Open strTemp, cnTemp, adOpenDynamic, adLockOptimistic
    rsDes.Open strDes, cnDes, adOpenDynamic, adLockOptimisticfor j = 1 to rsTemp.recordcount
      rsDes.AddNew  For i = 0 To rsTemp.Fields.Count - 1
        If Not IsNull(rsTemp(rsTemp(i).Name)) Then
          rsDes(rsTemp(i).Name) = Trim(rsTemp(rsTemp(i).Name))
        End If
      Next
      rsDes.Update
    rstemp.movenext
    next j
    MsgBox "sucess!!!!!"
      

  9.   

    for j =1 to rsDes.recordcount
    改成
    for j = 1 to rsTemp.recordcount
      

  10.   

    还是不行!有错误!
    empty now cannot be inserted .row must have at least one 
    column value set 
      

  11.   

    在这句的上面加一句rsdes.movelast
      

  12.   

    ok,let me try it on.
      

  13.   

    究竟是增加,还是更改?
    若是增加用:rsDes.AddNew
    若是更改用:rsDes.Edit
    最后别忘了rsDes.Update。
    另外,直接读rsTemp.recordcount是不行的,
    要加上两句
    rsTemp.movefirst
    rsTmp.movelast
    否则rsTemp.recordcount是等于1的。
    希望能够解决。
      

  14.   

    还是不行!这次是 rsdes.movlast 错了!
      

  15.   

    你的锁定游标写错了,不应该用adLockOptimistic
    应该用adLockPessimistic
      

  16.   

    haitao5676(笑纹) :对了!!!!!!!!!!!!对了!!!!!!
    你说的对了!!!
    songyangk(小草) :我一直在线
      

  17.   

    songyangk(小草) :为什么我看不到你???
      

  18.   

    haitao5676(笑纹):是的。谢谢!
    也谢谢所有来这里的人!!!谢谢!!!!我十分感谢!!!
    songyangk(小草) :我看不到你!!
      

  19.   

    你是不是要把表一更新的纪录保存到表二里面去?如果是这样的话,我建议你把strTemp这个sql语句重新构造一下,只用在strtemp中查询出更新过的记录集。