For loop 使用Access中的随机值填充一系列文本框-运行时错误3021无当前记录
我试图用一列中的随机值填充一系列文本框。 我先填充第一个文本框,然后返回运行时错误3021-无当前记录。 我检查了这些值,并且尝试检索的记录没有超过表的recordcount。 调试颜色rs。移动随机记录For loop 使用Access中的随机值填充一系列文本框-运行时错误3021无当前记录,for-loop,ms-access,vba,runtime-error,ms-access-2007,For Loop,Ms Access,Vba,Runtime Error,Ms Access 2007,我试图用一列中的随机值填充一系列文本框。 我先填充第一个文本框,然后返回运行时错误3021-无当前记录。 我检查了这些值,并且尝试检索的记录没有超过表的recordcount。 调试颜色rs。移动随机记录 Dim rs As DAO.Recordset Dim recordCount As Long Dim randomRecord As Long Set rs = CurrentDb.OpenRecordset("SELECT * FROM besede")
Dim rs As DAO.Recordset
Dim recordCount As Long
Dim randomRecord As Long
Set rs = CurrentDb.OpenRecordset("SELECT * FROM besede")
rs.MoveLast
rs.MoveFirst
recordCount = rs.recordCount - 1
MsgBox recordCount
Randomize
Dim i As Integer
For i = 1 To 10
randomRecord = Int((recordCount) * Rnd)
rs.Move randomRecord
Controls("t" & i).SetFocus
Controls("t" & i) = rs!test
Next
您正在从当前位置移动光标,因此最终尝试读取记录集末尾的记录。使用
rs.MoveFirst
beforers.moverandomRecord
从记录集的开头移动
查看有关记录集.Move的更多背景信息