機房上機總結

十五期任書含發表於2018-12-30

因為機房的上下機涉及到的表比較多,因此需要在進行程式的編寫前構建好資料流程圖。以下是我自己所做的資料流程圖,可能不太全面如有不足,請斧正。在這裡插入圖片描述

Private Sub Command1_Click()
    Dim txtSQL As String
    Dim MsgText As String
    Dim i As Integer
    Dim mrc1 As New ADODB.Recordset
    
    If TxtCID.Text = "" Then                          '判斷輸入卡號
        MsgBox "請先輸入卡號!", vbOKOnly + vbExclamation, "提示"
        Exit Sub
    Else
        txtSQL = "select * from student_Info where cardno = '" & Trim(TxtCID.Text) & "'"
        Set mrc = ExecuteSQL(txtSQL, MsgText)
        
        If mrc.EOF Then                           '判斷卡號是否仍然使用
            MsgBox "卡號不存在,請重新確認或重新註冊!", vbOKOnly + vbExclamation, "提示"
            Exit Sub
        Else
            If mrc.Fields(10) = "不使用" Then
                MsgBox "卡號已登出,請重新註冊啟用!", vbOKOnly + vbExclamation, "提示"
                Exit Sub
            Else                                   '判斷餘額
                If mrc.Fields(7) < 0 Then
                    MsgBox "餘額不足,請先充值!", vbOKOnly + vbExclamation, "提示"
                    frmCZ.Show
                    Exit Sub
                Else
                    txtSQL = "select * from OnLine_Info where cardno = '" & Trim(TxtCID.Text) & "'"
                    Set mrc1 = ExecuteSQL(txtSQL, MsgText)
                    
                    If Not mrc1.EOF Then                                '判斷卡號是否上機
                        MsgBox "此卡號已上機!", vbOKOnly + vbExclamation, "提示"
                        Exit Sub
                    Else                                                           '主窗體顯示回執
                        TxtType.Text = mrc!Type & ""
                        TxtSID.Text = mrc!studentNo
                        TxtName.Text = mrc!studentName
                        TxtDePM.Text = mrc!Department
                        txtSex.Text = mrc!sex
                        Text2.Text = mrc!cash
                        TxtOnDate.Text = Date
                        txtontime.Text = Time
                        
                        mrc1.AddNew                               '上機表新增新紀錄
                        mrc1.Fields(0) = TxtCID.Text
                        mrc1.Fields(1) = TxtType.Text
                        mrc1.Fields(2) = TxtSID.Text
                        mrc1.Fields(3) = TxtName.Text
                        mrc1.Fields(4) = TxtDePM.Text
                        mrc1.Fields(5) = txtSex.Text
                        mrc1.Fields(6) = TxtOnDate.Text
                        mrc1.Fields(7) = txtontime.Text
                        mrc1.Fields(8) = GetThisComputerName
                        mrc1.Fields(9) = Date
                        mrc1.Update
                    End If
                End If
            End If
        End If
    End If
End Sub

上機部分的程式碼其實非常簡單,關鍵是要細心,注意多個表之間的關聯。

相關文章