引言
学生信息管理系统本身的代码和结构逻辑并不是那么的难,但是调错和优化确实花了我不少的时间,特别是优化,之前又没有任何的积累,做起来一点思路都没有。然后通过不断的在网上查找资料和师父现场验收时提出的问题总结,才有了今天的结果。
正文
一、特殊字符的限制:关于这类的限制市面上有非常多的方法,下面我给大家呈现几种方法供大家参考,其实吧,只是大家不想动脑,他们都一样,只是表达的方式不同罢了,如果那点没有实现功能那一定是我们自己还对Ascii表不熟悉或者对怎么带如代码不会用。
第一种:可以限制住特殊的标点符号,数字没有被限制,但是汉字也会被当做特殊字符被限制,如果要使用特殊字符的,建议大家不要采用这种方法限制
Private SubtxtClassno_KeyPress(KeyAscii As Integer)
If (KeyAscii < 48 Or KeyAscii > 57)And (KeyAscii < 97 Or KeyAscii > 122) And KeyAscii <> 8 Then
KeyAscii = 0
MsgBox "不能输入特殊字符!"
End If
End Sub
第二种:这种可以限制特殊字符、数字、空格。只能输入汉字和字母。本人觉得这个比较好,很多文本框的限制都可以用。
Private SubtxtCoursename_KeyPress(KeyAscii As Integer)
If KeyAscii < 0 Or KeyAscii = 8 Or KeyAscii= 13 Then
ElseIf Not Chr(KeyAscii) Like"[a-zA-Z]" Then
KeyAscii = 0
End If
End Sub
第三种:这种能限制很多,如果不想要那个直接把相关的那段Case删了就好了。
Private Subtext1_KeyPress(Index As Integer, 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
第四种:限制数字大小,这个适合输入成绩的对话框。
Private SubtxtResult_Change()
On Error Resume Next
IfVal(Trim(txtResult.Text)) > 100 Then
MsgBox"输入数字过大,请重新输入"
txtResult.Text =""
End If
End Sub
二、文本框的限制问题(学生系统下的所有文本框都可以参照下面的方法进行调试)。
1、电话号码的限制,大概有两种:
第一种,数据库直接修改;
第二种,在文本框的MaxLen属性进行更改。
2、combobox框的限制(只能被选择不能进行输入):
这个简单,直接将控件的Style设置为2就好了,把BackColor设置为&H8000000E&
3、添加学籍的时候需要在text中输入出生日期和入学日期,而且还要求yyyy-mm-dd格式,比较麻烦,所以这里调用DTPicker控件。方法如下:
(1).首先在工程—部件中添加 Microsoft Windows CommonControls-2 6.0,在工具栏中就会出现MonthView控件和DTPicker控件。
(2).然后在添加学籍的窗体上添加这两个控件,DTPicker控件和combobox看上去一样,MonthView控件像个小日历,这两个控件配合使用。注意需要把MonthView控件的visible属性值设置成false。如果用户觉得这种方法不好使,也可以在DTPicker控件处用鼠标点击,变为蓝色后,直接选择年、月、日。
三、窗口退出时的提示代码:
Private SubexitMenu_Click()
a = MsgBox("确定退出系统吗?", vbOKCancel, "关闭程序")
If a = vbOK Then
End
Cancel = False
End If
End Sub
四、用回车代替点击确定
有时候用机房电脑的时候,登陆学生,如果用鼠标点确定的话总是会自动关闭VB,也不知道原因,但是用回车代替的话就没事了。这要用到Comand命令按钮的一个属性Default。设置成True就可以用回车代替点击这个按钮了。
五、溢出问题:(常见的有时间的溢出和字符串的溢出)
字符串的溢出:我们设置一下Text的maxlength的属性,让它和数据库中允许最大长度相同就可以了,如果是手机号,还需要修改数据库中的最大长度值 。
If DateDiff("d",CDdate(txtBorndate.Text),"1753-01-01">0 Then
MsgBox "出生日期请输入1753年以后的年份!",vbOKOnly + vbExclamation,"警告"
txtBorndate.SetFocus
exit Sub
六、出生日期晚于入学日期:
在添加学籍的时候,如果你的出生日期晚于入学日期是可以添加成功的,但是在现实中是不可能的事,下面有两种办法解决:
方法1:
Dim borndate As Date
Dim getdate As Date'定义变量
borndate =Trim(txtBorndate.Text)
getdate =Trim(txtRudate.Text)
If getdate<=borndate then'进行比较
MsgBox"入学时间不能早于出生时间,请重新输入",vbOKOnly + vbInformation,"警告"
txtRudate.SetFocus
Exit Sub
End If
总结
通过学生系统的调试确实有了不小的提高,但是还远远没有达到理想的水平。平时没事的时候我们其实还有很多的值得思考的问题,思考之一是我们站在巨人肩膀上学来的知识变成自己的了吗?