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

📄 frmborrowm.frm

📁 图书管理系统 asp+sql server 2000
💻 FRM
字号:
VERSION 5.00
Object = "{67397AA1-7FB1-11D0-B148-00A0C922E820}#6.0#0"; "msadodc.ocx"
Object = "{CDE57A40-8B86-11D0-B3C6-00A0C90AEA82}#1.0#0"; "msdatgrd.ocx"
Begin VB.Form frmBorrowM 
   BackColor       =   &H00C0C0C0&
   Caption         =   "图书借阅管理"
   ClientHeight    =   6675
   ClientLeft      =   3300
   ClientTop       =   2160
   ClientWidth     =   10020
   LinkTopic       =   "Form1"
   ScaleHeight     =   6675
   ScaleWidth      =   10020
   Begin MSDataGridLib.DataGrid dtgBorrow 
      Bindings        =   "frmBorrowM.frx":0000
      Height          =   3375
      Left            =   360
      TabIndex        =   7
      Top             =   1440
      Width           =   8775
      _ExtentX        =   15478
      _ExtentY        =   5953
      _Version        =   393216
      AllowUpdate     =   -1  'True
      BackColor       =   12640511
      HeadLines       =   1
      RowHeight       =   16
      BeginProperty HeadFont {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
         Name            =   "宋体"
         Size            =   9
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
         Name            =   "宋体"
         Size            =   10.5
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      ColumnCount     =   2
      BeginProperty Column00 
         DataField       =   ""
         Caption         =   ""
         BeginProperty DataFormat {6D835690-900B-11D0-9484-00A0C91110ED} 
            Type            =   0
            Format          =   ""
            HaveTrueFalseNull=   0
            FirstDayOfWeek  =   0
            FirstWeekOfYear =   0
            LCID            =   2052
            SubFormatType   =   0
         EndProperty
      EndProperty
      BeginProperty Column01 
         DataField       =   ""
         Caption         =   ""
         BeginProperty DataFormat {6D835690-900B-11D0-9484-00A0C91110ED} 
            Type            =   0
            Format          =   ""
            HaveTrueFalseNull=   0
            FirstDayOfWeek  =   0
            FirstWeekOfYear =   0
            LCID            =   2052
            SubFormatType   =   0
         EndProperty
      EndProperty
      SplitCount      =   1
      BeginProperty Split0 
         BeginProperty Column00 
         EndProperty
         BeginProperty Column01 
         EndProperty
      EndProperty
   End
   Begin MSAdodcLib.Adodc adoBorrow 
      Height          =   690
      Left            =   120
      Top             =   5520
      Visible         =   0   'False
      Width           =   2055
      _ExtentX        =   3625
      _ExtentY        =   1217
      ConnectMode     =   0
      CursorLocation  =   3
      IsolationLevel  =   -1
      ConnectionTimeout=   15
      CommandTimeout  =   30
      CursorType      =   3
      LockType        =   3
      CommandType     =   8
      CursorOptions   =   0
      CacheSize       =   50
      MaxRecords      =   0
      BOFAction       =   0
      EOFAction       =   0
      ConnectStringType=   1
      Appearance      =   1
      BackColor       =   -2147483643
      ForeColor       =   -2147483640
      Orientation     =   0
      Enabled         =   -1
      Connect         =   ""
      OLEDBString     =   ""
      OLEDBFile       =   ""
      DataSourceName  =   ""
      OtherAttributes =   ""
      UserName        =   ""
      Password        =   ""
      RecordSource    =   ""
      Caption         =   "Adodc1"
      BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
         Name            =   "宋体"
         Size            =   9
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      _Version        =   393216
   End
   Begin VB.CommandButton cmdReturn 
      Caption         =   "归还(&R)"
      Height          =   495
      Left            =   6360
      TabIndex        =   6
      Top             =   5760
      Width           =   1095
   End
   Begin VB.CommandButton cmdBack 
      Caption         =   "返回(&X)"
      Height          =   495
      Left            =   7560
      TabIndex        =   5
      Top             =   5760
      Width           =   1095
   End
   Begin VB.CommandButton cmdLoss 
      Caption         =   "丢失(&L)"
      Height          =   495
      Left            =   5160
      TabIndex        =   4
      Top             =   5760
      Width           =   975
   End
   Begin VB.CommandButton cmdRenew 
      Caption         =   "续借(&N)"
      Height          =   495
      Left            =   3840
      TabIndex        =   3
      Top             =   5760
      Width           =   1095
   End
   Begin VB.CommandButton cmdAdd 
      Caption         =   "借阅(&B)"
      Height          =   495
      Left            =   2400
      TabIndex        =   2
      Top             =   5760
      Width           =   1215
   End
   Begin VB.ComboBox cboState 
      BackColor       =   &H00FFFFFF&
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   9
         Charset         =   134
         Weight          =   700
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      ForeColor       =   &H00000000&
      Height          =   300
      ItemData        =   "frmBorrowM.frx":0018
      Left            =   2040
      List            =   "frmBorrowM.frx":0028
      Style           =   2  'Dropdown List
      TabIndex        =   1
      Top             =   600
      Width           =   1575
   End
   Begin VB.Label Label1 
      BackStyle       =   0  'Transparent
      Caption         =   "图书借阅状态"
      Height          =   495
      Left            =   240
      TabIndex        =   0
      Top             =   600
      Width           =   1335
   End
End
Attribute VB_Name = "frmBorrowM"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'定义conditon变量
Dim condition As String
Dim rs As ADODB.Recordset
Dim SQLStr As String
Dim vBookNo As String
'网格控件加载函数
Private Sub adoBorrowRefresh()
'设置ADO控件adoBorrowRefresh的连接字符串
adoBorrow.ConnectionString = CONSTR
Dim tmpRecordSource As String    '设置数据源
tmpRecordSource = "select br.CardNo as 借阅证号,c.Reader as 读者姓名,br.BookNo as 图书编号,bk.BookName as 图书名称,br.BorrowDate as 借阅日期,br.RenewDate as 续借日期,br.ReturnDate as 归还日期,br.Fine as 罚金 from BorrowInfo br,CardInfo c,BookInfo bk  where br.CardNo=c.CardNo and br.BookNo=bk.BookNo " + condition + " order by br.CardNo,br.BookNo"

adoBorrow.RecordSource = tmpRecordSource
adoBorrow.Refresh
With dtgBorrow          '设置dtgBorrow显示每列的宽度
.Columns(0).Width = 800
.Columns(1).Width = 800
.Columns(2).Width = 800
.Columns(3).Width = 1500
.Columns(4).Width = 1000
.Columns(5).Width = 1000
.Columns(6).Width = 1000
.Columns(7).Width = 800
End With

End Sub

'单击cboState控件,选择一种图书状
Private Sub cboState_Click()
If cboState.ListIndex = 0 Then      '如果选择全部
   condition = ""
Else                                '如果选择其他
   condition = "and br.BorrowState=" + Trim(Str(cboState.ListIndex - 1))
End If
Call adoBorrowRefresh               '调用adoBorrowRefresh过程

End Sub
'单击"借阅"按钮,调用frmBorrowEdit窗体输入借阅人信息和图书信息,生成图书借阅记录
'插入到BorrowInfo表中
Private Sub cmdAdd_Click()

SQLStr = "select * from CardInfo where CardState="

'给借阅编辑窗口frmBorrowEdit赋值
frmBorrowEdit.txtCNo = ""
frmBorrowEdit.txtReader = ""
frmBorrowEdit.txtTypeName = ""
frmBorrowEdit.txtMaxCount = ""
frmBorrowEdit.txtMaxDays = ""
frmBorrowEdit.txtBCount = ""
frmBorrowEdit.Show 1                '启动编辑窗体frmBOrrowEdit
adoBorrow.Refresh                    '刷新adoBorrow控件
Call adoBorrowRefresh

End Sub
'返回按钮
Private Sub cmdBack_Click()
Unload Me

End Sub

'单击"丢失"按钮,如果所选的图书丢失,从BorrowInfo表中删除
Private Sub cmdLoss_Click()
'如果没有选择记录,则不需要做任何操作
If adoBorrow.Recordset.BOF Or adoBorrow.Recordset.EOF Then
   MsgBox "请选择丢失书籍的记录", vbInformation, "丢失信息"
   Exit Sub
End If
'丢失
Dim IsLoss As Integer
IsLoss = MsgBox("此书是否丢失?", vbYesNo + vbQuestion + vbDefaultButton1, "丢失信息")
If IsLoss = vbYes Then                    '丢失处理
   Dim vPrice As Single
   vBookNo = dtgBorrow.Columns(2).Text         '从数据网格控件中提取所选记录的图书编号
   SQLStr = "select * from BookInfo where BookNo='" + Trim(vBookNo) + "'"
   Set rs = SQLQuery(SQLStr)
   vPrice = 10 * rs.Fields("Price")
   If MsgBox("你丢失了所借的书,需要交罚金!" + vbCrLf + "罚金为" + Str(vPrice) + "元" + vbCrLf + "是否交罚金", vbQuerstion + vbYesNo + vbDefaultBotton2, "丢失处罚") = vbNo Then
      Exit Sub
   End If
   '删除丢失图书的借阅记录
   SQLStr = "delete from BorrowInfo where BookNo='" + Trim(vBookNo) + "'"
   SQLExt SQLStr          '执行delete语句
   SQLStr = "delete from BookInfo where BookNo='" + Trim(vBookNo) + "'"
   SQLExt SQLStr          '执行delete语句
   MsgBox "此丢失书籍信息已经删除", vbInformation, "丢失信息"
End If
adoBorrow.Refresh   '刷新
Call adoBorrowRefresh

End Sub
'单击"续借"按钮
Private Sub cmdRenew_Click()
'如果没有选择记录,则不需要做任何操作
If adoBorrow.Recordset.BOF Or adoBorrow.Recordset.EOF Then
   MsgBox "请选择需要续借的书籍", vbInformation, "信息提示"
   Exit Sub
End If
'读取BorrowInfo的信息
vBookNo = dtgBorrow.Columns(2).Text          '从数据网络控件中提取所选记录的图书编号
SQLStr = "select * from BorrowInfo where BookNo='" + Trim(vBookNo) + "'"
Set rs = SQLQuery(SQLStr)
'如果这本书不是在借阅状态下,是不能续借的
If rs.Fields("BorrowState") <> 0 Then
   MsgBox "此书不是在借阅状态,不能续借", vbInformation, "续借信息"
   Exit Sub
End If
'续借
Dim IsRenew As Integer
IsRenew = MsgBox("是否续借所选择的书籍?", vbYesNo + vbQuestion + vbDefaultButton1, "续借信息")
If IsRenew = vbYes Then
   rs.Fields("RenewDate") = Format(Now, "yyyy-mm-dd")          '更新续借日期
   '续借时,借阅从当前日期开始计算,更新归还日期
   Dim rst As ADODB.Recordset
   SQLStr = "select * from CardType where CTypeID="
   SQLStr = SQLStr & "(select CTYpeID from CardInfo where CardNo='"
   SQLStr = SQLStr & dtgBorrow.Columns(0).Text & "')"
   Set rst = SQLQuery(SQLStr)
   rs.Fields("ReturnDate") = Now + rst.Fields("renewDays")
   rs.Fields("BorrowState") = 1          '更新借阅状态
   rs.Update
   MsgBox "续借成功", vbInformation, "信息提示"
End If
adoBorrow.Refresh                 '刷新
Call adoBorrowRefresh
End Sub
'单击"归还"按钮,检查是否"过期",若过期,进行处罚
'从表BorrowInfo表删除该图书的借阅记录
Private Sub cmdReturn_Click()
'如果没有选择记录,则不需要做任何操作
If adoBorrow.Recordset.EOF Or adoBorrow.Recordset.EOF Then
   MsgBox "请选择需要归还书籍的记录", vbInformation, "归还信息"
   Exit Sub
End If
'归还
Dim IsReturn As Integer
IsReturn = MsgBox("是否归还所选择的书籍?", vbYesNo + vbQuestion + vbDefaultButton1, "还书信息")
If IsReturn = vbYes Then
   vBookNo = dtgBorrow.Columns(2).Text        '从数据网格控件中提取所选记录的图书编号
   SQLStr = "select * from BorrowInfo where BookNo='" + Trim(vBookNo) + "'"
   Set rs = SQLQuery(SQLStr)
   '过期处理
   If rs.Fields("BorrowState") = 2 Then
      If MsgBox("您所借的书已过期,需要交罚金!" + vbCrLf + "罚金为" + Str(Int(0.3 * (Now - rs.Fields("ReturnDate")) * 100) / 100) + "元" + vbCrLf + "是否交罚金", vbQuestion + vbYesNo + vbDefaultButton2, "过期处罚信息") = vbNo Then
      Exit Sub
   End If
End If
SQLStr = "delete from BorrowInfo where BookNo='" + Trim(vBookNo) + "'"
SQLExt SQLStr               '执行delete语句
MsgBox "此书已经归还", vbInformation, "还书信息"
End If
adoBorrow.Refresh            '刷新
Call adoBorrowRefresh

      
End Sub


'窗体frmBorrowM加载事件
Private Sub Form_Load()
cboState.ListIndex = 0         '设置证件状态
condition = ""                 '给两个condition初始化
'如果没有选择记录,则不需要做任何操作
If adoBorrow.Recordset.BOF Or adoBorrow.Recordset.EOF Then
   Exit Sub
End If
'刷新BorrowInfo的信息,主要为是否过期,且有多少罚金
SQLStr = "select * from BorrowInfo"
Set rs = SQLQuery(SQLStr)
While Not rs.EOF
'过期书籍需要修改状态和罚金,借阅状态BorrowState:0--借阅,1--续借,2--过期
  If rs.Fields("returnDate") < Now Then
     rs.Fields("fine") = 0.3 * (Now - rs.Fields("returnDate"))
     rs.Fields("BorrowState") = 2
  End If
  rs.MoveNext
 Wend
 adoBorrow.Refresh
 Call adoBorrowRefresh                 '调用aodBorrowRefresh过程
 
End Sub

⌨️ 快捷键说明

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