读书人

VB中dao组件返回rs.recordcount前后两

发布时间: 2012-03-20 14:01:11 作者: rapoo

VB中dao组件返回rs.recordcount前后两个数据为什么不一样,请高手指点?
Private Sub Command1_Click()

Dim db As Database
Dim rs As Recordset

Set db = DBEngine.OpenDatabase(App.Path & "\test.xls", False, False, "Excel 8.0;")
SQL = "select * from [sheet1$]"
Set rs = db.OpenRecordset(SQL)
Print App.Path

Print "rs.RecordCount=", rs.RecordCount
Print rs.Fields.Count

For i = 0 To 5
Print rs.Fields("姓名")
rs.MoveNext
Next

rs.MoveFirst

Print "rs.RecordCount=", rs.RecordCount

Do
Print rs.Fields("分数")
rs.MoveNext
Loop Until rs.EOF

Print rs.EOF


End Sub

[解决办法]
真是个悲催的方法:)

The RecordCount property doesn't indicate how many records are contained in a dynaset-, snapshot-, or forward-onlytype CdbRecordset object until all records have been accessed.
Once the last record has been accessed, the RecordCount property indicates the total number of undeleted records in the CdbRecordset or CdbTableDef object.

读书人网 >VB

热点推荐