错误描述
在敲学生信息管理系统的时候,我们都遇到过这个错误。
错误原因
1.查找的数据库记录为空.
2.查找到数据后,用 Del 命令删除记录后,再引用 Fields 后会出现错误.
3.已经用MoveFirst 或用 MovePrevious 命令 移动至数据库开始后再用 MovePrevious 命令.
4.已经用MoveLast 或用 MoveNext 命令 移动至数据库开始后再用 MoveNext 命令.
说的通俗一点,就是数据库中没有了数据。
解决办法
1、添加错误处理。
Private Sub Form_Load() 运行修改学籍窗体
Dim txtSQL As String
Dim MsgText As String
txtSQL = "select * from student_Info"
Set mrc = ExecuteSQL(txtSQL, MsgText) 得到student表,并显示出来
On Error GoTo dateErr 如果有错误直接执行dateErr那一步
mrc.MoveFirst
Call viewData
myBookmark = mrc.Bookmark
mcclean = True
dateErr:
If Err =3021 Then
MsgBox"没有数据"
End If
end sub
2.添加判断,判断数据中是否有需要查询的表中数据
Private Sub Form_Load()‘运行修改学籍窗体
Dim txtSQL As String
Dim MsgText As String
Dim str1 As String '自己加的
'得到student表
txtSQL = "select * fromstudent_Info"
Set mrc = ExecuteSQL(txtSQL, MsgText)
If mrc.EOF = False Then ‘先判断是否还有记录,如果还有记录
mrc.MoveFirst
Call viewData
myBookmark = mrc.Bookmark
mcclean=True
Else ‘如果没有记录
str1 =MsgBox("没有学籍信息,是否添加学籍信息?", vbOKCancel, "提示")
If str1 = vbOK Then ‘点击确定
unload frmModifysinfo ‘当前窗体卸载
frmAddsinfo.Show ‘添加学籍窗体运行
Else ‘点击取消
Unload frmModifysinfo ‘当前窗体卸载
End If
End If
End Sub