前段时间我们使用VB做了学生管理系统和机房收费系统,都是连接数据库的,大多数操作几乎都是对数据库中表的操作。其中存在一个问题就是:有很多窗体都是类似的,窗体中的控件都几乎是一样的,当对数据库中的表添加记录或者是修改的时候都需要对窗体中文本框中的字符串是否为空进行判断。如果在每个窗体中都这样判断,重复的东西非常的多,无疑会造成软件的内聚性不够强。
下面我是把这些判断的代码放到了一个模块中的公有函数中进行判断,再在窗体的代码中进行函数的调用来判断。具体代码仅供参考:
模块中的代码:
Public Sub IsEmpty(pForm As Form) '模块中定义公有过程判断窗体中的文本框有否有为空的
Dim a As Control
For Each a In pForm.Controls '对窗体中的控件逐个遍历
If a.Name = "txtSno" Then '判断控件的名称,根据名称进行操作
If a.Text = "" Then
MsgBox "学号不能为空", vbOKOnly, "错误"
End If
ElseIf a.Name = "txtName" Then
If a.Text = "" Then
MsgBox "姓名不能为空", vbOKOnly, "错误"
End If
ElseIf a.Name = "txtSex" Then
If a.Text = "" Then
MsgBox "性别不能为空", vbOKOnly, "错误"
End If
ElseIf a.Name = "txtSchool" Then
If a.Text = "" Then
MsgBox "学校不能为空", vbOKOnly, "错误"
End If
End If
Next
End Sub
窗体界面:
Private Sub cmdCheck_Click()
Call IsEmpty(Me) '调用模块中定义的公有过程
End Sub
代码虽少,但是对其他的窗体会有很大的作用,方便很多