机房收费系统之下机

  下机 是一个相对有难度的窗体了,一开始我的思路很乱,不知道该怎么写,还要算时间,算金额,感觉很麻烦,然后看了好多大佬们的思路,画了个流程图

                                             

 Dim msgText As String  '查询信息名称
        
        Dim mrc As ADODB.Recordset 'student 表
        Dim txtSQL As String
        
        
        Dim mrc1 As ADODB.Recordset  'onlion 表
        Dim txtSQL1 As String
        
        Dim mrc2 As ADODB.Recordset  'basicdata 表
        Dim txtSQL2 As String
        
        Dim mrc3 As ADODB.Recordset  'line 表
        Dim txtSQL3 As String
        
        
        If Trim(txtCardID.Text) = "" Then
            MsgBox "请输入卡号!", , "提示"
            txtCardID.SetFocus
            Exit Sub
        End If
        
        If IsNumeric(txtCardID.Text) = False Then
            MsgBox "请输入数字", , "提示"
            txtCardID.Text = ""
            txtCardID.SetFocus
            Exit Sub
        End If
        
        
        
            txtSQL = "select * from student_info where cardno='" & txtCardID.Text & "'" & "and status='使用" & "'"
            Set mrc = ExecuteSQL(txtSQL, msgText)
      If mrc.EOF Then
            MsgBox "卡号不存在,请重新输入", , "提示"
            txtCardID.Text = ""
            txtCardID.SetFocus
            Exit Sub
            
         Else
            txtSQL2 = "select * from basicdata_info"
            Set mrc2 = ExecuteSQL(txtSQL2, msgText)
            
            If mrc.Fields(7) < mrc2.Fields(0) Then
                    MsgBox "卡内余额不足,请先充值,再下机", , "提示"
                    txtCardID.Text = ""
                    txtCardID.SetFocus
                    Exit Sub
            End If
      End If
    
            
            txtSQL1 = "select * from online_info where cardno='" & txtCardID.Text & "'"
            Set mrc1 = ExecuteSQL(txtSQL1, msgText)
            If mrc1.EOF Then
                MsgBox "该卡号没有上机!", , "提示"
                    txtCardID.Text = ""
                    txtCardID.SetFocus
                    Exit Sub
            Else
                txtType = mrc1.Fields(1)
                txtStudentID = mrc1.Fields(2)
                txtName = mrc1.Fields(3)
                txtMajor = mrc1.Fields(4)
                txtSex = mrc1.Fields(5)
                txtOnlineDate = mrc1.Fields(6)
                txtOnlineTime = mrc1.Fields(7)
            End If
            
            
            '计算消费时间
            
            txtOfflineTime.Text = Time
            txtOfflineDate.Text = Date
            Dim CostDate As Long
            Dim CostTime As Long
            
            CostDate = DateDiff("n", txtOnlineDate.Text, txtOfflineDate.Text)
            CostTime = DateDiff("n", txtOnlineTime.Text, txtOfflineTime.Text)
        
            txtConsumeTime.Text = (Val(CostDate) + Val(CostTime))

            
            '计算消费金额
            If Trim(txtConsumeTime.Text) <= Val(mrc2.Fields(4)) Then
                    txtConsumeTime.Text = 0
                    txtConsumeMoney.Text = 0
            Else
            
                  If Trim(txtType.Text) = "固定用户" Then
                      txtConsumeMoney.Text = Format(txtConsumeTime / mrc2.Fields(2) * mrc2.Fields(0), "0.00")
                     Else
                      txtConsumeMoney.Text = Format(txtConsumeTime / mrc2.Fields(2) * mrc2.Fields(1), "0.00")
            End If
    End If
    
            '计算余额
            
            txtRemainingSum.Text = Val(mrc.Fields(7)) - Val(Trim(txtConsumeMoney.Text))
            
            txtSQL3 = "select * from line_info where cardno='" & txtCardID.Text & "'"
            Set mrc3 = ExecuteSQL(txtSQL3, msgText)
            mrc3.Fields(8) = Trim(txtOfflineDate.Text)
            mrc3.Fields(9) = Trim(txtOfflineTime.Text)
            mrc3.Fields(10) = Trim(txtConsumeTime.Text)
            mrc3.Fields(11) = Trim(txtConsumeMoney.Text)
            mrc3.Fields(12) = Trim(txtRemainingSum.Text)
            mrc3.Update
            mrc3.Close
            
            '更新余额到student 表中
            mrc.Fields(7) = Val(txtRemainingSum.Text)
            mrc.Update
            mrc.Close
            
            
            mrc1.Delete
            mrc1.Update
            mrc1.Close
            Exit Sub
    
            mrc2.Close
            

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值