ルーム決済システム、ログインフォーム(一般ユーザとオペレータ)

アイデアの実現

これまでのときに、ユーザーがログイン一般的に私は2つのログイン画面を作ったので、それは右に、他の誰かのカード番号、残高照会の消費者の記録など、できることに気づいた、オリジナルのポイントは、一般的なユーザーインターフェースで部屋に誰もログイン画面は、平均的なユーザーカードログインして、ログインインタフェースの左側には、管理者のログイン画面(オペレータ、管理者)は、ボード上の(ネイティブコードを呼び出す必要がオン)です。

ログフローチャート(一般ユーザと管理者)

コードは、一般の利用者(同様の管理者)を示し、

Private Sub cmdok_Click()
    Dim mrc As adodb.Recordset
    Dim txtsql As String
    Dim msgtext As String
    Dim frmlogin As Boolean
    
    '判断用户名和密码输入是否为空
    If testtxt(txtusername.Text) = False Then
        MsgBox "用户名不能为空,请输入用户名!", 0 + 48, 提示
        txtusername.SetFocus
        Exit Sub
    End If
    
    If testtxt(txtpwd.Text) = False Then
        MsgBox "密码不能为空,请输入密码!", 0 + 48, 提示
        txtpwd.SetFocus
        Exit Sub
    End If

   '从card表中查询
    txtsql = "select * from card_info where cardno='" & Trim(txtusername.Text) & "' and status='使用'"
    Set mrc = ExecuteSQL(txtsql, msgtext)
    
    '判断用户名和密码输入是否正确
    If mrc.EOF And mrc.BOF Then
        MsgBox "用户名不正确,请重新输入,还剩余" & (2 - a) & "次机会 !", 0 + 48, 提示
        txtusername.Text = ""
        txtpwd.Text = ""
        txtusername.SetFocus
        frmlogin = False
        a = a + 1
        '判断登陆次数
        If a > 2 Then
            MsgBox "登陆次数过多,将退出程序!", 0 + 48, 提示
            End
        End If
        Exit Sub
    Else
        '判断密码是否正确
        If Trim(mrc!pwd) = Trim(txtpwd.Text) Then
            '登录名和密码正确,登录主窗体
            username = Trim(txtusername.Text)
            frmlogin = True
            a = 0
            '登录成功,调用上机代码
            Call online(username)
        Else
            MsgBox "密码不正确,请重新输入,还剩余" & (2 - a) & "次机会 !", 0 + 48, 提示
            txtpwd.Text = ""
            txtpwd.SetFocus
            frmlogin = False
            a = a + 1
            '判断登陆次数
            If a > 2 Then
                MsgBox "登陆次数过多,将退出程序!", 0 + 48, 提示
                End
            End If
            Exit Sub
        End If
    End If
End Sub



一般ユーザは、マシン(私はその後、一般ユーザのログインと呼ばれるモジュールを書いたマシンコード)に記録されていること

フローチャートマシン

ネイティブコードモジュールのうち、

'上机
Public Function online(username As String)
    Dim mrc As adodb.Recordset
    Dim mrcbasic As adodb.Recordset
    Dim cardmrc As adodb.Recordset
    Dim txtsql, msgtext As String
    Dim d As Date
    Dim a As Integer
    '获取当前计算机名称
    c = VBA.Environ("computername")

    '查询卡里面的最低金额
    txtsql = "select * from basicdata_info"
    Set mrcbasic = ExecuteSQL(txtsql, msgtext)

    '查询该卡的余额
    txtsql = "select * from card_info where cardno='" & username & "'"
    Set cardmrc = ExecuteSQL(txtsql, msgtext)
   
    '判断卡里面的金额是否低于最低消费金额
    If mrcbasic!limitcash < cardmrc!cash Then
        
        '判断该卡是否正在上机
        txtsql = "select * from line_info where cardno='" & username & "'and status='上机中'"
        Set mrc = ExecuteSQL(txtsql, msgtext)
        
        If mrc.EOF = True And mrc.BOF = True Then
            '数据插入到上下机表中
            txtsql = "insert into line_info (cardno,cardtype,studentno,computer) values ('" & username & "','" & cardmrc!Type _
            & "','" & cardmrc!studentno & "','" & c & "')"
            Set mrc = ExecuteSQL(txtsql, msgtext)
           
            '显示上机时间
            frmcommonuser.txtonlinedate.Text = Now()
            frmcommonuser.Show

            '显示卡号信息
            frmcommonuser.txtcardno.Text = username
            frmcommonuser.txttype.Text = cardmrc!Type
            frmcommonuser.txtsno.Text = cardmrc!studentno
        
            txtsql = "select * from student_info where studentno='" & cardmrc!studentno & "'"
            Set mrc = ExecuteSQL(txtsql, msgtext)
        
            '显示学生信息
            frmcommonuser.txtsex.Text = mrc!sex
            frmcommonuser.txtdepartment.Text = mrc!department
            frmcommonuser.txtname.Text = mrc!studentname
            Exit Function
        Else
            MsgBox "此卡正在上机,请不要重复上机!", 0 + 48, 提示
            flogin.Show
            Exit Function
        End If
    Else
        MsgBox "卡内余额不足,请先充值!", 0 + 48, 提示
        Exit Function
    End If

End Function

 

公開された45元の記事 ウォン称賛10 ビュー6190

おすすめ

転載: blog.csdn.net/wtt15100/article/details/103255448