开心!为什么?因为这个项目结束了。惭愧!为什么?因为这个项目拉的时间不是一般的长,来看看多久:2018年8月22日~2018年11月18日。怎么样?时间不短吧!我对自己真是服了!接近尾声之前,我又做了些什么呢?总结,没错,就是总结,主要包括优化和自我的感受!
接下来先看一下优化总结:
问题一:限制输入字符(比如:姓名、学号,电话号码)
姓名:
Private Sub txtSID_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case Is < 0, &H20, &H8
Case Else
KeyAscii = 0
MsgBox “姓名只能输入汉子”
End Select
End Sub
学号、电话号码:
Private Sub Text1_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 48 To 57 '只能输入数字
Case 65 To 90 '只能输入大小写字母
Case 97 To 122 ' 只能输入退格
Case 8 '只能输入退格
Case Else
KeyAscii = 0
End Select
End Sub
或:
'判断是否为数字
If Not IsNumeric(Trim(txtSID/txtTel.Text)) Then
MsgBox "请输入数字!", vbOKOnly + vbExclamation, "警告"
txtSID/txtTel.SetFocus
Exit Sub
End If
问题二:ComboBox能选的,不能修改。例如性别的选择的限制:
Private Sub comboSex_KeyPress(KeyAscii As Integer)
KeyAscii = 0
End Sub
其中,KeyAscii的使用,主要是拦截判断键盘输入的键值,比如,只允许输入数字,就可以在文本框的KeyPress中输入:
If KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 0;(keyAscii=0表示:取消本次输入的字符)
问题三:日期逻辑(出生日期与入学日期)
我们需要添加日期控件,具体方法如下:
第一步:Crtl+T 打开部件找到Microsoft Windows Common Controls-2 6.0 勾选后点击应用。
第二步;在控件内选择日期控件,双击:
第三步:设置出生日期控件和入学日期控件名称分别为:DTPBorndate 和 DTPRudate,这里的出生日期一定是小于入学日期的;
DTBornDate.CustomFormat = "yyyy.mm.dd"
DTRuDate.CustomFormat = "yyyy.mm.dd"
'检验出生和入校时间的关系
If DTBornDate.Value > DTRuDate.Value Then
MsgBox "出生日期必须早于入校日期", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
'给控件变量赋初值
DTBornDate.MaxDate = Date '今天的日期
DTRuDate.MaxDate = Date '今天的日期
'判断时间
If DTBornDate.MaxDate < DTBornDate.Value Then
MsgBox "根据您填写的出生日期,您还没有出生!", vbOKOnly + vbExclamation, "警告"
DTBornDate.SetFocus
DTBornDate.Value = ""
Exit Sub
End If
If DTRuDate.MaxDate < DTRuDate.Value Then
MsgBox "根据您填写的入校日期,您还没有入校!", vbOKOnly + vbExclamation, "警告"
DTRuDate.SetFocus
DTRuDate.Value = ""
Exit Sub
End If
问题四:成绩不合理
Private Sub txtResult_Change()
On Error Resume Next
If Val(Trim(txtResult.Text)) > 120 Then
MsgBox "输入数字过大,请重新输入!"
txtResult.Text = ""
End If
End Sub
加上On Error Resume Next语句,我们在某处加上On Error Resume ,Next这条语句后,随后的程序即便出现"运行时错误"时,也不会显示"出错信息",并且会继续运行下去.
以上就是在优化的过程中遇到的问题,可以说是相当长知识了,项目主要围绕“增、删、改、查”四个方面对不同的内容进行展开,在进行这个项目的起初,自己只是会敲代码,能够理解的不足20%,这段时间下来,通过调试、优化,自己对代码的理解也在潜移默化中提高,虽然还是有些不懂,但自我认为已经满足“二八定律”中的“八”了,自己也是很是欣喜,对自己在这条路上走下去也更加的有信心。
自我感受:做什么之前,自己总是会畏惧,但是终究还是要做,做了之后就发现,也就这样子,再难还能怎么样,事情有大有小,万变不离其宗,万事开头难,先开头,接下来去做就好了。