如何写判断语句,然后执行cancelupdate?

解决方案 »

  1.   

    我也遇到过。参考  
        Do While Not (.EOF)
                i = i + 1
                j = i + 1               '内层循环起始行=I+1
                .AbsolutePosition = i   '比较的源,外层循环
                str1 = .Fields("姓名")
                str2 = .Fields("单位")
                .AbsolutePosition = j   '内层循环初值
                While Not (.EOF)
        
                    str3 = .Fields("姓名")
                    str4 = .Fields("单位")
                    If (str1 = str3) And (str2 = str4) Then
                        .Delete         '删掉后,后边记录自动上前,故J不加1
                    Else
                        j = j + 1
                    End If
                    .AbsolutePosition = j
                    'MsgBox "! " & j & "! " & i
                Wend
                '.MoveLast
                'k = .AbsolutePosition
                .AbsolutePosition = i
                .MoveNext               '及以下判断是否到EOF前一行
                If Not (.EOF) Then
                    .MoveNext
                End If
            Loop
            
            .MoveFirst
            i = 1
            While Not (.EOF)
                '.AbsolutePosition = j
                .Fields("供应商ID").Value = i
                .Update
                .AbsolutePosition = .AbsolutePosition + 1
                i = i + 1
            Wend
        
            .UpdateBatch                'problem