vb中的3021实时错误是怎么回事?

2025-04-03 06:57:05
推荐回答(3个)
回答1:

实时错误'3021',BOF或EOF中有一个是"真",或者当前的记录以被删除

出现此错误是因为:
1.查找的数据库记录为空..可以用 rs.RecordCount 来判断数据是否等于0

2.查找到数据后,用 Del 命令删除记录后,再引用 Fields 后会出现错误.

3.已经用MoveFirst 或用 MovePrevious 命令 移动至数据库开始后再用 MovePrevious 命令.

4.已经用MoveLast 或用 MoveNext 命令 移动至数据库开始后再用 MoveNext 命令.

因为你的数据表未知,你使用相关报错输出命令看下,以上四点你属于哪一点,就知道如何排错了。

希望对您有所帮助,祝好运
有任何疑问请追问,满意请采纳,谢谢

来自团队:众里寻他千百度

回答2:

没有记录,何以有末尾?
把 If Not Adodc2.Recordset.EOF Then
换成 If Adodc2.Recordset = Nothing Then

回答3:

在 If Not Adodc2.Recordset.EOF Then 语句前加一句 on error reume next