学生管理系统优化

简介: 学生管理系统优化

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
目录
打赏
0
0
0
0
5
分享
相关文章
一个简单的学生管理系统的实现代码
一个简单的学生管理系统的实现代码
138 0
一个图书管理系统的综合小练习
一个图书管理系统的综合小练习
107 0
11.2日学习小结.(学生管理系统)小练习
11.2日学习小结.(学生管理系统)小练习
MySQL基础-学生管理系统数据库设计
本场景介绍如何使用DMS工具连接RDS,并使用DMS图形化工具创建数据库表。
五邑大学餐厅网络点餐系统设计与实现(包含完整源码详细开发过程)
五邑大学餐厅网络点餐系统设计与实现(包含完整源码详细开发过程)
基于Java的大学生选修选课系统设计与实现(亮点:多角色、贴近现实的选课流程、好看的系统外观)
基于Java的大学生选修选课系统设计与实现(亮点:多角色、贴近现实的选课流程、好看的系统外观)
175 0
软件工程高效学 | 实战案例:在线选修课程管理系统设计
软件工程是计算机领域的一门专业基础课,它对于培养开发者的软件素质、提高开发者的软件开发能力与软件项目管理能力具有重要意义。本篇介绍了利用Rational Rose进行“在线选修课程管理系统”面向对象的设计案例。
227 0
软件工程高效学 | 实战案例:在线选修课程管理系统设计
数据开发在图书馆场景的应用实践案例
本文介绍如何使用物联网平台SQL工作的实践案例
C语言程序设计——设计一个学生管理系统(完美运行的程序(●‘◡‘●))
C语言程序设计——设计一个学生管理系统(完美运行的程序(●‘◡‘●))
C语言程序设计——设计一个学生管理系统(完美运行的程序(●‘◡‘●))
MySQL基础-学生管理系统数据库设计-8
MySQL基础-学生管理系统数据库设计-8
204 0
MySQL基础-学生管理系统数据库设计-8
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等