⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 borrow.frm

📁 图书管理系统,用vb语言编成,希望大家可以试用一下.很方便哦.
💻 FRM
📖 第 1 页 / 共 2 页
字号:
If Text10 = "" Then
MsgBox "请输入书号!", 16
Exit Sub
End If
If Text9 = "" Then
MsgBox "请输入学号", 16
Exit Sub
End If
ssql = "select * from S_no where 学号='" & Text9.Text & "'" '查询学号是否存在,不存在则退出过程
Set user_me = cn.Execute(ssql)
If user_me.EOF Then
MsgBox "学号不存在,无借书权限", 16
Exit Sub
End If
ssql = "select * from libary where 书号='" & Text10.Text & "'" '查询书是否已借出
Set user_me = cn.Execute(ssql)
If Not user_me.EOF Then
MsgBox "此书已借出,请确认输入是否正确", 16
Exit Sub
End If
ssql = "select * from S_book where 书号='" & Text10.Text & "'" '查询书号是否存在
Set user_me = cn.Execute(ssql) '用行集判断书号是否存在,没有用recordset记录集
If user_me.EOF Then
MsgBox "书号不存在,请确认是否输入正确!", 16
Exit Sub
End If
Data1.Recordset.AddNew
bflag = True
'把借书操作写入数据库
Text1.Text = Text9.Text
Text2.Text = Text10.Text
Text3.Text = Text11.Text
Text4.Text = Text12.Text
Text5.Text = Text14.Text
Text6.Text = Text15.Text
'借书成功后修改该书的在馆状态{
ssql = "update S_book set 状态='借出' where 书号='" & Text10.Text & "'" '删除一列把 add 换成 drop
cn.Execute (ssql) '}
Dim itmx As ListItem
Form1.ListView1.ListItems.Clear
Data1.Recordset.FindFirst "学号='" & Text1.Text & "'" '通过text7,text8来传递查询值
Do While Not Data1.Recordset.NoMatch
'Do While Not user_me.EOF
Set itmx = Form1.ListView1.ListItems.Add(, , Text1) '显示该学号以往所借书籍
itmx.SubItems(1) = Text2
       itmx.SubItems(2) = Text3
       itmx.SubItems(3) = Text4
         itmx.SubItems(4) = Text5
       itmx.SubItems(5) = Text6
               itmx.SubItems(6) = "已借"
           Data1.Recordset.FindNext "学号='" & Text1.Text & "'"
                 Loop
If backup = True Then
Label3.Caption = "学号:"
Label4.Caption = "书号:"
Text14.Visible = False
Text15.Visible = False
Text9.Visible = True
Text10.Visible = True
Command3.Caption = "备注"
backup = False
End If
                 Exit Sub
wrong:
MsgBox Err.Description, 16
End Sub

Private Sub Command1_Click()
rc = MsgBox("确定要取消借书操作吗?", 49)
If rc = vbOK Then
If bflag = True Then
Data1.Recordset.CancelUpdate
End If
Else
Exit Sub
End If
Unload Me
End Sub

Private Sub Bak_Click()
Dim Accessday As Boolean
Accessday = False
If Text7 = "" Then
MsgBox "请输入书号", 16
Exit Sub
End If
If Text7 = "" Then
MsgBox "请确认书号", 16
Exit Sub
End If
If Text7.Text = Text8.Text Then
ssql = "select * from S_book where 书号='" & Text7.Text & "'" '查询书号是否存在
Set user_me = cn.Execute(ssql)
If Not user_me.EOF Then
Data1.Recordset.FindFirst "书号='" & Text7.Text & "'" '查询是否存在借书记录
If Not Data1.Recordset.NoMatch Then
Text13 = Text1
'判断还书是否逾期!{
Dim de As Date
de = Text3
If Year(Now()) = Year(de) Then
If Month(Now()) - Month(de) > 2 Then
MsgBox "已超过还书日期期" & Month(Now()) - Month(de) & "个月!", 48
Accessday = True
End If
If Month(Now()) - Month(de) = 2 And Day(Now()) > Day(de) Then
MsgBox "已超过还书日期" & Day(Now()) - Day(de) & "天!", 48
Accessday = True
End If
Else
If Year(Now()) > Year(de) Then
If Month(Now()) + 12 - Month(de) > 2 Then
MsgBox "已超过还书日期" & Month(Now()) + 12 - Month(de) & "个月!", 48
Accessday = True
End If
If Month(Now()) + 12 - Month(de) = 2 And Day(Now()) > Day(de) Then
MsgBox "已超过还书日期" & Day(Now()) - Day(de) & "天!", 48
Accessday = True
End If
Else
MsgBox "请确认系统时间是否正确!"
End If
End If '}
If Not Accessday Then
Data1.Recordset.Delete '找到后若没有逾期便删除借书记录
ssql = "update S_book set 状态='在馆' where 书号='" & Text7.Text & "'" '删除一列把 add 换成 drop
cn.Execute (ssql) '删除成功后修改该书的在馆状态
Else
rc = MsgBox("确定要归还已逾期的书籍吗?", 49)
If rc = vbOK Then
Data1.Recordset.Delete
ssql = "update S_book set 状态='在馆' where 书号='" & Text7.Text & "'" '删除一列把 add 换成 drop
cn.Execute (ssql) '删除成功后修改该书的在馆状态
End If
End If
Else
MsgBox "无当前记录", 16 '借书记录不存在退出该过程
Exit Sub
End If
Else
MsgBox "书号不存在,请确认是否输入正确!"
Exit Sub
End If
Else
MsgBox "书号不一致,请重试!", 48
Exit Sub
End If
'在listview1中显示该学号以往的借书记录
Form1.ListView1.ListItems.Clear
Data1.Recordset.FindFirst "学号='" & Text13.Text & "'" '查询还书者所借的所有书并予以显示{
Dim itmx As ListItem
Do While Not Data1.Recordset.NoMatch
Set itmx = Form1.ListView1.ListItems.Add(, , Text1)
itmx.SubItems(1) = Text2
       itmx.SubItems(2) = Text3
       itmx.SubItems(3) = Text4
         itmx.SubItems(4) = Text5
       itmx.SubItems(5) = Text6
               itmx.SubItems(6) = "已借"
           Data1.Recordset.FindNext "学号='" & Text13.Text & "'"
                 Loop '}
End Sub



'续借其实是跟还书的过程很相似,还书是删除数据,而续借只是修改还书日期
Private Sub Command2_Click()
Dim Accessday As Boolean
Accessday = False
If Text7 = "" Then
MsgBox "请输入书号", 16
Exit Sub
End If
If Text7 = "" Then
MsgBox "请确认书号", 16
Exit Sub
End If
If Text7.Text = Text8.Text Then
ssql = "select * from S_book where 书号='" & Text7.Text & "'" '查询书号是否存在
Set user_me = cn.Execute(ssql)
If Not user_me.EOF Then
Data1.Recordset.FindFirst "书号='" & Text7.Text & "'" '查询是否存在借书记录
If Not Data1.Recordset.NoMatch Then
Text13 = Text1
'判断还书是否逾期!{
Dim de As Date
de = Text3
If Year(Now()) = Year(de) Then
If Month(Now()) - Month(de) > 2 Then
MsgBox "已超过还书日期期" & Month(Now()) - Month(de) & "个月!", 48
Accessday = True
End If
If Month(Now()) - Month(de) = 2 And Day(Now()) > Day(de) Then
MsgBox "已超过还书日期" & Day(Now()) - Day(de) & "天!", 48
Accessday = True
End If
Else
If Year(Now()) > Year(de) Then
If Month(Now()) + 12 - Month(de) > 2 Then
MsgBox "已超过还书日期" & Month(Now()) + 12 - Month(de) & "个月!", 48
Accessday = True
End If
If Month(Now()) + 12 - Month(de) = 2 And Day(Now()) > Day(de) Then
MsgBox "已超过还书日期" & Day(Now()) - Day(de) & "天!", 48
Accessday = True
End If
Else
MsgBox "请确认系统时间是否正确!"
End If
End If '}
If Not Accessday Then
'找到后若没有逾期便删除借书记录
ssql = "update libary set 还书日期='" & Text12 & "' where 书号='" & Text7.Text & "'" '删除一列把 add 换成 drop
cn.Execute (ssql) '删除成功后修改该书的在馆状态
Else
rc = MsgBox("确定要归还已逾期的书籍吗?", 49)
If rc = vbOK Then
Data1.Recordset.Delete
ssql = "update S_book set 状态='在馆' where 书号='" & Text7.Text & "'" '删除一列把 add 换成 drop
cn.Execute (ssql) '删除成功后修改该书的在馆状态
End If
End If
Else
MsgBox "无当前记录", 16 '借书记录不存在退出该过程
Exit Sub
End If
Else
MsgBox "书号不存在,请确认是否输入正确!"
Exit Sub
End If
Else
MsgBox "书号不一致,请重试!", 48
Exit Sub
End If
'在listview1中显示该学号以往的借书记录
Form1.ListView1.ListItems.Clear
Data1.Recordset.FindFirst "学号='" & Text13.Text & "'" '查询还书者所借的所有书并予以显示{
Dim itmx As ListItem
Do While Not Data1.Recordset.NoMatch
Set itmx = Form1.ListView1.ListItems.Add(, , Text1)
itmx.SubItems(1) = Text2
       itmx.SubItems(2) = Text3
       itmx.SubItems(3) = Text4
         itmx.SubItems(4) = Text5
       itmx.SubItems(5) = Text6
               itmx.SubItems(6) = "已借"
           Data1.Recordset.FindNext "学号='" & Text13.Text & "'"
                 Loop '}
End Sub

Private Sub Command3_Click()
'判断是否输入备注
If Command3.Caption = "备注" Then
Label3.Caption = "书名:"
Label4.Caption = "介绍:"
Text9.Visible = False
Text10.Visible = False
Text14.Visible = True
Text15.Visible = True
Command3.Caption = "返回"
backup = True
Else
Label3.Caption = "学号:"
Label4.Caption = "书号:"
Text14.Visible = False
Text15.Visible = False
Text9.Visible = True
Text10.Visible = True
Command3.Caption = "备注"
backup = False
End If
End Sub


Private Sub Command4_Click()
Unload Me
End Sub


Private Sub Form_Load()
Me.Icon = Form1.Icon
Left = (Screen.Width - Width) \ 2
Top = (Screen.Height - Height) \ 2
cn.Open "Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=libary.mdb" '打开数据库
bflag = False
backup = False
End Sub

Private Sub Form_Unload(cancel As Integer)
cn.Close
End Sub


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -