标题: 为什么recordcount的值为-1 [打印本页] 作者: feier 时间: 2003-6-5 00:28 标题: 为什么recordcount的值为-1 我有二条Recoreset,现在我要将这二条recordset(record1、record2)互相对比,看record1里有没有record2不同的数据,或record2中有没有record1不同的数据,逐条逐条对比,而我所有的表都是通过[B]ADO[/B]的方式访问的,为什么当我如下那样写:
record1.MoveFirst
For i = 1 To record1.[B]RecordCount[/B]这个recordcount的值为1
record2.MoveFirst
For j = 1 To record2.[B]RecordCount[/B]这个recordcount的值为-1
If record1(i) = record2(j) Then
Exit For
Else
j = j + 1
End If
Next j
If record2.EOF Then
Exit For
End If
Next i作者: Trynew 时间: 2003-6-5 04:44
数据表记录数较大或SQL数据库,Recoreset不会返回所有记录,recordcount的值为-1表示记录数为未知。
可以先执行recordset.MoveLast,再recordset.MoveFirst,可以取得正确recordcount。
也可以用do 循环代替For 循环,即
Do while not recordset.Eof
......
recordset.MoveNext
Loop
这样不用取得记录数即可遍历所有记录,进行处理。 作者: feier 时间: 2003-6-5 18:30
加了record1.movelast
record1.MoveFirst
For i = 1 To record1.RecordCount这个recordcount的值有了
加了 record2.movelast
record2.MoveFirst
For j = 1 To record2.RecordCount但这个recordcount的值仍为-1
If record1(i) = record2(j) Then
Exit For
Else
j = j + 1
End If
Next j
If record2.EOF Then
Exit For
End If