我想把两个表的数据连接起来,但是出现串位或丢失的情况,具体程序如下:
    With Rs
      If Not .EOF Then .MoveLast
      If Not .BOF Then .MoveFirst
      
        For i = 0 To myrs.RecordCount - 1
            If i = c(i) Then
                With grid
                    .TextMatrix(i + 1, 4) = Rs.Fields(1)
                    .TextMatrix(i + 1, 5) = Rs.Fields(8)
                    .TextMatrix(i + 1, 6) = Rs.Fields(9)
                End With
                Rs.MoveNext
            Else
               With grid
                    .TextMatrix(i + 1, 4) = b(15)
                    .TextMatrix(i + 1, 5) = b(15)
                    .TextMatrix(i + 1, 6) = b(15)
               End With            End If
        Next i
    End With
代码哪错了?

解决方案 »

  1.   

    If Not .EOF Then .MoveLast
    If Not .BOF Then .MoveFirst这两句干什么的,移来移去的怎么?不过这里应该不是出错的地方你的代码有很多东西不知道从哪里来的,最好贴完整点
      

  2.   

    把 Rs.MoveNext 放在 If 外面,应该任何时候都要MoveNext!
      

  3.   

    With Rs
          do while not .eof      
            For i = 0 To myrs.RecordCount - 1
                If i = c(i) Then
                    With grid
                        .TextMatrix(i + 1, 4) = Rs.Fields(1)
                        .TextMatrix(i + 1, 5) = Rs.Fields(8)
                        .TextMatrix(i + 1, 6) = Rs.Fields(9)
                    End With
                    Rs.MoveNext
                Else
                   With grid
                        .TextMatrix(i + 1, 4) = b(15)
                        .TextMatrix(i + 1, 5) = b(15)
                        .TextMatrix(i + 1, 6) = b(15)
                   End With            End If
            Next i
            .movenext
          loop
        End With
    你的程序不完整,只好这样看看修改了