前言:
我也是刚刚进行到充值,一开始以为很简单,但是经过自己仔细的思考,以及不断的升级,发现其中有很多奥秘,希望下面的分享能够对你有所帮助!
'判断卡号是否为空
If Trim(txtCardNo.Text) = "" Then
MsgBox "请输入卡号!", vbOKOnly + vbExclamation, "警告"
txtCardNo.SetFocus
Exit Sub
End If
'判断充值金额是否为空
If Trim(txtRecharge.Text) = "" Then
MsgBox "请输入充值金额", vbOKOnly + vbExclamation, "警告"
txtRecharge.SetFocus
Exit Sub
End If
'判断卡号是否为数字
If Not IsNumeric(txtCardNo.Text) Then
MsgBox "卡号请输入数字", vbOKOnly + vbExclamation, "警告"
txtCardNo.Text = ""
txtCardNo.SetFocus
Exit Sub
End If
'判断充值金额是否为数字
If Not IsNumeric(txtRecharge.Text) Then
MsgBox "充值金额都是数字", vbOKOnly + vbExclamation, "警告"
txtRecharge.Text = ""
txtRecharge.SetFocus
Exit Sub
End If
'连接基础信息表
txtSQL = "select *from basicdata_info"
Set mrc_BData = ExecuteSQL(txtSQL, msgText)
'连接用户表
txtSQL = "select *from user_info where userid='" & UserName & "'"
Set mrc_User = ExecuteSQL(txtSQL, msgText)
'判断是否有基础数据
If mrc_BData.EOF Then‘如果没有基础数据
Select Case mrc_User.Fields(2)’判断权限
Case Is = 管理员
frmBasicDataSet.Show
Case Is = 操作员
MsgBox "请联系管理员添加基本数据信息!", vbOKOnly + vbExclamation, "警告"
End Select
Exit Sub
End If
‘因为前面已经连接过数据库,所以就不写连接数据库的代码了,这里连接的是基本信息表
'判断是否大于最小金额
If Val(txtRecharge.Text) < trim(mrc_BData.Fields(5)) Then
'因为数据库是字符串类型,所以要使用Val()转换函数
MsgBox "金额不能低于设置的最小金额", vbOKOnly + vbExclamation, "警告"
txtRecharge.Text = ""
txtRecharge.SetFocus
mrc_BData.Close
Exit Sub
End If
'连接学生表
txtSQL = "select*from student_info where cardno='" & txtCardNo.Text & "'"
Set mrc_Stu = ExecuteSQL(txtSQL, msgText)
'判断是否有该卡号
If mrc_Stu.EOF Then
MsgBox "此卡号不存在或已经不再使用", vbOKOnly + vbExclamation, "警告"
mrc_Stu.Close
txtCardNo.Text = ""
txtRecharge.Text = ""
Exit Sub
End If
’判断卡号是否停止使用
If Trim(mrc_Stu.Fields(10)) = "不使用" Then
MsgBox "此卡号不存在或已经不再使用", vbOKOnly + vbExclamation, "警告"
'基础数据窗体显示
mrc_Stu.Close
txtCardNo.Text = ""
txtRecharge.Text = ""
Exit Sub
End If
Dim LastRecharge% '卡内的历史余额
LastRecharge = Val(mrc_Stu.Fields(7)) '查看卡内的原始余额
SID = mrc_Stu.Fields(1) '传出来学号
mrc_Stu.Close‘关闭数据库
Dim ReTea$ '用来存放充值的老师
ReTea = Trim(UserName) '充值老师
Dim NowRecharge% '存放充值后的余额
NowRecharge = LastRecharge + Val(txtRecharge.Text) '现在的金额
ReDate = Format(Date, "yy-mm-dd") '充值日期
ReTime = Format(Now, "hh:mm:ss") '充值时间
'连接充值表
txtSQL = "select*from recharge_info"
Set mrc_Re = ExecuteSQL(txtSQL, msgText)
mrc_Re.AddNew
mrc_Re.Fields(1) = Trim(SID) '学号
mrc_Re.Fields(2) = Trim(txtCardNo.Text) '卡号
mrc_Re.Fields(3) = CStr(Trim(txtRecharge.Text)) '充值金额
mrc_Re.Fields(4) = Trim(ReDate) '充值日期
mrc_Re.Fields(5) = Trim(ReTime) '充值时间
mrc_Re.Fields(6) = Trim(UserName) '充值老师
mrc_Re.Fields(7) = "未结账"
mrc_Re.Update
mrc_Re.Close
'连接到学生表
txtSQL = "select*from student_info where cardno='" & txtCardNo.Text & "'"
Set mrc_Stu = ExecuteSQL(txtSQL, msgText)
mrc_Stu.Fields(7) = CStr(NowRecharge)
mrc_Stu.Update
mrc_Stu.Close
结束语:
感谢您的阅读,希望我的分享对你有所帮助!