【序言】学生管理的第二篇总结,接着上一篇,尽可能的优化系统,将最大的便利给予用户。
===============================================================================
【问题3】怎样防止当删除完所有记录时EOF与BOF报错?
这时已经是记录集中剩余的最后一条记录了,
当我们删除完了之后,我们可以给予提示,这样就避免了记录集中没有记录时,继续删除而报错了,
或者添加异常处理:
<pre name="code" class="vb">On Error GoTo d_Err
d_Err:
txtSID.Text = ""
txtName.Text = "'"
txtRudate.Text = ""
txtBorndate.Text = ""
txtComment.Text = ""
txtTel.Text = ""
txtAddress.Text = ""
comboSex.Text = ""
comboClassNo.Text = ""
MsgBox "所有记录都被删除,记录集为空!",vbOKOnly + vbExclamation,"警告"
Unload Me
【问题4】查询界面的固定行如何更改?
运行时查询界面是这样的:
很奇怪第一行上面为什么多了一行空行,经过考究,其实这是系统默认的属性值和我们编写代码的原因。
先把MSHFlexGrid控件属性的固定行值改为0,然后进行代码的更正
<pre name="code" class="vb"><pre name="code" class="vb">
With myflexgrid '列表标题
.Rows = 1
.CellAlignment = 4
.TextMatrix(0,0) = "考试编号"
.TextMatrix(0,1) = "学号"
.TextMatrix(0,2) = "姓名"
.TextMatrix(0,3) = "班号"
.TextMatrix(0,4) = "课程名称"
.TextMatrix(0,5) = "分数"
End With
'如果没有查询的信息,提示
If mrc.EOF Then
MsgBox "没有你想要的信息"
End If
Do While Not mrc.EOF
With myflexgrid
.Rows = .Rows + 1
.CellAlignment = 4
.TextMatrix(.Rows - 1,0) = mrc.Fields(0)
.TextMatrix(.Rows - 1,1) = mrc.Fields(1)
.TextMatrix(.Rows - 1,2) = mrc.Fields(2)
.TextMatrix(.Rows - 1,3) = mrc.Fields(3)
.TextMatrix(.Rows - 1,4) = mrc.Fields(4)
.TextMatrix(.Rows - 1,5) = mrc.Fields(5)
mrc.MoveNext
End With
Loop