学生管理系统优化

简介: 学生管理系统优化

1.限定text填写类型和长度


1.1 限定Text可填写的长度

'txtUserName是输入用户名的文本框'
Private Sub txtUserName_Change()    'Len(text):得到字符串的长度。不论中英文字符,均按1计数。'
    If Len(txtUserName.Text) > 15 Then  '限制输入长度为15,一旦超过就只显示前15'
        txtUserName.Text = Left(txtUserName.Text, 15)
        txtUserName.SelStart = 15   '作用是选中排名前15的字符'
    End If
End Sub
'判断电话号码是否小于7位数'
If Len(txtTel.Text) < 7 Then
    MsgBox "电话号码不能小于7位!", vbOKOnly + vbExclamation, "警告"
    Exit Sub
    txtTel.SetFocus
End If

1.2 Text只能输入英文和数字

  用户名的输入格式:英文、数字或英文+数字,英文不区分大小写,可以使用退格键

'设置用户名输入的格式'
Private Sub txtUserName_KeyPress(KeyAscii As Integer)
  Select Case KeyAscii
          Case 48 To 57, 65 To 90, 97 To 122
                Exit Sub
          Case 8
                Exit Sub
          Case Else
                MsgBox "请输入数字或英文"
    End Select
    KeyAscii = 0
End Sub

1.3 Text只能输入英文和汉字

Private Sub txtDirector_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

1.4 Text只能输入数字,且能退格

'文本框只能输入数字,且能退格'
Private Sub txtClassno_KeyPress(KeyAscii As Integer)
 Select Case KeyAscii
          Case 48 To 57
                Exit Sub
          Case 8
                Exit Sub
    End Select
    KeyAscii = 0
End Sub

1.5 Text不能输入特殊字符

Private Sub txtComment_KeyPress(KeyAscii As Integer)
Dim cTemp As String
   cTemp = "`~!@#$%^&*()-=_+[]{};:'\|<>/?.‘“”’、,。——+()《》?,~·……¥!:;【】" & """ '禁止输入特殊的字符"
If InStr(1, cTemp, Chr(KeyAscii)) <> 0 Then KeyAscii = 0
End Sub

2. 增加验证原密码功能

  首先在Module1模块里定义一个公有变量:

Public PassWord As String

 然后在frmLogin登陆页面写下以下代码:

Private Sub cmdOK_Click()       '点击确定登录'
  PassWord = Trim(txtPassword.Text) '把登陆时输入的密码赋给公有变量PassWord'
End Sub

  最后在修改密码窗体写下以下的代码:

If PassWord <> Text1(0).Text Then
  MsgBox "原密码输入不正确", vbOKOnly + vbExclamation, "修改密码"
End If

3. 增加数据集移动位置提示

  • 数据集记录计数=1时,提醒已到最后一条记录
Private Sub firstCommand_Click()  '第一条记录按钮'
      mrc.MoveFirst    '移动到数据集的第一条记录
      Call viewData     '调用显示数据的函数
     If mrc.RecordCount = 1 Then
        MsgBox "只剩下这一条记录!", vbOKCancel + vbExclamation, "警告"
     End If
End Sub
Private Sub lastCommand_Click()    '最后一条记录按钮'
      mrc.MoveLast  '移动到数据集的最后一条记录
      Call viewData      '调用显示数据的函数
      If mrc.RecordCount = 1 Then
        MsgBox "只剩下这一条记录!", vbOKCancel + vbExclamation, "警告"
      End If
End Sub
Private Sub nextCommand_Click()   '下一条记录按钮'
     If mrc.RecordCount = 1 Then
        MsgBox "只剩下这一条记录!", vbOKCancel + vbExclamation, "警告"
     Else
      mrc.MoveNext      '数据集向后移动'
      If mrc.EOF Then   '判断是否到末位置'
        MsgBox "这已经是最后一条记录了!", vbOKOnly + vbExclamation, "警告"
          mrc.MovePrevious  '将记录指针移至上一条'
      End If
    End If
    Call viewData
End Sub
Private Sub previousCommand_Click()     '上一条记录按钮'
    If mrc.RecordCount = 1 Then
        MsgBox "只剩下这一条记录!", vbOKCancel + vbExclamation, "警告"
    Else
        mrc.MovePrievious '将记录指针移至上一条'
        If mrc.BOF Then   '如果记录指针到顶了'
            mrc.MoveLast  '将记录指针移至下一条'
        End If
    End If
    Call viewData
End Sub

4. 增加记录集清空提示

  当删除最后一条数据时,按钮事件会因为`mrc.MoveFirst`类似的情况报错,因此增加了错误处理程序。

Private Sub deleteCommand_Click() '删除记录按钮'
On Error GoTo P_Err   '遇到错误跳转到P_Err错误处理程序'
…………………………………………
p_EXIT:
    Exit Sub      
P_Err:          '清空记录集并提示'
    txtSID.Text = ""
    txtName.Text = ""
    comboSex.Text = ""
    txtBorndate.Text = ""
    comboClassNo.Text = ""
    txtTel.Text = ""
    txtRudate.Text = ""
    txtAddress.Text = ""
    txtComment.Text = ""
    MsgBox "最后一条信息已删除,即将退出!", vbOKOnly + vbCritical, "警告"
    Unload Me
    GoTo p_EXIT
End Sub

5. 增加当记录集为空时的提示

  记录集为空,直接打开修改学籍窗口会报错,所以添加了以下提示,并且在没有数据的情况下,按钮都是不可操作的。

Private Sub Form_Load()
    Dim txtSQL As String
    Dim MsgText As String
    txtSQL = "select * from student_Info"
    Set mrc = ExecuteSQL(txtSQL, MsgText)   '执行查询操作 '得到student表,并显示出来
    If mrc.RecordCount = 0 Then   '当前记录集为空'
        MsgBox "暂无学籍信息,请先录入", vbOKCancel + vbExclamation, "警告"
        Frame2.Enabled = False  'Frame里的按钮都不可点击'
        Frame3.Enabled = False
    Else
         'select得到的临时表,游标指向尾记录,在Access中指向第一条'
        mrc.MoveFirst   '移动到第一条记录'
        Call viewData   '显示数据'
        myBookmark = mrc.Bookmark '做标记'
        mcclean = True  '给标志赋初值'
    End If
End Sub
相关文章
|
Java
一个简单的学生管理系统的实现代码
一个简单的学生管理系统的实现代码
87 0
|
3月前
|
Java 索引
11.2日学习小结.(学生管理系统)小练习
11.2日学习小结.(学生管理系统)小练习
|
3月前
学生管理系统-登录操作设计
学生管理系统-登录操作设计
36 1
|
关系型数据库 MySQL Serverless
MySQL基础-学生管理系统数据库设计
本场景介绍如何使用DMS工具连接RDS,并使用DMS图形化工具创建数据库表。
150 0
|
数据库
学生管理系统总结二
面所总结的错误锦囊,在后面又出现了类似情况,遇到这种情况并不像第一次那么的慌张放眼望去不知所措,根据上一次的总结印象变得深刻许多,所以在后面的解决问题的过程中并不是很难,但也不会顺利,因为错误总是会时刻出现,时不时会给你来一下子,让你出其不意的掉进它事先挖好的坑里,遇到问题还是先站在互联网的肩膀上,看看那些大神所总结的博客在阅读的过程中,会不会收获不菲的价值信息和意外收获,那么今天我就分享一些在后面我说遇到的问题,在这个过程中遇到的错误类型。
54 0
|
SQL 数据库 C#
C#学生管理系统
基于C#实现的学生管理系统
81 0
|
XML 数据格式 开发者
学生管理系统实现-查询操作| 学习笔记
快速学习学生管理系统实现-查询操作。
105 0
学生管理系统实现-查询操作| 学习笔记
|
存储 C语言
C语言程序设计——设计一个学生管理系统(完美运行的程序(●‘◡‘●))
C语言程序设计——设计一个学生管理系统(完美运行的程序(●‘◡‘●))
C语言程序设计——设计一个学生管理系统(完美运行的程序(●‘◡‘●))
|
SQL 关系型数据库 MySQL
MySQL基础-学生管理系统数据库设计-8
MySQL基础-学生管理系统数据库设计-8
183 0
MySQL基础-学生管理系统数据库设计-8