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

前言

先挂一张注册的流程图



正文

If Not语句


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



为列表框添加内容

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


Set mrc = ExecutesSQL(txtsql,msgtext)

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



限制条件

  • 如何限制输入的字数

选中需要限制的文本框,选择maxlength属性,如图。

  • 如何限制只能输入数字

我们需要查找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错误无效限定符


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




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


图中的问题是,在为数据库添加记录时,UserID列无法插入记录。

可是问题是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)







评论 27
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值