引言

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

正文

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

总结

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

学生信息系统管理——优化总结(干货篇二)相关推荐

  1. 学生信息管理系统(VB 干货篇三)

    引言 最近一直在学生信息管理系统徘徊不前,不敢进入机房.分析其主要原因是之前的知识学的有点Low,不敢前进,怕进到机房也是停着,所以一直徘徊在这里.因此最近总结了很多VB中的基础知识.比如:常用的函数 ...

  2. c语言成绩管理系统开题报告,学生信息管理系统,开题报告(共篇).doc

    学生信息管理系统,开题报告(共篇).doc 学生信息管理系统,开题报告(共10篇) :开题 信息管理系统 报告 学生 论文开题报告有查重吗 居民信息网络管理系统 学生信息管理系统c语言 篇一:学生信息 ...

  3. 学生信息管理系统—优化错误篇

    [前言] 在我们敲学生信息管理系统的时候,难免会碰到错误.但是只要我们不犯低级错误,理清各个窗体的逻辑或运行过程,其实错误还不是很多.因为毕竟学生信息管理系统我们还可以参考给的那本pdf书,这本书中的 ...

  4. 学生信息管理系统—优化总结part2

    学生信息管理系统无时无刻不在进行优化,接下来继续给大家分享我对学生信息管理系统的优化,希望对大家有所帮助哦. 一.显示当前数据位置 Private Sub nextCommand_Click()If ...

  5. JAVA登录界面学生和老师_学生信息管理系统之第三篇登录界面java代码

    class DLFrame extends JFrame implements ActionListener, ItemListener {// 登录界面 JPanel p1 = null; JPan ...

  6. c语言文件读写_学生信息管理系统(C语言\单向链表\文件读写)

    最近在复习数据结构,早上刚复习完链表,就想到了学生信息管理系统这个经典的大作业,然后呢,花了一早上加一中午的功夫给重新实现了一遍,里面可能会有写的不好的地方,但也代表了我实现的一些想法,在这里我将分享 ...

  7. 免费的可直接运行的简单易懂的C++学生信息管理系统

    文章目录 零.写在前面 一.简介 二.怎么用这些代码 三.功能实现 (1)登录界面 (二)类的声明 (三)系统初始界面 (四)添加学生信息 (五)查看学生信息 (六)查找学生信息 (七)删除学生信息 ...

  8. 【小项目】学生信息登记系统

    学生信息登记系统 文章目录 学生信息登记系统 一.数据库 二.前端页面 三.后端 1.POJO 2.Controller 3.JDBC 4.RunAPP 一.数据库 二.前端页面 文件名:MIS.ht ...

  9. java查询学生信息_分别显示女生_女生学生基本信息的代码_java课程设计学生信息管理系统_毕业论文.doc...

    java课程设计学生信息管理系统_毕业论文 学 号: 课 程 设 计 题 目学生信息管理系统学 院计算机科学与信息工程学院专 业金融信息化服务外包班 级学生姓名指导教师 2015年12月28日 课程设 ...

最新文章

  1. 如何教计算机认识手写数字(上)
  2. git使用变基方式同步远程和本地副本的代码同步方式
  3. mac装windows遇到的问题总结
  4. 利用css布局效果图
  5. Dubbo(五)之动态配置中心
  6. hmac hmac.new_使用HMAC(Play 2.0)保护REST服务
  7. bootstrap中轮播图、模态框、提示框/弹出框、滚动监听、弹性布局、响应式flex、多媒体对象
  8. 2.maven 安装配置
  9. 360路由器c301最新固件支持万能中继
  10. try{}catch(){}finally{}执行顺序和return结果顺序的理解03
  11. SQL window身份登陆 SQL server不能登陆
  12. 机械硬盘提示:使用驱动器中的光盘之前需要将其格式化怎么办?
  13. Postman中文版下载[9.12.0]
  14. 股票买卖问题-含手续费
  15. NBOJ 1184 Elaine's Queue deque的运用
  16. 关于/etc/login.defs
  17. Weblogic缓存清理
  18. csp怎么给线条描边,插画师要失业了?还在纠结阴影怎么画?CSP软件能直接自动生成...
  19. Android RxJava与Retrofit与RecyclerView与Fresco结合网络请求
  20. ASP.NET2.0里的web.config配置接口API(转)

热门文章

  1. 长尾关键词有什么作用?要怎么用?
  2. 易维帮助台如何“重新定义客户服务”?
  3. Spring Security过滤链FilterChain
  4. Spring-Session 基础知识点 和 源码分析(下)
  5. 11g主库归档自动删除的小问题分析
  6. 阿里的easyexcal包实现表格动态导出
  7. 三服务 | 浙江省委信息化管理中心领导参观走访世平信息
  8. Android内存泄漏的分析和避免
  9. yourenduwanglai的鬼话连篇(八)
  10. 009 for 循环画星星