机房收费系统之充值窗体

来源:互联网 发布:php中use的用法 编辑:程序博客网 时间:2024/05/21 22:26

充值窗体是一个比较简单的窗体,唯一需要注意的就是要将充值金额插入到充值表,将总金额要更新到学生表中。

首先是充值窗体充值的思路

这里写图片描述

接下来是代码部分

Dim txtSQL As StringDim txtSQL1 As StringDim txtSQL2 As StringDim MsgText As StringDim cash1 As IntegerDim cash2 As IntegerDim mrc As ADODB.Recordset '连接BasicData表Dim mrc1 As ADODB.Recordset '连接student表Dim mrc2 As ADODB.Recordset '连接Recharge表Private Sub cmdcancel_Click()    Unload MeEnd SubPrivate Sub cmdok_Click() '判断是否输入卡号    If Not Testtxt(txtcardno.Text) Then        MsgBox "请输入卡号!", vbOKOnly + vbExclamation, "提示"        txtcardno.SetFocus        Exit Sub    End If    '判断输入卡号是否数字    If Not IsNumeric(Trim(txtcardno.Text)) Then        MsgBox "卡号请输入数字!", vbOKOnly + vbExclamation, "提示"        txtcardno.Text = ""        txtcardno.SetFocus        Exit Sub    End If  '判断输入的数字是否大于0    If Trim(txtcardno.Text) < 0 Then        MsgBox "输入的数字不应该小于0,请重新输入!", vbOKOnly + vbExclamation, "提示"        txtcardno.Text = ""        txtcardno.SetFocus    End If    '判断是否输入充值金额    If Not Testtxt(txtaddmoney.Text) Then        MsgBox "请输入充值金额!", vbOKOnly + vbExclamation, "提示"        txtrecharge.SetFocus        Exit Sub    End If    '判断输入充值金额是否数字    If Not IsNumeric(Trim(txtaddmoney.Text)) Then        MsgBox "充值金额请输入数字!", vbOKOnly + vbExclamation, "提示"        txtaddmoney.Text = ""        txtaddmoney.SetFocus        Exit Sub    End If  '判断输入的数字是否大于0    If Trim(txtaddmoney.Text) < 0 Then        MsgBox "输入的数字不应该小于0,请重新输入!", vbOKOnly + vbExclamation, "提示"        txtaddmoney.Text = ""        txtaddmoney.SetFocus        Exit Sub    End If    '判断充值金额是否小于基础表中的最小金额    '连接basicdata表    txtSQL = "select * from BasicData_Info"    Set mrc = ExecuteSQL(txtSQL, MsgText)    '充值金额与最小金额比较    If Val(txtaddmoney.Text) < mrc.Fields(5) Then    MsgBox "充值金额不得小于最小金额,请重新输入!", vbOKOnly + vbExclamation, "提示"    txtaddmoney.Text = ""    txtaddmoney.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 "该卡号不存在或以停用,请重新输入!", vbOKOnly + vbExclamation, "提示"        txtcardno.Text = ""        txtcardno.SetFocus        Exit Sub    Else        cash1 = mrc1.Fields(7)        '更新charge表        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(txtaddmoney.Text)        mrc2.Fields(4) = Date        mrc2.Fields(5) = Time        mrc2.Fields(6) = mrc1.Fields(9)        mrc2.Fields(7) = mrc1.Fields(10)        mrc2.Update        '将总金额更新student表        cash2 = cash1 + Val(txtaddmoney.Text)        mrc1.Fields(7) = cash2        mrc1.Update        '在txtexplain文本框中显示充值信息        txtexplain.Text = "充值卡号:" & txtcardno.Text & vbCrLf & vbCrLf & _                          "原金额:" & cash1 & vbCrLf & vbCrLf & _                          "充值金额:" & txtaddmoney.Text & vbCrLf & vbCrLf & _                          "现有金额:" & cash2 & vbCrLf & vbCrLf & _                          "充值日期:" & Date & vbCrLf & vbCrLf & _                          "充值时间:" & Time & vbCrLf & vbCrLf & _                          "充值教师:" & UserName        mrc.Close        mrc1.Close        mrc2.Close        MsgBox "充值成功", vbOKOnly + vbExclamation, "提示"        txtcardno.Text = ""        txtaddmoney.Text = ""        txtexplain.Text = ""    End IfEnd SubPrivate Sub Form_Load()    Me.Width = 8000    Me.Height = 7000    Me.Top = 0    Me.Left = 0End Sub

PS:显示文本的框的MultiLine属性要设置成True

总结:自己以前一直在纠结更新student表更新一列怎么更新,但是其实只要更新一个记录集的一个字段就可以,有时候只要去尝试就会发现其实问题并没有自己想象的那么困难,更加重要的是逻辑一定要理清,有顺序的运行程序。

原创粉丝点击