📄 frmmdi.frm
字号:
Attribute VB_Name = "frmMDI"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Option Base 1
Dim ws As Workspace, db As Database, rs As Recordset
'声明动态数组(读入人员的权限)
Dim ReadPurString() As Boolean
Dim ReadIndex As Integer
Private Sub MDIForm_Activate()
Toolbar1.Refresh '刷新工具栏
StatusBar1.Refresh '刷新状态栏
'在状态栏的窗格上显示人员名、姓名及日期
StatusBar1.Panels(1).Text = OperatorPersonName
StatusBar1.Panels(2).Text = OperatorName
StatusBar1.Panels(8).Text = Year(Now) & "年" & Month(Now) & "月" & Day(Now) & "日"
End Sub
Private Sub MDIForm_Load()
'调入Office助手
Dim AppName As String
AppName = App.Path & "\Agent\Genius.ACS"
'装入动画人物数据,其中第一个参数为CharacterID
MsAgent.Characters.Load "OFFCAT", AppName
'获取与CharacterID相对应的IAgentCtlCharacter变量
Set OFFCAT = MsAgent.Characters("OFFCAT")
'显示/隐藏动画角色
OFFCAT.MoveTo 920, 20
OFFCAT.Show
OFFCAT.Play "wave"
OFFCAT.Speak "欢迎您进入——北京电子科技学院图书管理系统!"
OFFCAT.Play "congratulate"
'读入每个人员的权限
Dim strAppName As String
strAppName = App.Path + "\人员库.mdb"
Set ws = DBEngine.Workspaces(0)
Set db = ws.OpenDatabase(strAppName, False, True)
Set rs = db.OpenRecordset("权限表")
Dim i, j, ReadCount As Integer
ReadCount = rs.RecordCount
ReDim Preserve ReadPurString(ReadCount, PurviewCount)
rs.MoveFirst
For i = 1 To ReadCount
If OperatorPersonNum = rs.Fields("人员代号") Then ReadIndex = i
For j = 1 To PurviewCount
ReadPurString(i, j) = rs.Fields(1 + j)
Next j
rs.MoveNext
Next i
rs.Close
db.Close
ws.Close
Set rs = Nothing
Set db = Nothing
Set ws = Nothing
'在菜单及工具栏上显示权限作用的结果
mnuParameterMaintenance.Enabled = True '参数维护
Toolbar1.Buttons.Item(10).Enabled = True '参数维护
mnuPrintReport.Enabled = False '数据打印
Toolbar1.Buttons.Item(14).Enabled = False '数据打印
Toolbar1.Buttons.Item(2).Enabled = ReadPurString(ReadIndex, 1) '借书作业
Toolbar1.Buttons.Item(3).Enabled = ReadPurString(ReadIndex, 2) '还书作业
mnuBorrow.Enabled = ReadPurString(ReadIndex, 1) '借书作业
mnuReturn.Enabled = ReadPurString(ReadIndex, 2) '还书作业
mnuBorrowReturn.Enabled = ReadPurString(ReadIndex, 1) And ReadPurString(ReadIndex, 2) '借还书管理
Toolbar1.Buttons.Item(6).Enabled = ReadPurString(ReadIndex, 3) Or _
ReadPurString(ReadIndex, 4) Or ReadPurString(ReadIndex, 5) Or ReadPurString(ReadIndex, 6) '读者管理
mnuReaderManager.Enabled = ReadPurString(ReadIndex, 3) Or ReadPurString(ReadIndex, 4) _
Or ReadPurString(ReadIndex, 5) Or ReadPurString(ReadIndex, 6) '读者管理
mnuAddReader.Enabled = ReadPurString(ReadIndex, 3) '新增读者
mnuModifyReader.Enabled = ReadPurString(ReadIndex, 4) '读者修改
mnuLibraryCardManager.Enabled = ReadPurString(ReadIndex, 7) '借书证管理
Toolbar1.Buttons.Item(5).Enabled = ReadPurString(ReadIndex, 8) Or _
ReadPurString(ReadIndex, 9) Or ReadPurString(ReadIndex, 10) '图书管理
mnuBooksManager.Enabled = ReadPurString(ReadIndex, 8) Or _
ReadPurString(ReadIndex, 9) Or ReadPurString(ReadIndex, 10) '图书管理
mnuNewBook.Enabled = ReadPurString(ReadIndex, 8) '新增图书
mnuModifyBook.Enabled = ReadPurString(ReadIndex, 9) '修改图书
mnuQueryStatistics.Enabled = ReadPurString(ReadIndex, 11) '查询统计
Toolbar1.Buttons.Item(7).Enabled = ReadPurString(ReadIndex, 11) '查询
Toolbar1.Buttons.Item(8).Enabled = ReadPurString(ReadIndex, 11) '统计排名
'mnuPrintReport.Enabled = ReadPurString(ReadIndex, 12) '打印报表
'Toolbar1.Buttons.Item(14).Enabled = ReadPurString(ReadIndex, 12) '打印功能
mnuPersonnelManager.Enabled = ReadPurString(ReadIndex, 13) '用户管理
Toolbar1.Buttons.Item(11).Enabled = ReadPurString(ReadIndex, 13) '用户管理
End Sub
Private Sub mnuAbout_Click() '关于
frmAbout.Show vbModal
End Sub
Private Sub mnuAssortBook_Click() '图书分类查询
frmAssortBook.Show
End Sub
Private Sub mnuBorrow_Click() '借书作业
BRState = 0
frmBorrowReturn.Show
End Sub
Private Sub mnuCalculator_Click() '计算器
Dim strPath As String
strPath = "c:\windows\system32\calc.exe" '系统目录
'如果为Windows98,则路径为c:\windows\calc.exe
Shell strPath, vbNormalFocus '调用程序
End Sub
Private Sub mnuChangePassword_Click() '修改密码
frmChangePassword.Show vbModal
End Sub
Private Sub mnuLibraryCardManager_Click()
frmLibCardManager.Show '借书证管理
End Sub
Private Sub mnuLogOut_Click() '注销
OFFCAT.Hide
Me.Hide
On Error Resume Next
Dim frmMDIChild As Form
For Each frmMDIChild In Forms '关闭所有MDI子窗体
If frmMDIChild.MDIChild = True Then
Unload frmMDIChild
End If
Next
Dim fLogin As New frmLogin
fLogin.Show vbModal
If Not fLogin.LoginSucceeded Then
'登录失败,退出应用程序
End
End If
Unload fLogin
Me.Show
MDIForm_Load
MDIForm_Activate
End Sub
Private Sub mnuModifyBook_Click()
BookState = 2
frmBooksManager.Show '图书资料修改
End Sub
Private Sub mnuModifyReader_Click()
ReaderState = 2
frmReaderManager.Show '读者资料修改
End Sub
Private Sub mnuNotepad_Click() '记事本
Dim strPath As String
strPath = "c:\windows\system32\notepad.exe" '系统目录
'如果为Windows98,则路径为c:\windows\notepad.exe
Shell strPath, vbNormalFocus '调用程序
End Sub
Private Sub mnuPersonnelManager_Click()
frmPersonnelManager.Show vbModal '人员管理
End Sub
Private Sub mnuQueryBook_Click() '借还书情况查询
frmQueryBook.Show
End Sub
Private Sub mnuQueryCard_Click() '借书证查询
frmQueryCard.Show
End Sub
Private Sub mnuQueryReader_Click() '读者查询
frmQueryReader.Show
End Sub
Private Sub mnuReturn_Click() '还书作业
BRState = 1
frmBorrowReturn.Show
End Sub
Private Sub mnuStatisticLend_Click() '借出情况统计表
frmStatisticLend.Show vbModal
End Sub
Private Sub mnuStatisticsMonthly_Click() '按月统计表
frmStatisticsMonthly.Show
End Sub
Private Sub mnuWindowArrange_Click()
' 对任何已经最小化的子窗体排列图标。
frmMDI.Arrange vbArrangeIcons
End Sub
Private Sub mnuWindowCascade_Click()
frmMDI.Arrange vbCascade '层叠子窗体
End Sub
Private Sub mnuWindowTileHorizontal_Click()
frmMDI.Arrange vbTileHorizontal '水平平铺子窗体
End Sub
Private Sub mnuWindowTileVertical_Click()
frmMDI.Arrange vbTileVertical '垂直平铺子窗体
End Sub
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
On Error Resume Next
Select Case Button.Key
Case "Book1" '借书作业
BRState = 0
frmBorrowReturn.Show
Case "Book2" '还书作业
BRState = 1
frmBorrowReturn.Show
Case "Books" '图书管理"
BookState = 0
frmBooksManager.Show
Case "Account" '读者管理
ReaderState = 0
frmReaderManager.Show
Case "Person" '人员管理
frmPersonnelManager.Show vbModal
Case "Key" '修改密码
frmChangePassword.Show vbModal
Case "About" '关于
frmAbout.Show vbModal
Case "Logout" '注销
mnuLogOut_Click
Case "Shutdown" '退出
OFFCAT.Hide
OFFCAT.Stop
Unload Me
End
End Select
End Sub
Private Sub mnuAddReader_Click()
ReaderState = 1
frmReaderManager.Show '新增读者
End Sub
Private Sub mnuExit_Click() '退出
OFFCAT.Hide
OFFCAT.Stop
Unload Me
End
End Sub
Private Sub mnuNewBook_Click()
BookState = 1
frmBooksManager.Show '新书入库
End Sub
Private Sub Toolbar1_ButtonMenuClick(ByVal ButtonMenu As MSComctlLib.ButtonMenu)
Select Case ButtonMenu.Key
Case "tlbQueryCard" '借书证查询
frmQueryCard.Show
Case "tlbQueryReader" '读者查询
frmQueryReader.Show
Case "tlbQueryAssort" '图书分类查询
frmAssortBook.Show
Case "tlbQueryBook" '借还书情况查询
frmQueryBook.Show
End Select
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -