学生信息管理系统就是一套套的增、删、改、查。
下面我们就来分别分析一下。
一、Add (
添加一条记录,以frmAddclassinfo窗体为例)
首先,确保各个文本框不能为空。
用模块中的自定义函数Testtxt来检测文本框是否为空,若为空,弹出警告,文本框获取焦点。
例如:班号不能为空。
If Not Testtxt(cboClassNo.Text) Then
MsgBox "请输入班号!", vbOKOnly + vbExclamation, "警告"
cboClassNo.SetFocus
cboClassNo.Text = ""
Exit Sub
End If
其次,添加信息不能重复。
txtSQL = "select * from class_Info where class_No='" & Trim(cboClassNo.Text) & "'"
Set mrc = ExecuteSQL(txtSQL, MsgText)
If Not (mrc.EOF And mrc.BOF) Then '确保输入的班号不存在
MsgBox "请重新输入班号!", vbOKOnly + vbExclamation, "警告"
cboClassNo.SetFocus
mrc.Close
Else
……
最后,添加记录成功。
txtSQL = "select * from class_Info"
Set mrc = ExecuteSQL(txtSQL, MsgText)
mrc.AddNew
mrc.Fields(0) = Trim(cboClassNo.Text)
mrc.Fields(1) = Trim(cboGrade.Text)
mrc.Fields(2) = Trim(txtDirector.Text)
mrc.Fields(3) = Trim(cboClassNo.Text)
mrc.Update
mrc.Close
Me.Hide
MsgBox "班级信息添加成功!", vbOKOnly + vbExclamation, "添加班级信息"
End If
二、Delete(
删除一条记录这里以frmModifyclassinfo为例。)
用一条MsgBox语句来决定是否删除记录。
str2$ = MsgBox("是否删除当前记录?", vbOKCancel, "删除当前记录")
OK,删除
If str2$ = vbOK Then
<span style="white-space:pre"> </span>mrc.MoveNext
If mrc.EOF Then
<span style="white-space:pre"> </span>mrc.MoveFirst
myBookmark = mrc.Bookmark
mrc.MoveLast
mrc.Delete
mrc.Bookmark = myBookmark
Call viewData
Else
myBookmark = mrc.Bookmark
mrc.MovePrevious
mrc.Delete
mrc.Bookmark = myBookmark
Call viewData
End If
cancel,取消删除
<pre name="code" class="vb">Else
mrc.Bookmark=mybookmark
Call viewData
End If
这里的viewData函数是用来把临时表中的当前记录赋值给各个文本框
cboClassNo.Text = mrc.Fields(0)
cboGrade.Text = mrc.Fields(1)
txtDirector.Text = mrc.Fields(2)
txtClassroom.Text = mrc.Fields(3)
三、Modify(
修改一条记录,这里以frmModifyclassinfo为例。)
首先,点击修改记录时,各文本框可用,查看信息按钮不可用
<span style="font-size:18px;">cboClassNo.Enabled=True
cboGrade.Enabled=True
txtDirector.Enabled=True
txtClassroom.Enabled=True
cmdFirst.Enabled=False
cmdPrevious.Enabled=False
cmdNext.Enabled=False
cmdLast.Enabled=False</span>
其次,同添加记录一样,各文本框不能为空,信息不能重复。
修改记录成功
<span style="font-size:18px;">mrc.AddNew
mrc.Fields(0) = Trim(comboClassNo.Text)
mrc.Fields(1) = Trim(comboGrade.Text)
mrc.Fields(2) = Trim(txtDirector.Text)
mrc.Fields(3) = Trim(txtClassroom.Text)
mrc.Update
MsgBox "班级信息修改成功!", vbOKOnly + vbExclamation, "警告"
mrc.Bookmark = mybookmark
Call viewData</span>
最后,各文本框不可用,查看信息按钮可用。
<span style="font-size:18px;">cboClassNo.Enabled=False
cboGrade.Enabled=False
txtDirector.Enabled=False
txtClassroom.Enabled=False
cmdFirst.Enabled=True
cmdPrevious.Enabled=True
cmdNext.Enabled=True
cmdLast.Enabled=True</span>
四、Inquire(
查询记录。)
这里我们有两种查询方式:
(1)直接点击第一条,最后一条,上一条,下一条按钮查询记录。
<span style="font-size:18px;">Private Sub cmdFirst_Click() '记录集移动到第一条
mrc.MoveFirst
Call viewData
End Sub
Private Sub cmdLast_Click() '记录集移动到最后一条
mrc.MoveLast
Call viewData
End Sub
Private Sub cmdNext_Click() '记录集移动到下一条
mrc.MoveNext
If mrc.EOF Then
mrc.MoveFirst
End If
Call viewData
End Sub
Private Sub cmdPrevious_Click() '记录集移动到上一条
mrc.MovePrevious
If mrc.BOF Then
mrc.MoveLast
End If
Call viewData
End Sub</span>
此查询方法适合于查询记录少的,单个表的查询。
(2)按条件查找想要的数据,并在MSHFlexGrid控件中按顺序显示。
此查询方法适合于查询记录比较多的,表和表之间有联系的查询。按条件查询,并将查询结果排序。