充值,就是给学生的卡号进行充值,避免余额不足而被强制下机。
下图为充值窗体界面
老样子,还是先画流程图,流程搞清楚了,逻辑清楚了,敲代码自然就有思路了
部分代码展示
'判断是否输入卡号
If Not Testtxt(txtCardNo.Text) Then
MsgBox "请输入卡号!", 48, "提示"
txtCardNo.SetFocus
Exit Sub
End If
If Not IsNumeric(Trim(txtCardNo.Text)) Then
MsgBox "卡号请输入数字!", 48, "提示"
txtCardNo.Text = ""
txtCardNo.SetFocus
Exit Sub
End If
'判断是否输入充值金额
If Not Testtxt(txtCash.Text) Then
MsgBox "请输入充值金额!", 48, "提示"
txtCash.SetFocus
Exit Sub
End If
'判断充值金额是否小于基础表最低金额
txtsql = "select*from BasicData_Info"
Set mrc = ExecuteSQL(txtsql, msgtext)
'充值金额与最低金额比较
If Val(txtCash.Text) < mrc.Fields(5) Then
MsgBox "充值金额不得小于最低金额,请重新输入!", 48, "提示"
txtCash.Text = ""
txtCash.SetFocus
Exit Sub
End If
'连接student表判断卡号是否存在
txtsql1 = "select*from student_Info where cardno='" & Trim(txtCardNo.Text) & "'"
Set mrc1 = ExecuteSQL(txtsql1, msgtext)
If mrc1.EOF = True Then
MsgBox "该卡号不存在或者被停用,请重新输入!", 48, "提示"
txtCardNo.Text = ""
txtCardNo.SetFocus
Exit Sub
Else
oldcash = mrc1.Fields(7)
'更新recharge表
txtsql2 = "select*from Recharge_Info"
Set mrc2 = ExecuteSQL(txtsql2, msgtext)
mrc2.AddNew
mrc2.Fields(1) = mrc1.Fields(1)
mrc2.Fields(2) = mrc1.Fields(0)
mrc2.Fields(3) = Trim(txtCash.Text)
mrc2.Fields(4) = Date
mrc2.Fields(5) = Time
mrc2.Fields(6) = mrc1.Fields(9)
mrc2.Fields(7) = mrc1.Fields(10)
mrc2.Update
'将总金额更新到student表
newcash = oldcash + Val(txtCash.Text)
mrc1.Fields(7) = newcash
mrc1.Update
'在txtrecord中显示充值信息
txtRecord.Text = "充值卡号:" & txtCardNo.Text & vbCrLf & _
"原金额:" & oldcash & vbCrLf & _
"充值金额:" & txtCash.Text & vbCrLf & _
"现有金额:" & newcash & vbCrLf & _
"充值日期:" & Date & vbCrLf & _
"充值时间:" & Time & vbCrLf & _
"充值教师:" & frmLogin.txtUserID.Text
mrc.Close
mrc1.Close
mrc2.Close
MsgBox "充值成功!", 48, "提示"
txtCardNo.Text = ""
txtCash.Text = ""
txtRecord.Text = ""
End If
当充值成功后会自动显示充值信息, 包括充值前的余额,充值金额,以及充值后的金额为多少。而充值信息会在一行显示,怎么办呢,别急设置text框的Multiline属性为True即可显示多行文本
机房已经敲完了,随着优化会不断更新。欢迎大家在评论区留言!