学生信息系统管理(优化篇)

引言

学生信息管理系统本身的代码和结构逻辑并不是那么的难,但是调错和优化确实花了我不少的时间,特别是优化,之前又没有任何的积累,做起来一点思路都没有。然后通过不断的在网上查找资料和师父现场验收时提出的问题总结,才有了今天的结果。

 

正文

一、特殊字符的限制:关于这类的限制市面上有非常多的方法,下面我给大家呈现几种方法供大家参考,其实吧,只是大家不想动脑,他们都一样,只是表达的方式不同罢了,如果那点没有实现功能那一定是我们自己还对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属性进行更改。

 

2combobox框的限制(只能被选择不能进行输入):

这个简单,直接将控件的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就可以用回车代替点击这个按钮了。

 

五、溢出问题:(常见的有时间的溢出和字符串的溢出)

字符串的溢出:我们设置一下Textmaxlength的属性,让它和数据库中允许最大长度相同就可以了,如果是手机号,还需要修改数据库中的最大长度值

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  

 

 

总结

通过学生系统的调试确实有了不小的提高,但是还远远没有达到理想的水平。平时没事的时候我们其实还有很多的值得思考的问题,思考之一是我们站在巨人肩膀上学来的知识变成自己的了吗?

猜你喜欢

转载自blog.csdn.net/whc888666/article/details/78894789
今日推荐