因为我们在添加日期的时候要求格式,如果格式不对,也不能正常添加,会提示格式重新添加。输入格式式的日期很麻烦,还可能出错,所以,设置一个日历,让用户自己选择即可。
我们先添加部件Microsoft Windows Common Controls-2 6.0,之后将它的visible属性设为false。每当我们点击日期文本框的时候,日历弹出来便可以选择日期,选完之后再隐藏。
代码如下:
Private Sub MonthView1_DateClick(ByValDateClicked As Date)
txtBorndate.Text = MonthView1.Year & "-" &MonthView1.Month & "-" & MonthView1.Day
MonthView1.Visible = False
End Sub
Private Sub MonthView2_DateClick(ByValDateClicked As Date)
txtRudate.Text = MonthView2.Year & "-" &MonthView2.Month & "-" & MonthView2.Day
MonthView2.Visible = False
End Sub
Private Sub txtBorndate_Click()
MonthView1.Visible = True
End Sub
Private Sub txtRudate_Click()
MonthView2.Visible = True
End Sub
优化2、出生日期和入校日期比较
因为我们只有出生了才能入校,所以出生日期一定比入校日期早。但是当用户添加的时候不保证不会手抖,让出生日期比入校日期晚,所以我们当添加学籍的时候要进行一下比较才能将信息导入数据库。
代码如下:
Dim a as integer
a = DateDiff("d", txtRudate.Text,txtBorndate.Text)
If a> 0 Then
MsgBox"出生日期应早于入校日期!!请修改……", vbOKOnly, "警告"
Exit Sub
' txtRudate.Text = ""
' txtRudate.SetFocus
EndIf
优化3、电话号码
因为电话号码分为手机号和座机号,位数不一样,但是每个人在输自己的联系方式时,不能确定是否不会因为手误少输一位,所以我们要设置一个提示,以确保用户输对了电话。首先我们要先限制联系方式的输入框最多输入11位。之后添加代码:
IfLen(txtTel.Text) < 11 Then
str2$ = MsgBox("你的电话号码不到11位吗?确定输对了吗?", vbOKCancel, "提示")
If Not str2$ = vbOK Then
txtTel.SetFocus
Exit Sub
End If
EndIf
这样当电话输到11位时,添加成功,不到11为会提示再检查一遍。
优化4、限制成绩输入大小
当我们添加成绩的时候,一定要限制成绩的大小输入,否则无限制的输入不符合我们这个系统的初衷。代码如下:
Private SubText1_Change()
On Error Resume Next
If Val(Trim(Text1.Text)) > 100 Then
MsgBox "输入数字过大,请重新输入"
Text1.Text = ""
End If
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii >= 33 Then
If KeyAscii <= vbKey9 And KeyAscii >= vbKey0 Then
Else
KeyAscii = 0
MsgBox "请输入数字!"
End If
End If
End Sub
这样我们成绩只能输入比100小的数啦……
全心全意为人民服务的道路很长,我们还在路上………………