学生信息管理系统总结(二)

  • 限制文本框输入的必须是数字
Private Sub Text1_KeyPress(KeyAscii As Integer)
    If (KeyAscii < 48 Or KeyAscii > 57) Then
    keyAscii = 0
    End if
End sub
  • 限制文本框输入的必须是大写字母
Private Sub Text1_KeyPress(KeyAscii As Integer)
    If (KeyAscii < 65 Or KeyAscii > 90) Then
    keyAscii = 0
    End if
End sub
  • 按删除键则退出程序
If KeyAscii = 8 Then Exit Sub
  • 只可以输入数字和字母
Private Sub Text1_KeyPress(KeyAscii As Integer)
If ((KeyAscii >= 48 And KeyAscii <= 57) Or (KeyAscii >= 65 And KeyAscii <= 90) Or (KeyAscii >= 97 And KeyAscii <= 122)) = False Then KeyAscii = 0
End Sub
  • 只可以输入汉字
Private Sub Text1_KeyPress(KeyAscii As Integer)
     If ((KeyAscii <= -3652 And KeyAscii >= -20319) Or (KeyAscii >= 65 And KeyAscii <= 90) Or (KeyAscii >= 97 And KeyAscii <= 122) Or KeyAscii = 32 Or KeyAscii = 8) = False Then
        KeyAscii = 0
    End If
End Sub
  • 日历控件的添加
    步骤如下:
    工具栏 → 部件控件 → Microsoft Windows controls-2.6(sp4或sp5),完成添加。(如下图:DTpicker即为该控件)
    在这里插入图片描述
  • sbstatusbar.panels(1).text="添加用户"
    主要目的:
    在SbStatusBar这个控件的状态栏显示“添加用户”这四个字,panels的意思是空白窗格,panels(1)就是第一个空白窗格
    如图:
    在这里插入图片描述

错误提示

实时错误 '-2147217887 (80040e21)': 多步OLE DB操作产生错误。请检查每个OLE DB状态值。
原因是:
输入的数据违反了数据库的约束条件;
字段大小超过限制提交的数据个数;
字段数据类型不匹配;
自动编号指定了值;
或者自动编号末未做自动赋值、字段不允许为空值等。
另外,检查你的外键约束之类,如触发器,是否表中无主键
解决办法:
针对Text进行具体限定。
VB中限定text输入框中输入的字数,有两种方法可以实现:

1、直接在text文本框属性中定义MaxLength的值,MaxLength是设置文本框允许输入的字符最大数。超过设置数后,将不允许继续输入内容。

2、代码实现: Private Sub Text1_Change()
If Len(Text1) >= 160 Then MsgBox “你已经输入了160个字,已到最大字符数!” End Sub

如果使用vb设置后还无法运行成功,那就要去数据库中查看一下了,数据库中该表的该数据设定长度要与在text属性中设定的长度一致或者大于text中设定的长度。

【建议:在vb中限定的长度要小于数据库中的指定长度,毕竟涉及到一个汉字会占用多个字节,但是在输入中却只显示为一个字符的情况】

在这里插入图片描述在这里插入图片描述
原因:
在数据库中“课程编号”的数据类型已经定义为int类型,在输入框中输入了汉字,导致数据类型不匹配,窗体报错
解决:
对其txtcourseno进行限定,限定文本框只能输入数字,具体代码如下:

Private Sub txtCourseno_KeyPress(KeyAscii As Integer)
    If (KeyAscii < 48 Or KeyAscii > 57) Then
    keyAscii = 0
    End if
End sub

猜你喜欢

转载自blog.csdn.net/YaraRen/article/details/83870358