前言
充值在我们的日常生活中随处可见。新办理的手机卡号,为保证在无WiFi的情况下,我们可以使用,不与外界失联,手机卡号里面要有钱,我们才能正常上网、接打电话等。注册完卡号信息后,为保证这个卡能为我们正常所用,卡里需要有足够的金额。所以,就需要我们时常进行充值。如果不想要这个手机卡号了,我们就得注销掉,卡里面的钱会返还给我们,或者转到自己其他的手机卡号里。如果不想要在机房里办的卡了,我们也得需要退卡,然后把卡里面的余额退还给我们。
正文
在机房系统这个项目里,充值窗体和退卡窗体的思路是大致相同的,理清楚其中之一,另一个就很好办了。以充值为例,下面是小编做的流程图:
实现上述功能的部分代码如下:
在这里要特别注意的地方就是,充值金额的计算。在基础数据设定中,已经设定了充值的最低金额,充值时候就派上用场了。在更新表之前,先要获取当前卡里的金额,然后再计算充值后的金额。
退卡和充值类似,小编做出的流程图如下:
结语
没有白做的一步,每做一步都算数。这周在敲机房的过程中,对数据库中各个表的理解又加深了许多。发现了之前在敲的过程中,有些地方连接的数据表是不全面的。发现了就及时补充上,让它们形成闭合循环。
充值在我们的日常生活中随处可见。新办理的手机卡号,为保证在无WiFi的情况下,我们可以使用,不与外界失联,手机卡号里面要有钱,我们才能正常上网、接打电话等。注册完卡号信息后,为保证这个卡能为我们正常所用,卡里需要有足够的金额。所以,就需要我们时常进行充值。如果不想要这个手机卡号了,我们就得注销掉,卡里面的钱会返还给我们,或者转到自己其他的手机卡号里。如果不想要在机房里办的卡了,我们也得需要退卡,然后把卡里面的余额退还给我们。
正文
在机房系统这个项目里,充值窗体和退卡窗体的思路是大致相同的,理清楚其中之一,另一个就很好办了。以充值为例,下面是小编做的流程图:
实现上述功能的部分代码如下:
'查找student表中信息
txtSQLStu = "select * from student_Info where cardno='" & txtCardNo.Text & "'"
Set mrcStu = ExecuteSQL(txtSQLStu, MsgTextStu)
'查询基础数据设定表的最低充值金额
txtSQLBD = "select * from BasicData_Info"
Set mrcBD = ExecuteSQL(txtSQLBD, MsgTextBD)
b = mrcBD.Fields(5)
'卡号不存在
If mrcStu.EOF = True Then '如果记录集指针指到最后一条记录,没有找到相应的卡号信息,弹出提示
MsgBox "卡号不存在,请重新输入!", 48, "温馨提示:"
txtCardNo.SetFocus '卡号文本框获得焦点
txtCardNo.Text = ""
txtCash.Text = ""
Else
'卡号存在,但已停用
If Trim(txtCardNo.Text) = Trim(mrcStu.Fields(1)) And Trim(mrcStu.Fields(10)) = "不使用" Then
MsgBox "此卡已停用,请您输入正确卡号信息。", 48, "温馨提示!"
txtCardNo.Text = ""
txtCash.Text = ""
txtCardNo.SetFocus
Else
'判断充值金额是否满足最低要求
If Val(txtCash.Text) < b Then
MsgBox "输入金额不得低于设置的最低金额20元。", 48, "温馨提示:"
txtCash.SetFocus
txtCash.Text = ""
Else
'连接recharge/student表,添加充值信息,并更新表
txtSQLRe = "select * from ReCharge_Info"
Set mrcRe = ExecuteSQL(txtSQLRe, MsgTextRe)
txtSQLStu = "select * from student_Info where cardno='" & txtCardNo.Text & "'"
Set mrcStu = ExecuteSQL(txtSQLStu, MsgTextStu)
studentNo = mrcStu.Fields(1)
cashPass = mrcStu.Fields(7)
cashNow = cashPass + txtCash.Text '计算充值之后,即现在的总金额=以前金额+本次充值金额
.
.
.
.
.
.
.
在这里要特别注意的地方就是,充值金额的计算。在基础数据设定中,已经设定了充值的最低金额,充值时候就派上用场了。在更新表之前,先要获取当前卡里的金额,然后再计算充值后的金额。
退卡和充值类似,小编做出的流程图如下:
结语
没有白做的一步,每做一步都算数。这周在敲机房的过程中,对数据库中各个表的理解又加深了许多。发现了之前在敲的过程中,有些地方连接的数据表是不全面的。发现了就及时补充上,让它们形成闭合循环。