📄 frmmain.frm
字号:
ImageIndex = 4
EndProperty
BeginProperty Button5 {66833FEA-8583-11D1-B16A-00C0F0283628}
Caption = "图书入库"
Object.ToolTipText = "添加图书"
ImageIndex = 5
EndProperty
BeginProperty Button6 {66833FEA-8583-11D1-B16A-00C0F0283628}
Style = 3
EndProperty
BeginProperty Button7 {66833FEA-8583-11D1-B16A-00C0F0283628}
Caption = "图书浏览"
Object.ToolTipText = "查询图书"
ImageIndex = 6
EndProperty
BeginProperty Button8 {66833FEA-8583-11D1-B16A-00C0F0283628}
Caption = "读者浏览"
Object.ToolTipText = "浏览读者状况"
ImageIndex = 7
EndProperty
BeginProperty Button9 {66833FEA-8583-11D1-B16A-00C0F0283628}
Caption = "借阅浏览"
Object.ToolTipText = "浏览借阅关系"
ImageIndex = 8
EndProperty
BeginProperty Button10 {66833FEA-8583-11D1-B16A-00C0F0283628}
Style = 3
EndProperty
BeginProperty Button11 {66833FEA-8583-11D1-B16A-00C0F0283628}
Caption = "注销用户"
Object.ToolTipText = "切换用户"
ImageIndex = 9
EndProperty
BeginProperty Button12 {66833FEA-8583-11D1-B16A-00C0F0283628}
Style = 3
EndProperty
BeginProperty Button13 {66833FEA-8583-11D1-B16A-00C0F0283628}
Caption = "关于"
ImageIndex = 10
EndProperty
BeginProperty Button14 {66833FEA-8583-11D1-B16A-00C0F0283628}
Style = 3
EndProperty
BeginProperty Button15 {66833FEA-8583-11D1-B16A-00C0F0283628}
Caption = "退出系统"
Object.ToolTipText = "退出图书管理系统"
ImageIndex = 2
EndProperty
EndProperty
End
Begin VB.Label Label2
Caption = "您借阅如下书"
ForeColor = &H000000FF&
Height = 255
Left = 360
TabIndex = 7
Top = 5760
Width = 1215
End
Begin VB.Label Label1
BackColor = &H00FFFFC0&
Caption = "注意:如果您要借书或者还书请先进行读者登陆。如果还没有进行注册,请先进行注册."
Height = 1215
Left = 240
TabIndex = 6
Top = 4080
Width = 1335
End
Begin VB.Menu 系统
Caption = "系统(&S)"
Begin VB.Menu 用户管理
Caption = "用户管理"
Shortcut = ^U
End
Begin VB.Menu 注销用户
Caption = "注销用户"
Shortcut = ^L
End
Begin VB.Menu 系统设置
Caption = "系统设置"
Shortcut = ^S
End
Begin VB.Menu a1
Caption = "-"
End
Begin VB.Menu 退出系统
Caption = "退出系统"
Shortcut = ^E
End
End
Begin VB.Menu 借阅
Caption = "借阅(&B)"
Begin VB.Menu 借书
Caption = "借书"
Shortcut = ^J
End
Begin VB.Menu 还书
Caption = "还书"
Shortcut = ^H
End
End
Begin VB.Menu 记录查询
Caption = "记录查询(&V)"
Begin VB.Menu 图书浏览
Caption = "图书浏览"
Shortcut = ^T
End
Begin VB.Menu 读者浏览
Caption = "读者浏览"
Shortcut = ^R
End
Begin VB.Menu cc
Caption = "-"
End
Begin VB.Menu 借阅浏览
Caption = "借阅浏览"
Shortcut = ^B
End
Begin VB.Menu bb
Caption = "-"
End
Begin VB.Menu 罚款记录
Caption = "罚款记录"
Shortcut = ^P
End
End
Begin VB.Menu 报表打印
Caption = "报表打印(&P)"
Begin VB.Menu 在馆图书
Caption = "在馆图书"
End
Begin VB.Menu 外借图书
Caption = "外借图书"
End
End
Begin VB.Menu 数据库维护
Caption = "数据库维护(&D)"
Begin VB.Menu 表清理
Caption = "表清理"
End
Begin VB.Menu a3
Caption = "-"
End
Begin VB.Menu 数据备份
Caption = "数据备份"
Shortcut = ^O
End
Begin VB.Menu 删除备份
Caption = "删除备份"
Shortcut = ^D
End
End
Begin VB.Menu 帮助
Caption = "帮助(&H)"
Begin VB.Menu 源代码
Caption = "源代码"
End
Begin VB.Menu 我的网站
Caption = "我的网站"
Shortcut = ^W
End
Begin VB.Menu 关于
Caption = "关于"
Shortcut = {F1}
End
End
End
Attribute VB_Name = "FrmMain"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub CmdBack_Click()
Dim rs As ADODB.Recordset
Dim rsPunish As ADODB.Recordset
Dim SQL As String
Dim iDays As Integer
Dim tempDate As Date
Dim iPunish As Integer
If CmbBookNo.Text = "" Then
MsgBox "对不起,还书的图书编号不能为空.", vbExclamation + vbOKOnly, "警告"
Exit Sub
End If
If TxtReaderNo.Text = "" Then
MsgBox "对不起,请先进行读者登陆.", vbExclamation + vbOKOnly, "警告"
Exit Sub
End If
If MsgBox("真的要归还该图书吗?", vbQuestion + vbYesNo, "加平图书管理系统") = vbNo Then
Exit Sub
End If
'选择该借书记录
SQL = "SELECT 借阅日期,归还日期,是否已还 FROM borrow WHERE 借书证号='" & TxtReaderNo2.Text & "' AND 图书编号='" & CmbBookNo.Text & "' AND 是否已还=FALSE"
Set rs = ExecuteSQL(SQL)
If rs.EOF And rs.BOF Then
rs.Close
Set rs = Nothing
Exit Sub
End If
'查看是否已经超出规定天数
dateTemp = rs.Fields("借阅日期")
iDays = Date - dateTemp
If iDays > 90 Then
iPunish = 0.5 * (iDays - 90)
MsgBox "您共超出" & iDays - 90 & "天 共需罚款" & iPunish & " 元" & Chr(13) & "以后请及时归还", vbInformation + vbOKOnly, "罚款"
SQL = "SELECT * FROM punish"
Set rsPunish = ExecuteSQL(SQL)
rsPunish.AddNew
rsPunish.Fields("借书证号") = TxtReaderNo2.Text
rsPunish.Fields("图书编号") = CmbBookNo.Text
rsPunish.Fields("罚款金额") = iPunish
rsPunish.Fields("罚款日期") = Date
rsPunish.Update
rsPunish.Close
Set rsPunish = Nothing
End If
'将修改借阅记录
rs.Fields("归还日期") = Date
rs.Fields("是否已还") = True
rs.Update
rs.Close
Set rs = Nothing
'更新读者的已借图书
SQL = "UPDATE reader SET 已借图书 = 已借图书 -1 WHERE 借书证号= '" & TxtReaderNo.Text & "'"
ExecuteSQL (SQL)
'更新书库记录
SQL = "UPDATE book SET 剩余量 = 剩余量 +1 WHERE 图书编号 = '" & TxtBookNo.Text & "'"
ExecuteSQL (SQL)
MsgBox "还书操作成功!", vbInformation + vbOKOnly, "恭喜你"
TxtBookName2.Text = ""
TxtBookPrice2.Text = ""
TxtBookPress2.Text = ""
TxtBookKind2.Text = ""
TxtBookAuthor2.Text = ""
TxtBorrowDate.Text = ""
TxtDays.Text = ""
CmdBack.Visible = False
Call DisplayFlexGrid
End Sub
Private Sub CmdBorrow_Click()
Dim rs As ADODB.Recordset
Dim SQL As String
Dim dateTemp As Date
Dim dateCount As Integer
Dim readDays As Integer
Dim punishDays As Integer
Dim punishMoney As Integer
Dim punishTotal As Single
'首先进行必要检查
If TxtReaderNo.Text = "" Then
MsgBox "对不起,请进行读者登陆.", vbExclamation + vbOKOnly, "警告"
Exit Sub
End If
If TxtBookNo.Text = "" Then
MsgBox "对不起,请输入图书编号.", vbExclamation + vbOKOnly, "警告"
Exit Sub
End If
'检查该用户是否可以继续借书
SQL = "SELECT 读者类别,已借图书 FROM reader WHERE 借书证号='" & TxtReaderNo.Text & "'"
Set rs = ExecuteSQL(SQL)
Select Case rs.Fields("读者类别")
Case "A"
readDays = GetPrivateProfileInt("Reader", "A", 10, App.Path & "\lib.ini")
Case "B"
readDays = GetPrivateProfileInt("Reader", "B", 5, App.Path & "\lib.ini")
Case "C"
readDays = GetPrivateProfileInt("Reader", "C", 3, App.Path & "\lib.ini")
End Select
If Val(rs.Fields("已借图书")) >= readDays Then
MsgBox "对不起,您无法再借书了,请选还掉几本再借..", vbExclamation + vbOKOnly, "警告"
rs.Close
Set rs = Nothing
Exit Sub
End If
rs.Close
Set rs = Nothing
'读取罚款设置
punishDays = GetPrivateProfileInt("punish", "days", 10, App.Path & "\lib.ini")
punishMoney = GetPrivateProfileInt("punish", "money", 10, App.Path & "\lib.ini")
'开始执行借书,首先检查该读者是否已经借过此书
SQL = "SELECT * FROM borrow WHERE 图书编号='" & TxtBookNo.Text & "'AND 借书证号='" & TxtReaderNo.Text & "' AND borrow.是否已还=FALSE"
Set rs = ExecuteSQL(SQL)
If rs.EOF And rs.BOF Then
rs.AddNew
rs.Fields("图书编号") = TxtBookNo.Text
rs.Fields("借书证号") = TxtReaderNo.Text
rs.Fields("借阅日期") = Date
rs.Fields("归还日期") = Date
rs.Update
rs.Close
Set rs = Nothing
'更新读者的已借图书
SQL = "UPDATE reader SET 已借图书 = 已借图书 + 1 WHERE 借书证号= '" & TxtReaderNo.Text & "'"
ExecuteSQL (SQL)
'更新书库记录
SQL = "UPDATE book SET 剩余量 = 剩余量 -1 WHERE 图书编号 = '" & TxtBookNo.Text & "'"
ExecuteSQL (SQL)
MsgBox "借书成功..", vbInformation + vbOKOnly, "恭喜你"
Else
'如果已经借阅了检察是否超出日期
dateTemp = rs.Fields("借阅日期")
dateCount = Date - dateTemp
If dateCount > punishDays Then
punishCount = (dateCount - 90) * (punishMoney / 10#)
MsgBox "你超出了几天了,共需罚款." & punishycount & "元,请尽快归还!", vbExclamation + vbOKOnly, "警告"
Exit Sub
End If
'询问是否需要续借
If MsgBox("是否续借该图书?", vbQuestion + vbYesNo, "加平图书管理系统") = vbYes Then
SQL = "UPDATE borrow SET 借阅日期='" & Date & "' WHERE 图书编号='" & TxtBookNo.Text & "'AND 借书证号='" & TxtReaderNo.Text & "'"
ExecuteSQL (SQL)
MsgBox "续借成功..", vbInformation + vbOKOnly, "恭喜你"
End If
End If
'刷新FlexGrid
Call DisplayFlexGrid
End Sub
Private Sub CmdDisplay_Click()
Dim rs As New ADODB.Recordset
Dim SQL As String
Dim dateTemp As Date
Dim iDays As Integer
'当用户已借图书下拉框改变时
If CmbBookNo.Text = "" Then
TxtBookName2.Text = ""
TxtBookPrice2.Text = ""
TxtBookPress2.Text = ""
TxtBookKind2.Text = ""
TxtBookAuthor2.Text = ""
TxtBorrowDate.Text = ""
TxtDays.Text = ""
CmdBack.Visible = False
Else
SQL = "SELECT 书名,价钱,出版社,类别,作者,借阅日期 FROM book,borrow WHERE book.图书编号=borrow.图书编号 AND borrow.借书证号='" & TxtReaderNo2.Text & "' AND borrow.图书编号='" & CmbBookNo.Text & "'"
Set rs = ExecuteSQL(SQL)
If rs.EOF And rs.BOF Then
rs.Close
Set rs = Nothing
Exit Sub
End If
TxtBookName2.Text = rs.Fields("书名")
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -