前言:
机房收费系统包括很多个部分,主窗体菜单的多个功能,将其连到一起。从思路上:对机房要有一个整体的思路,从登录窗体进来之后,连接所有界面的窗体。是整个机房收费系统中唯一的MDI窗体。
内容:
主窗体有几大功能:
1.显示菜单中的窗体
菜单命名
主界面菜单编辑器命名如下,窗体命名时前边加了frm~
一般用户 GeneralUser
学生查看余额 InquiryBalance
学生查看上机记录InquiryLineRecord
学生充值记录查询 InquiryRechargeRecord
学生上机状态查看 InquiryLineState
修改密码 ModifyPwd
退出 Exit
操作员Operator(下边简写为Op)
注册 Register
充值 Recharge
退卡 BackCard
收取金额查询 InquiryCollectMoney
金额返还信息查询 InquiryRefundInfo
学生基本信息维护 StuInfoMain
修改学生信息frmModifyStuinfo
学生上机统计信息查询 InquirystuLineSumInfo
操作员工作记录 OpWorkRecord
管理员 Administrator简写
结账 Account
添加或删除用户 AddorDeleteUser
基本数据设定 BasicDataSet
正在值班教师 TeacherOnduty
日结账单 DayBill
周结账单 WeekBil
帮助 {HelpMenu
说明 howtoMenu
关于 About
2.上下机
3.记录时间,人数
记录人数
Private Sub MDIForm_Load()
txtSQL = "select * from online_Info"
Set mrc = ExecuteSQL(txtSQL, MsgText)
Me.Label17.Caption = mrc.RecordCount
End Sub
记录时间 timer1
Private Sub Timer1_Timer()
Label19.Caption = Time
End Sub
4.设置权限
在登录界面设置权限的时候会有错误。
设置权限,就要放在主窗体上
Private Sub MDIForm_Load()
txtSQL = "select * from User_Info where userID='" & UserName & "'"
Set mrcc4 = ExecuteSQL(txtSQL, MsgText)
If Trim(mrcc4.Fields(2)) = "管理员" Then
Else
If Trim(mrcc4.Fields(2)) = "操作员" Then
Me.Admin.Enabled = False
Else
Me.Admin.Enabled = False
Me.Operator.Enabled = False
End If
End If
End Sub
5.设置子窗体
6.MDI窗体卸载
queryunload事件
当操作者进行关闭窗体的操作时,即通过Unload(卸载)语句或按了窗体右上角的关闭按钮时,发生此事件。该事件优先于Unload事件发生,并且QueryUnload事件比Unload事件多返回一项关闭事件来源的功能。
Private Sub MDIForm_QueryUnload(Cancel As Integer, UnloadMode As Integer) Dim txtSQL As String Dim mrc00 As adodb.Recordset Dim MsgText As String Dim mrc01 As adodb.Recordset txtSQL = "select * from worklog_info where userID= '" & UserName & "'and status='True'" Set mrc00 = ExecuteSQL(txtSQL, MsgText) txtSQL = "select * from onwork_info where userID= '" & UserName & "'" Set mrc01 = ExecuteSQL(txtSQL, MsgText) If Me.Label17.Caption > 0 Then '上机人数>0 m = MsgBox("还有没有下机用户,确认要退出?", vbQuestion + vbYesNo) Else m = MsgBox("确认要退出?", vbQuestion + vbYesNo) End If If m = vbYes Then Cancel = 0 ' 退出窗体 mrc00.Fields(5) = Date '向worklog表中添加时间信息 mrc00.Fields(6) = Time mrc00.Fields(8) = "False" mrc00.Update mrc01.Delete mrc01.Close Else Cancel = 1 '不退出窗体 End If End Sub
在退出系统以后,需要把所有信息都要保持完整,记录用户的信息在数据库中更新。
总结:
机房收费系统的主窗体,是一个很关键的部分,在敲完机房之后觉得有很多东西需要去考虑,想的问题需要全面。