📄 图书流通.frm
字号:
Left = 240
TabIndex = 7
Top = 600
Width = 2535
Begin VB.TextBox Txtbookid1
Height = 405
Left = 1080
TabIndex = 8
Top = 240
Width = 1335
End
Begin VB.Label Label1
Caption = "图书ID号:"
Height = 255
Left = 120
TabIndex = 9
Top = 240
Width = 975
End
End
Begin VB.Frame Frame2
Height = 735
Left = 2760
TabIndex = 4
Top = 600
Width = 2535
Begin VB.TextBox Txtreaderid1
Height = 405
Left = 1080
TabIndex = 5
Top = 240
Width = 1335
End
Begin VB.Label Label2
Caption = "读者ID号:"
Height = 255
Left = 120
TabIndex = 6
Top = 240
Width = 975
End
End
Begin VB.Frame Frame3
Height = 735
Left = 240
TabIndex = 1
Top = 1320
Width = 5055
Begin VB.TextBox txtbookname1
BackColor = &H8000000F&
Enabled = 0 'False
Height = 375
Left = 1080
TabIndex = 2
Top = 240
Width = 3855
End
Begin VB.Label Label3
Caption = "图书书名"
Height = 255
Left = 120
TabIndex = 3
Top = 240
Width = 1095
End
End
Begin VB.Label helpme
AutoSize = -1 'True
BeginProperty Font
Name = "宋体"
Size = 14.25
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 285
Left = -74520
TabIndex = 40
Top = 600
Width = 150
End
End
End
Attribute VB_Name = "图书流通"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Private Sub Cmdexit1_Click()
Unload Me
Unload 主界面
End Sub
Private Sub Cmdexit2_Click()
Unload Me
Unload 主界面
End Sub
Private Sub Cmdexit3_Click()
Unload Me
Unload 主界面
End Sub
Private Sub Cmdreturn1_Click()
Unload Me
End Sub
Private Sub Cmdreturn2_Click()
Unload Me
End Sub
Private Sub Cmdreturn3_Click()
Unload Me
End Sub
Private Sub Cmdsuoding1_Click()
Me.Enabled = False
End Sub
Private Sub Cmdsuoding2_Click()
Me.Enabled = False
End Sub
'还书
Private Sub Comdinput_Click()
On Error GoTo chuli
Dim rsBookbrowse As ADODB.Recordset
Dim rsBook As ADODB.Recordset
Dim rsReader As ADODB.Recordset
Dim rsSysRec As ADODB.Recordset
Dim fine As Integer
Set rsBookbrowse = de.rsBookbrowse
Set rsBook = de.rsBook
Set rsReader = de.rsReader
Set rsSysRec = de.rsSysRecord
rsBookbrowse.MoveFirst
rsBook.MoveFirst
rsReader.MoveFirst
rsSysRec.MoveFirst
'判断是否存在此图书号
If Trim(Txtbookid2) = "" Then MsgBox "请输入图书号": Txtbookid2.SetFocus: ERR.Raise 3001
rsBook.Find "bookid" + " = " & Txtbookid2
If rsBook.EOF = True Then
MsgBox "不存在此图书号!"
Txtbookid2.SetFocus
ERR.Raise 3001
Else
'显示图书信息
Txtbookname2 = rsBook.Fields("bookname").Value
Txtwriter2 = rsBook.Fields("author").Value
rsBookbrowse.Filter = "bookid = '" + Trim(Txtbookid2) + "'"
If rsBookbrowse.BOF = False Then
Txtbackdate = rsBookbrowse.Fields("borrowdate").Value
rsSysRec.Filter = "id = '" + Txtbookid2 + "'"
fine = (Date - CDate(Txtbackdate) - rsSysRec.Fields("MAXBLDAYS").Value) * 0.05
If fine > 0 Then Txtfakuan = fine & " 元" Else Txtfakuan = "0 元"
Else
Txtbackdate = "未借"
Txtfakuan = "0 元"
End If
rsBookbrowse.Filter = 0
If Trim(Txtreaderid2) = "" Then MsgBox "请输入读者号": Txtreaderid2.SetFocus: ERR.Raise 3001
'判断是否存在此读者号
rsReader.Find "readerid" + " = " + Txtreaderid2
If rsReader.EOF = True Then
MsgBox "不存在此读者号!"
Txtreaderid2.SetFocus
ERR.Raise 3001
Else
'判断是否借出
If Txtbackdate = "未借" Then
MsgBox "此书已还!"
Txtbookid2.SetFocus
ERR.Raise 3001
Else
'书号与读者号在借书表上的配套问题
rsBookbrowse.Filter = "bookid" & " = '" & Trim(Txtbookid2) + "' and " + "readerid = '" + Trim(Txtreaderid2) + "'"
If rsBookbrowse.BOF = True Then
MsgBox "你没有借过这本书!"
Txtbookid2.SetFocus
rsBookbrowse.Filter = 0
ERR.Raise 3001
Else
rsBookbrowse.Filter = 0
'超期的处理
If fine > 0 Then MsgBox "请交罚款" + Txtfakuan
'更新借书数据表
With rsBookbrowse
.Filter = "bookid" & " = '" & Trim(Txtbookid2) + "' and " + "readerid = '" + Trim(Txtreaderid2) + "'"
.Delete adAffectCurrent
.Filter = 0
End With
rsBook.Filter = "bookid" + " = '" + Trim(Txtbookid2) + "'"
'更新图书信息
With rsBook
!bookstatus = "未借"
.Update
.Filter = 0
End With
Txtbackdate = Date
MsgBox "此书已经还!"
End If
End If
End If
End If
rsBookbrowse.MoveFirst
rsBook.MoveFirst
rsReader.MoveFirst
Txtbookid2 = ""
Txtreaderid2 = ""
Txtbookname2 = ""
Txtwriter2 = ""
Txtbackdate = ""
Txtfakuan = ""
Exit Sub
chuli:
If ERR.Number = 3001 Then
Exit Sub
End If
End Sub
'借书
Private Sub Comdoutput_Click()
On Error GoTo chuli
Dim rsBookbrowse As ADODB.Recordset
Dim rsBook As ADODB.Recordset
Dim rsReader As ADODB.Recordset
Dim rsSysRec As ADODB.Recordset
Set rsBookbrowse = de.rsBookbrowse
Set rsBook = de.rsBook
Set rsReader = de.rsReader
Set rsSysRec = de.rsSysRecord
rsBookbrowse.MoveFirst
rsBook.MoveFirst
rsReader.MoveFirst
rsSysRec.MoveFirst
'判断是否存在此图书号
If Trim(Txtbookid1) = "" Then MsgBox "请输入图书号": Txtbookid1.SetFocus: ERR.Raise 3001
rsBook.Find rsBook.Fields(0).Name & " = " & Txtbookid1
If rsBook.EOF = True Then
MsgBox "不存在此图书号!"
Txtbookid1.SetFocus
ERR.Raise 3001
Else
'显示图书信息
txtbookname1 = rsBook.Fields("bookname")
Txtwriter1 = rsBook.Fields("author")
rsBookbrowse.Filter = "bookid = '" + Trim(Txtbookid1) + "'"
If rsBookbrowse.BOF = False Then Txtsenddate = rsBookbrowse.Fields("borrowdate").Value Else Txtsenddate = "未借"
rsBookbrowse.Filter = 0
'判断是否存在此读者号
If Trim(Txtreaderid1) = "" Then MsgBox "请输入读者号": Txtreaderid1.SetFocus: ERR.Raise 3001
rsReader.Find rsReader.Fields(0).Name & " = " & Txtreaderid1
If rsReader.EOF = True Then
MsgBox "不存在此读者号!"
Txtreaderid1.SetFocus
ERR.Raise 3001
Else
If Not Txtsenddate = "未借" Then
MsgBox "此书已借!"
Txtreaderid1.SetFocus
ERR.Raise 3001
Else
rsBookbrowse.Filter = rsBookbrowse.Fields(1).Name & " = '" & Trim(Txtreaderid1) + "'"
If rsBookbrowse.RecordCount >= rsSysRecord.Fields("maxblnum").Value Then
MsgBox "此读者已不能再借书了!"
Txtreaderid1.SetFocus
'记录集还原
rsBookbrowse.Filter = 0
ERR.Raise 3001
Else
'借书
rsBookbrowse.Filter = 0
'更新借书数据表
With rsBookbrowse
!bookid = Txtbookid1
!readerid = Txtreaderid1
!borrowdate = Date
.Update
End With
rsBook.Filter = rsBook.Fields("bookid").Name + " = '" + Txtbookid1 + "'"
'更新图书信息
With rsBook
!bookstatus = "已借"
.Update
.Filter = 0
End With
Txtsenddate = rsBookbrowse.Fields("borrowdate").Value
MsgBox "此书已经借给你!请你务必保管好!"
End If
End If
End If
End If
rsBookbrowse.MoveFirst
rsBook.MoveFirst
rsReader.MoveFirst
Txtbookid1 = ""
Txtreaderid1 = ""
txtbookname1 = ""
Txtwriter1 = ""
Txtsenddate = ""
Exit Sub
chuli:
If ERR.Number = 3001 Then
Exit Sub
End If
End Sub
Private Sub Form_Load()
helpme.Caption = "借书过程:" + vbCrLf + "你要将所借之书的书号和你的读者号填写一下。" + vbCrLf + "按借书按钮即可" + vbCrLf + "还书过程:" + vbCrLf + "你要将所还之书的书号和你的读者号填写一下。" + vbCrLf + "按还书按钮即可" + vbCrLf + "当然有可能要罚款,请你务必当心自己的还书时间" + vbCrLf + "祝你好运"
End Sub
Private Sub Form_Unload(Cancel As Integer)
主界面.Show
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -