机房收费系统——上机

版权声明:未经本人同意不得转载! https://blog.csdn.net/Hellen0708/article/details/82803870

前言

上机在机房系统是至关重要的,只要捋清思路,把大问题分解成一个个的小问题再去解决,困惑就自然迎刃而解了。来看看我的思路吧!

在这里插入图片描述

代码片段

Private Sub cmdOnline_Click()
    Dim txtSQL As String
    Dim MsgText As String
    Dim mrc As ADODB.Recordset
    Dim mrc1 As ADODB.Recordset
    Dim mrc2 As ADODB.Recordset
    Dim mrc3 As ADODB.Recordset
    Dim mrc4 As ADODB.Recordset
    
        'mrc连接学生表
        txtSQL = "select * from student_info where cardno='" & Trim(txtCardNo.Text) & "'"
        Set mrc = ExecuteSQL(txtSQL, MsgText)
    
        'mrc1连接online表
        txtSQL = "select * from online_info where cardno='" & Trim(txtCardNo.Text) & "'"
        Set mrc1 = ExecuteSQL(txtSQL, MsgText)
    
        'mrc2连接line表
        txtSQL = "select * from line_info where cardno='" & Trim(txtCardNo.Text) & "'"
        Set mrc2 = ExecuteSQL(txtSQL, MsgText)
        
        'mrc3连接basicdata表
        txtSQL = "select * from basicdata_info"
        Set mrc3 = ExecuteSQL(txtSQL, MsgText)
        
        txtSQL = "select * from online_info"
        Set mrc4 = ExecuteSQL(txtSQL, MsgText)
        
        If Trim(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 mrc.EOF = True Then
           MsgBox "此卡未注册", 0 + 48, "系统提示"
           txtCardNo.SetFocus
           txtCardNo.Text = ""
            Exit Sub
        End If
        
        If Val(mrc.Fields(7)) < Val(mrc3.Fields(5)) Then
            MsgBox "余额不足,请先充值!", 48, "警告"
            txtCardNo.SetFocus
            Exit Sub
        End If
        
        If mrc1.EOF = True Then
            labSID.Caption = mrc.Fields(1)
            labName.Caption = mrc.Fields(2)
            labSex.Caption = mrc.Fields(3)
            labDept.Caption = mrc.Fields(4)
            labType.Caption = mrc.Fields(14)
            labOnDate.Caption = Date
            labOnTime.Caption = Time
        End If
                
         If mrc1.EOF = False Then
            MsgBox "此卡正在上机,不能重复登录!", 48, "警告"
            txtCardNo.Text = mrc.Fields(0)
            labSID.Caption = mrc.Fields(1)
            labName.Caption = mrc.Fields(2)
            labSex.Caption = mrc.Fields(3)
            labDept.Caption = mrc.Fields(4)
            labType.Caption = mrc.Fields(14)
            labOnDate.Caption = mrc1.Fields(6)
            labOnTime.Caption = mrc1.Fields(7)
        Else
            '更新Online_info表
            With mrc1
                .AddNew
                .Fields(0) = Trim(txtCardNo.Text)
                .Fields(1) = Trim(labType.Caption)
                .Fields(2) = Trim(labSID.Caption)
                .Fields(3) = Trim(labName.Caption)
                .Fields(4) = Trim(labDept.Caption)
                .Fields(5) = Trim(labSex.Caption)
                .Fields(6) = Trim(labOnDate.Caption)
                .Fields(7) = Trim(labOnTime.Caption)
                .Fields(8) = VBA.Environ("computername")
                .Fields(9) = Now
                .Update
            End With
            
            '更新line_info表
            With mrc2
               .AddNew
               .Fields(1) = txtCardNo.Text
               .Fields(2) = labSID.Caption
               .Fields(3) = labName.Caption
               .Fields(4) = labDept.Caption
               .Fields(5) = Trim(labSex.Caption)
               .Fields(6) = labOnDate.Caption
               .Fields(7) = labOnTime.Caption
               .Fields(8) = Null
               .Fields(9) = Null
               .Fields(10) = Null
               .Fields(11) = "0.0"
               .Fields(12) = mrc.Fields(7)
               .Fields(13) = "正常上机"
               .Fields(14) = VBA.Environ("computername")
               .Update
            End With
        End If
        
            Label16.Caption = "当前上机人数:" & mrc4.RecordCount
    
            labOffDate.Caption = ""
            labOffTime.Caption = ""
            labCTime.Caption = ""
            labBalance.Caption = ""
            labCMoney.Caption = ""
        
End Sub

显示当前时间代码

Private Sub Timer1_Timer()
    labTimenow.Caption = "当前时间:" & Now
End Sub

结语

在学习的计算机项目中,实践类的比较有意思,要好好抓住机会多动脑多思考,加油!

猜你喜欢

转载自blog.csdn.net/Hellen0708/article/details/82803870