我也遇到过。参考 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
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