天津大学成人高等教育专科毕业设计(论文)
统主界面时,需要启动登陆界面,用于确定用户身份的合法性及用户权限。主界面窗体名称是frmMain.frm,主界面如图4.4所示:
图4-4 主界面
4.2.5图书借阅管理模块
图书借阅管理模块保存为frmBorrowMan.frm,窗体的Caption属性为“图书借阅管理”。Adodc控件的属性为adoBorrow,DataGrid控件的属性为dtgBorrow。ComboBox控件的属性为cboState,窗体的布局如图4.5所示.
图4-5 借阅管理
23
天津大学成人高等教育专科毕业设计(论文)
当用户单击“借阅”按钮时,触发cmdAdd_Click事件,双击此按钮,在弹出的代码编辑器中添加如下代码:
Private Sub cmdAdd_Click() '给借阅窗口赋值
frmBorrowEdit.txtCNo = \ frmBorrowEdit.txtReader = \ frmBorrowEdit.txtTypeName = \ frmBorrowEdit.txtMaxCount = \ frmBorrowEdit.txtMaxDays = \ frmBorrowEdit.txtBCount = \ '启动编辑窗体 frmBorrowEdit.Show 1 '刷新adoBorrow控件 adoBorrow.Refresh End Sub
当用户单击“续借”按钮是,触发cmdRenew_Click事件,双击此按钮,添加如下代码:
续借按钮
Private Sub cmdRenew_Click()
'如果没有选择记录,则不需要做任何操作
If adoBorrow.Recordset.BOF Or adoBorrow.Recordset.EOF Then
MsgBox \请选择需要续借的书籍\信息提示\Exit Sub End If
'读取objBorrowInfo的信息
objBorrowInfo.GetInfo dtgBorrow.Columns(2).Text '如果这本书不是在借阅状态下,是不能续借的 If objBorrowInfo.BorrowState <> 0 Then
MsgBox \此书不是在借阅状态,不能续借\信息提示\ Exit Sub End If '续借
Dim IsRenew As Integer
IsRenew = MsgBox(\是否续借所选择的书籍\vbYesNo + vbQuestion + vbDefaultButton1, \是否续借\ If IsRenew = vbYes Then
24
天津大学成人高等教育专科毕业设计(论文)
'更新续借日期
objBorrowInfo.UpdateDate dtgBorrow.Columns(2).Text, Now, 3 '更新归还日期
objCardInfo.GetInfo dtgBorrow.Columns(0).Text
objCardType.GetInfo objCardType.GetTypeName(objCardInfo.CTypeID)
objBorrowInfo.UpdateDatedtgBorrow.Columns(2).Text,Now+objCardType.RenewDays, 4
'更新借阅状态
objBorrowInfo.UpdateState dtgBorrow.Columns(2).Text, 1 '显示续借成功信息
MsgBox \续借成功\信息提示\ End If '刷新
adoBorrow.Refresh End Sub
当图书在没有过期前,用户想要继续借阅此书,则需要“续借”。程序会调用UpdateDate方法填写续借日期,修改日期,并调用UpdateState方法修改借阅状态。
当用户点击“丢失”按钮时,触发cmdLoss_Click事件,代码如下: '丢失按钮
Private Sub cmdLoss_Click()
'如果没有选择记录,则不需要做任何操作
If adoBorrow.Recordset.BOF Or adoBorrow.Recordset.EOF Then MsgBox \请选择丢失书籍的记录\信息提示\ Exit Sub End If '丢失
Dim IsLoss As Integer
IsLoss = MsgBox(\此书是否已经丢失?\vbYesNo + vbQuestion + vbDefaultButton1, \是否丢失\ If IsLoss = vbYes Then '丢失处理
Dim bPrice As Single
objBookInfo.GetInfo dtgBorrow.Columns(2).Text bPrice = 10 * objBookInfo.Price
If MsgBox(\你所借的书已经丢失,请交罚金!\罚金为\ + Str(bPrice) + \元\是否交罚金\
25
天津大学成人高等教育专科毕业设计(论文)
+ vbDefaultButton2, \请交罚金\
Exit Sub End If
'删除丢失书籍借阅记录
objBorrowInfo.Delete dtgBorrow.Columns(2).Text '删除丢失书籍记录
objBookInfo.Delete dtgBorrow.Columns(2).Text '信息提示
MsgBox \此丢失书籍信息已经删除\信息提示\End If
adoBorrow.Refresh End Sub
用户点击“归还”按钮是,触发cmdReturn_Click事件代码略。 Private Sub adoBorrowRefresh()
'设置ADO控件adoBorrowRefresh的连接字符串 adoBorrow.ConnectionString = CONSTR '设置数据源
Dim tmpRecordSource As String
tmpRecordSource = \br.CardNo AS 借阅证号, c.Reader AS 读者姓名AS 图书编号,\\bk.BookName AS 图书名称, br.BorrowDate AS 借阅日期, br.RenewDate AS 续借日期,\+ \br.ReturnDate AS 归还日期, br.Fine AS 罚金\_ + \FROM BorrowInfo br, CardInfo c, BookInfo bk\bk.BookNo\adoBorrow.RecordSource = tmpRecordSource adoBorrow.Refresh End With End Sub
图书书借阅编辑第一步窗体名frmBorrowEdit为,窗体布局如4.6图所示:
26
天津大学成人高等教育专科毕业设计(论文)
图4-6借阅编辑第一步图
在该窗体填入借阅证件编号,程序可以根据编号直接生成其他信息。当用户单击“生成信息”按钮时,触发cmdNext_Click事件,代码如下:
'生成信息(及下一步)按钮 Private Sub cmdNext_Click() txtCNo.Enabled = False
objCardInfo.GetInfo txtCNo.Text
txtTypeName.Text = Trim(objCardType.GetTypeName(objCardInfo.CTypeID)) objCardType.GetInfo txtTypeName.Text
txtMaxCount.Text = Trim(Str(objCardType.MaxCount)) txtMaxDays.Text = Trim(Str(objCardType.MaxDays))
txtBCount.Text = Trim(Str(objBorrowInfo.GetCount(txtCNo.Text))) cmdNext.Caption = \下一步\?? End Sub
图书借阅编辑第二步窗体名称为frmBorrowBextEdit.frm,窗体布局如图4.7所示.
27