概述
机房收费系统其实和学生信息管理系统差不多,难度么有增加多少。关键在于需要我们在敲代码之前把思路搞清楚,代码并不是什么大事。这里我就采用了画流程图的形式,把要实现的功能都画出来,然后进行代码的编辑。下面就来分享我的思路和部分代码。
流程图
代码
Private Sub cmdOK_Click()
Dim txtSQL As String
Dim txtsql1 As String
Dim txtsql2 As String
Dim mrc As ADODB.Recordset '用来存放记录集对象
Dim mrc1 As ADODB.Recordset
Dim mrc2 As ADODB.Recordset
Dim msgtext As String
Dim msgtext1 As String
Dim msgtext2 As String
username = ""
If Trim(txtUserName.Text = "") Then '判断输入用户名是否为空
MsgBox "没有这个用户,请重新输入!", vbExclamation + vbQuestion, "提示"
txtUserName.SetFocus
txtpassword.Text = ""
Exit Sub
Else
If Trim(txtpassword.Text = "") Then
MsgBox "请输入密码!", vbOKOnly + vbExclamation, "提示"
txtUserName.SetFocus
txtpassword.Text = ""
Exit Sub
Else
txtSQL = "select * from user_info where userID='" & txtUserName.Text & "'"
Set mrc = ExecuteSQL(txtSQL, msgtext) '执行查询语句
txtsql2 = "select * from worklog_info where userid ='" & txtUserName.Text & "'"
Set mrc2 = ExecuteSQL(txtsql2, msgtext2)
txtsql1 = "select * from onwork_info where userid='" & txtUserName.Text & "'"
Set mrc1 = ExecuteSQL(txtsql1, msgtext1)
If mrc.EOF Then '
MsgBox "无此用户,请重新输入!", vbOKOnly + vbExclamation, "提示"
txtUserName.Text = ""
txtUserName.SetFocus
Exit Sub
Else
If mrc.Fields(0) = txtUserName.Text And mrc.Fields(1) = txtpassword.Text Then
End If
ok = True
username = Trim(txtUserName.Text)
If Trim(mrc.Fields(2)) = "管理员" Then
Else
If Trim(mrc.Fields(2)) = "操作员" Then
frmMain.manager.Enabled = False
Else
frmMain.manager.Enabled = False
frmMain.cmucz.Enabled = False
End If
End If
End If
If mrc1.EOF = False Then
MsgBox "此用户二次登陆", vbOKCancel + vbExclamation, "提示"
mrc1.Delete
mrc1.Update
mrc1.Close
Else
mrc1.AddNew
mrc1.Fields(0) = Trim(txtUserName)
mrc1.Fields(1) = Trim(mrc.Fields(2))
mrc1.Fields(2) = Trim(Date)
mrc1.Fields(3) = Time
mrc1.Update
mrc1.Close
mrc2.AddNew '添加记录到worklog_info表
mrc2.Fields(1) = Trim(txtUserName)
mrc2.Fields(2) = Trim(mrc.Fields(2))
mrc2.Fields(3) = Trim(Date)
mrc2.Fields(4) = Trim(Time)
mrc2.Fields(7) = VBA.Environ("computername")
mrc2.Fields(8) = True
mrc2.Update
mrc2.Close
Me.Hide
frmMain.Show
micount = micount + 1 '登录限制??
If micount = 3 Then
MsgBox "超过登录限制!", vbOKOnly + vbExclamation, "警告"
End '退出
End If
End If
End If
End If
End Sub
总结
就整个登录界面来说比较麻烦的就是判断用户级别,学生信息系统没有这样划分。用户级别的判断需要明白的是:一般用户的权限最低,它不能查看管理员和操作员的相关权限;而管理员其次,管理员可以看一般用户的权限,没有操作员的权限;而权力最大的就是操作员。所以只要清楚这个了其他的就好判断了。