学生信息管理系统就是一套套的增、删、改、查。 下面我们就来分别分析一下。 一、Add (添加一条记录,以frmAddclassinfo窗体为例) 首先,确保各个文本框不能为空。 用模块中的自定义函数Testtxt来检测文本框是否为空,若为空,弹出警告,文本框获取焦点。 例
学生信息管理系统就是一套套的增、删、改、查。 下面我们就来分别分析一下。
一、Add (添加一条记录,以frmAddclassinfo窗体为例)
首先,确保各个文本框不能为空。 用模块中的自定义函数Testtxt来检测文本框是否为空,若为空,弹出警告,文本框获取焦点。 例如:班号不能为空。
1 2 3 4 5 6 | If Not Testtxt(cboClassNo.Text) Then
MsgBox "请输入班号!" , vbOKOnly + vbExclamation, "警告"
cboClassNo.SetFocus
cboClassNo.Text = ""
Exit Sub
End If
|
Salin selepas log masuk
其次,添加信息不能重复。
1 2 3 4 5 6 7 8 | 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
……
|
Salin selepas log masuk
最后,添加记录成功。
1 2 3 4 5 6 7 8 9 10 11 12 | 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
|
Salin selepas log masuk
二、Delete(删除一条记录这里以frmModifyclassinfo为例。)
用一条MsgBox语句来决定是否删除记录。
1 | str2$ = MsgBox( "是否删除当前记录?" , vbOKCancel, "删除当前记录" )
|
Salin selepas log masuk
OK,删除
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | 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
|
Salin selepas log masuk
cancel,取消删除
1 2 3 4 | <pre name = "code" class= "vb" > Else
mrc.Bookmark=mybookmark
Call viewData
End If
|
Salin selepas log masuk
这里的viewData函数是用来把临时表中的当前记录赋值给各个文本框
1 2 3 4 | cboClassNo.Text = mrc.Fields(0)
cboGrade.Text = mrc.Fields(1)
txtDirector.Text = mrc.Fields(2)
txtClassroom.Text = mrc.Fields(3)
|
Salin selepas log masuk
三、Modify(修改一条记录,这里以frmModifyclassinfo为例。)
首先,点击修改记录时,各文本框可用,查看信息按钮不可用
1 2 3 4 5 6 7 8 | <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>
|
Salin selepas log masuk
其次,同添加记录一样,各文本框不能为空,信息不能重复。修改记录成功
1 2 3 4 5 6 7 8 9 | <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>
|
Salin selepas log masuk
最后,各文本框不可用,查看信息按钮可用。
1 2 3 4 5 6 7 8 | <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>
|
Salin selepas log masuk
四、Inquire(查询记录。) 这里我们有两种查询方式:
(1)直接点击第一条,最后一条,上一条,下一条按钮查询记录。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | <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>
|
Salin selepas log masuk
此查询方法适合于查询记录少的,单个表的查询。
(2)按条件查找想要的数据,并在MSHFlexGrid控件中按顺序显示。
此查询方法适合于查询记录比较多的,表和表之间有联系的查询。按条件查询,并将查询结果排序。