下面有一段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))
回答的好的,我可以追加。 展开
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))
回答的好的,我可以追加。 展开
3个回答
展开全部
BOF或EOF中有一个是“真”……
这错我也出过。。。我出错的时候一般是说数据库里面没有这项东西
但对于我之前做的程序来说出这个错是必然的
所以在头上加了on error resume next
你也可以看着改成on error goto xx的
这错我也出过。。。我出错的时候一般是说数据库里面没有这项东西
但对于我之前做的程序来说出这个错是必然的
所以在头上加了on error resume next
你也可以看着改成on error goto xx的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
for... next...中绝对不能用goto跳出,这是编程大忌,实际上VB中最好不要用GOTO语句。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询