下面有一段VB代码,运行时总是出错,请高手看看是怎么回事

代码:Dimtemp()AsLongAdodc1.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;datasourc... 代码:
Dim temp() As Long
Adodc1.ConnectionString = "Provider= Microsoft.Jet.OLEDB.4.0;data source=G:\我编的小程序\巅峰考试系统\mdb\test.mdb;Persist Security Info=False"
Adodc1.RecordSource = "select * from 单项选择题" '复制时这里也要改
Adodc1.Refresh
c = Adodc1.Recordset.RecordCount
upperbound = c - 1
lowerbound = 0
ReDim Preserve temp(0)
For i = 0 To 4
Randomize
ReDim Preserve temp(UBound(temp) + 1)
111:
temp(UBound(temp)) = Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
For r = 1 To UBound(temp)
If temp(r) = temp(UBound(temp)) And r <> UBound(temp) Then GoTo 111
Next r
Adodc1.Recordset.Move temp(UBound(temp))
Next i
出错提示:BOF或EOF中有一个是“真”……
出错的语句:Adodc1.Recordset.Move temp(UBound(temp))
回答的好的,我可以追加。
展开
 我来答
Lyh_008
2012-01-21 · TA获得超过115个赞
知道小有建树答主
回答量:233
采纳率:0%
帮助的人:148万
展开全部
Recordset.Move 是相对移动,不是绝对移动,所以出错的这条语句使Recordset记录指针移动超过了总记录数
bbdream1729
2012-01-23 · TA获得超过100个赞
知道答主
回答量:113
采纳率:0%
帮助的人:93万
展开全部
BOF或EOF中有一个是“真”……
这错我也出过。。。我出错的时候一般是说数据库里面没有这项东西
但对于我之前做的程序来说出这个错是必然的
所以在头上加了on error resume next
你也可以看着改成on error goto xx的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友bdb9803
2012-01-22 · TA获得超过1.1万个赞
知道大有可为答主
回答量:1.1万
采纳率:53%
帮助的人:1亿
展开全部
for... next...中绝对不能用goto跳出,这是编程大忌,实际上VB中最好不要用GOTO语句。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式