VB机房收费系统04——注册窗体

前言

先挂一张注册的流程图

VB机房收费系统04——注册窗体_第1张图片


正文

If Not语句

VB机房收费系统04——注册窗体_第2张图片

If Not 是如果不是的意思,具体应用上述VB语句中,它起的作用是如果txtSID里面的文本不是或没有,系统提示请输入学号。



为列表框添加内容

不在添加控件过程中编写,在窗体过程中编写


Set mrc = ExecutesSQL(txtsql,msgtext)

ExecuteSQL是执行SQL语句。里面的两个参数txtsql是指用来执行的SQL语句:比如:select * from表;Msgtext参数 指的是实行完SQL语句后的弹出框,是成功了还是失败了之类的。



限制条件

  • 如何限制输入的字数
选中需要限制的文本框,选择maxlength属性,如图。
VB机房收费系统04——注册窗体_第3张图片

  • 如何限制只能输入数字
我们需要查找ASCll码表,得到0的ASCll码是48.输入语句如下:
if KeyAscill < 48 Or KeyAscill > 57 Then KeyAscill = 0
这条语句用来判断输入的字符是否在0-9的范围中,如果不在这个范围,就把这个输入的字符屏蔽掉

但这么做会产生一个问题,就是使用BackSpace删除字符的时候,由于按键被屏蔽,无法删除。怎么解决呢?解决方法很简单,只要在上面的语句前在添加一条语句:
If KeyAscii = 8 Then Exit Sub
意思是,如果按了BackSpace,就直接退出该过程,按键就不会被屏蔽了。

  • 限制只能输入汉字
Private Sub name_KeyPress(KeyAscii As Integer)
If KeyAscii > 0 And KeyAscii <> 13 And KeyAscii <> 8 Then
KeyAscii = 0
MsgBox "只允许输入汉字", 48, "温馨提示"
End If
End Sub



VB错误无效限定符

VB机房收费系统04——注册窗体_第4张图片
本错误出现在注册时输入姓名里,因为机房是头一个自己命名的项目,我把注册中姓名文本框的名称设置为name,报错如上。
原因是这样,name程序无法判断是文本框还是标签还是函数,因为同名的词在程序运行中也设计到其他作用。

VB机房收费系统04——注册窗体_第5张图片


无法向数据表中插入指定列

VB机房收费系统04——注册窗体_第6张图片
图中的问题是,在为数据库添加记录时,UserID列无法插入记录。
VB机房收费系统04——注册窗体_第7张图片
可是问题是UserID列的数据记录在User_Info表上,那么我们要想用field()=的方法添加语句。就得再调用user表。具体方法是:

'为数据库添加记录
        txtsql = "select*from student_Info"           
        Set mrc = ExecuteSQL(txtsql, msgtext)                          ’我们需要再查询User表数据

        txtsql = "select*from User_Info"                                    'UserID在student表中是第13列,在UserID表中是第11列
        Set mrc1 = ExecuteSQL(txtsql, msgtext)    

        mrc.AddNew

        mrc.Fields(11) = mrc2.Fields(13)







你可能感兴趣的:(VB机房收费系统04——注册窗体)