学生信息管理系统之优化问题

学生信息管理系统之优化问题,第1张

概述一、键盘事件 对于键盘事件我们要学习的有很多,之前看VB课本的时候都没怎么注意过键盘事件的使用方法,看来学习还真是需要不断重复的过程,即使永远记不住的。 关于键盘事件,百度了一篇文章感觉知识点很全 键盘事件总结文章 那么要学习键盘事件,当然ASCII表是必不可少的。 1、文本框输入内容只能为汉字 Private Sub txtDirector_KeyPress(KeyAscii As Intege 一、键盘事件

对于键盘事件我们要学习的有很多,之前看VB课本的时候都没怎么注意过键盘事件的使用方法,看来学习还真是需要不断重复的过程,即使永远记不住的。
关于键盘事件,百度了一篇文章感觉知识点很全
键盘事件总结文章

那么要学习键盘事件,当然ASCII表是必不可少的。

1、文本框输入内容只能为汉字
Private Sub txtDirector_KeyPress(KeyAscii As Integer)    If KeyAscii >= -20319 And KeyAscii <= -3652 Or KeyAscii = 8 Then    Else        MsgBox "请输入中文!",0 + 48,"提示"        KeyAscii = 0        txtDirector.SetFocus    End IfEnd Sub
2、文本框输入内容为数字
Private Sub txtCourseno_KeyPress(KeyAscii As Integer)    If KeyAscii >= 48 And KeyAscii <= 57 Or KeyAscii = 8 _        Or KeyAscii = 13 Then    Else        If KeyAscii = 32 Then            MsgBox "不能输入空格!","警告"            KeyAscii = 0        Else            MsgBox "对不起,课程编号为数字!","警告"            KeyAscii = 0            txtCourseno.Text = ""            txtCourseno.SetFocus        End If    End IfEnd Sub

感觉这只是最简单的一种方法,看了云召的博客,其实有好多种解决办法的,有兴趣的可以看一下
云召兄博客链接

二、出生日期与入校日期符合逻辑
'判断日期是否符合逻辑If Val(left(txtRudate,4)) <= Val(left(txtBorndate,4)) Then      MsgBox "入学年份和出生年份逻辑错误,请重新输入",vbOKOnly +vbExclamation,"警告"      txtBorndate.SetFocus      '给当前记录做标签Exit SubElse      txtsql = "select * from student_info"      '执行查询 *** 作      Set mrc = Executesql(txtsql,MsgText)      '添加记录      mrc.AddNew      '给每个字段赋值        …….

利用了VB中学到的 val left函数,这样判断的并不是很精细,想要更精细当然要在添加条件。
当然办法不只这一种,看了邵聪的博客说还可以将这两个日期赋为两个不同的整型值,在通过代码比较这两个值得大小,感觉这个办法也很不错。
更多的办法自己去探讨啦!

三、将子窗体设置在屏幕中间代码
Me.left = Screen.WIDth / 2 - Me.WIDth / 2 Me.top = Screen.Height / 2 - Me.Height / 2
四、将选择文本框设置为自动显示第一条记录
If comboSID.ListCount > 0 Then        comboSID.ListIndex = 0End If
五、查询修改内容是否与数据库中重复
'查询方法一'If Not (mrc.EOF Or mrc.BOF) Then    'mrc.MoveFirst    'While (mrc.EOF = False)'If (Trim(mrc.FIElds(0)) = Trim(txtClassno.Text) And Trim(mrc.FIElds(1)) = Trim(combograde.Text)) Then    'MsgBox "班号或年级已经存在,请重新输入!",vbOKOnly + vbExclamation,"警告"    'txtClassno.Text = ""    'txtClassno.SetFocus    'Exit Sub'Else    'mrc.MoveNext'End If'Wend'mrc.Bookmark = mybookmark'mrc.Delete'mrc.addnew'......'第二种查询方法 txtsql = "select * from class_info" Set mrcc = Executesql(txtsql,MsgText) If Not (mrcc.EOF Or mrcc.BOF) Then        mrcc.MoveFirst    While (mrcc.EOF = False)        If (Trim(mrcc.FIElds(0)) = Trim(txtClassno.Text) And Trim(mrcc.FIElds(1)) = Trim(combograde.Text) And _Trim(mrcc.FIElds(2)) = Trim(txtDirector.Text) And Trim(mrcc.FIElds(3)) = Trim(txtClassroom.Text)) Then             MsgBox "班号或年级已经存在,请重新输入!","警告"             mrcc.Close             txtClassno.Text = ""             txtClassno.SetFocus             Exit Sub         Else             '移动到下一条记录              mrcc.MoveNext         End If     Wend        mrc.Delete        mrcc.Close        mrc.AddNew        mrc.FIElds(0) = Trim(txtClassno.Text)        mrc.FIElds(1) = Trim(combograde.Text)        mrc.FIElds(2) = Trim(txtDirector.Text)        mrc.FIElds(3) = Trim(txtClassroom.Text)        mrc.Update        MsgBox "更新数据成功!","修改班级信息"    Else         Exit Sub    End If
六、设置年级课程,使已选课程不能重新加入

先判断后加入

Private Sub cmdadd_Click()    '判断是否有内容被选中(列表框的Listindex属性用来指示当前选择项,-1说明没有没选中的数据项    For i = 0 To Listselectcourse.ListCount - 1                If Listselectcourse.List(i) = Listallcourse.List(Listallcourse.ListIndex) Then                     MsgBox "此项已添加,请勿重复添加!"                    Exit Sub                End If            Next     If Listallcourse.ListIndex <> -1 Then        Listselectcourse.AddItem Listallcourse.List(Listallcourse.ListIndex)    End IfEnd Sub
总结

以上是内存溢出为你收集整理的学生信息管理系统之优化问题全部内容,希望文章能够帮你解决学生信息管理系统之优化问题所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1282583.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存