前言:充值是机房里面较为简单的一个窗体,逻辑理清楚之后上手就简单多了。
正文:下面是流程图,在代码中我把判断卡号是否存在与是否停用合并了。
下面是部分重要代码:
Private Sub cmdOk_Click()
Dim mrc As ADODB.Recordset
Dim txtSQL As String
Dim MsgText As String
Dim mrcc As ADODB.Recordset
Dim mrc_bd As ADODB.Recordset
'判断卡号是否为空
' Username = frmLogin.txtUsername.Text
If Trim(txtCardno.Text) = "" Then
MsgBox "请输入卡号!", vbOKOnly + vbExclamation, "警告"
txtCardno = ""
txtCardno.SetFocus
Exit Sub
End If
'判断充值金额是否为空
If Trim(txtRecharge.Text) = "" Then
MsgBox "请输入充值金额!", vbOKOnly + vbExclamation, "警告"
txtRecharge = ""
txtRecharge.SetFocus
Exit Sub
End If
'判断卡号是否存在或已停用
txtSQL = "select * from student_info where cardno='" & Trim(txtCardno.Text) & "'And Status = '不使用'"
Set mrc = ExecuteSQL(txtSQL, MsgText)
If mrc.EOF = False Then
MsgBox "此卡号不存在或已经不再使用!", 0 + 48, "警告"
txtCardno = ""
txtCardno.SetFocus
mrc.Close
Else
'判断充值金额是否大于设置的最低金额
txtSQL = "select * from basicdata_info"
Set mrc_bd = ExecuteSQL(txtSQL, MsgText)
If Trim(txtRecharge.Text) < Trim(mrc_bd.Fields(5)) Then
MsgBox "金额不能低于设置的最低金额!", vbOKOnly + vbExclamation, "警告"
txtRecharge = ""
txtRecharge.SetFocus
Exit Sub
Else
txtSQL = "select * from student_info "
Set mrc = ExecuteSQL(txtSQL, MsgText)
txtSQL = "select * from recharge_info "
Set mrcc = ExecuteSQL(txtSQL, MsgText)
mrc.Fields(12) = Date
mrc.Fields(13) = Time
mrc.Fields(7) = Val(Trim(txtRecharge.Text) + mrc.Fields(7))
mrc.Update
mrcc.AddNew
mrcc.Fields(1) = mrc.Fields(1)
mrcc.Fields(2) = mrc.Fields(0)
mrcc.Fields(3) = Val(Trim(txtRecharge.Text))
mrcc.Fields(4) = Date
mrcc.Fields(5) = Time
mrcc.Fields(6) = Username 'frmLogin.txtUsername.Text
mrcc.Fields(7) = "未结账"
mrcc.Update
mrcc.Close
Text1.Text = "充值卡号:" & mrc.Fields(0) & vbCrLf & "上次卡内余额:" & mrc.Fields(7) - txtRecharge.Text _
& vbCrLf & "现在卡内的余额:" & mrc.Fields(7) & vbCrLf & "充值日期:" & mrc.Fields(12) & vbCrLf & "充值时间:" & mrc.Fields(13) & vbCrLf & "充值老师:" & Username
MsgBox "充值成功!", 48, "提示"
txtCardno.Text = ""
txtRecharge.Text = ""
Text1.Text = ""
txtCardno.SetFocus
End If
End If
End Sub
总结:机房收费系统作为自己第一个独立上手的系统,简单窗体的成功运行能带来自信,继续做下去。