Dim Rs As ADODB.Recordset
Set Rs = New ADODB.Recordset
Rs.Open "select * from Table1", CON, adOpenDynamic, adLockOptimistic
Do While Not Rs.EOF
msgbox "當前位置:" Str(Rs.AbsolutePosition) & "/" & "記錄總數:" & Str(Rs.RecordCount)
Rs.MoveNext
Loop
Set Rs = New ADODB.Recordset
Rs.Open "select * from Table1", CON, adOpenDynamic, adLockOptimistic
Do While Not Rs.EOF
msgbox "當前位置:" Str(Rs.AbsolutePosition) & "/" & "記錄總數:" & Str(Rs.RecordCount)
Rs.MoveNext
Loop
rs.MoveLast
rs.recordCount
具体你查查MSDN
Set Rs = New ADODB.Recordset
Rs.Open "select * from Table1", CON, adOpenDynamic, adLockOptimistic
Do While Not Rs.EOF
msgbox "当前位置:" Str(Rs.AbsolutePosition) & "/" & "记录总数:" & Str(Rs.RecordCount)
Rs.MoveNext
Loop
否则.recordcount返回值为-1
Private CON As ADODB.Connection
Private Sub Form_Load()
Set CON = New ADODB.Connection
With CON
.CommandTimeout = 500
.ConnectionString = "Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=C:\Program Files\Microsoft Visual Studio\VB98\abc.mdb"
.CursorLocation = adUseClient
.Open
End With
End SubPrivate Sub Command1_Click()
Dim Rs As ADODB.Recordset
Set Rs = New ADODB.Recordset
Rs.Open "select * from qq", CON, adOpenDynamic, adLockOptimistic
Do While Not Rs.EOF
msgbox "当前位置:" & Str(Rs.AbsolutePosition) & "/" & "记录总数:" & Str(Rs.RecordCount)
Rs.MoveNext
Loop
End Sub
以上语句在我的电脑上调试通过了。请将包含adOpenDynamic的语句贴出来。