我尝试使用列中的随机值填充一系列文本框。 我得到第一个文本框填充然后它返回运行时错误3021 - 没有当前记录。 我检查了值,我试图检索的记录不超过该表的记录数。 调试颜色rs.move randomrecord。
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
答案 0 :(得分:0)
您正在从当前位置移动光标,因此最终您尝试读取记录集末尾的记录。使用
在rs.MoveFirst
之前 rs.Move randomRecord
从记录集的开头移动。
查看Office Dev Center以获取有关Recordset.Move
。