vb 6.0 关于rs.movelast的问题为什么只能到第九条记录?

Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
cn.Open "provider=microsoft.ace.oledb.12.0;data source=" & App.Path & "\" & "DB_zhaolu.accdb;persist security info=false"
rs.Open " select * from 招录信息男", cn, adOpenKeyset, adLockOptimistic

Dim nan%
rs.MoveLast
nan = rs.Fields("序号")

我在招录信息表中存放超过9个记录他也只能读取到第九个记录,这是为什么?

rs.Open " select * from 招录信息男 order by id", cn, adOpenKeyset, adLockOptimistic

rs.recordcount试试,看这个数字是不是超过9

rs.MoveFirst
For m = 1 To nan
Dim a(100) As String
a(m) = rs.Fields("招录单位")
Me.Controls("zwk" & m).Caption = a(m)
rs.MoveNext
Next m
这段代码,本应该出现在zwk10.caption上的数据会出现在zwk2.caption上,我是初学者,是不是rs
移动规则的问题,求教正确的代码要怎么改