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

📄 frm_borrowbook.frm

📁 图书馆信息管理系统
💻 FRM
📖 第 1 页 / 共 4 页
字号:
      Top             =   6840
      Width           =   1095
      _ExtentX        =   1931
      _ExtentY        =   661
      Caption         =   "确定"
      ToolTip         =   "用户充值"
      BackColor       =   14737632
      ForeColor       =   8421504
      MouseDownColor  =   -2147483644
      MouseOnColor    =   -2147483644
      StyleColor      =   16777215
      Style3dColor1   =   16577259
      Style3dColor2   =   8421504
      BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
         Name            =   "Tahoma"
         Size            =   8.25
         Charset         =   0
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      IfDraw          =   -1  'True
   End
   Begin LabMangeSystem.XButton Cmd_Clear 
      Height          =   375
      Left            =   1680
      TabIndex        =   3
      Top             =   6840
      Width           =   1095
      _ExtentX        =   1931
      _ExtentY        =   661
      Caption         =   "清空"
      ToolTip         =   "清空记录"
      BackColor       =   14737632
      ForeColor       =   8421504
      MouseDownColor  =   -2147483644
      MouseOnColor    =   -2147483644
      StyleColor      =   16777215
      Style3dColor1   =   16577259
      Style3dColor2   =   8421504
      BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
         Name            =   "Tahoma"
         Size            =   8.25
         Charset         =   0
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      IfDraw          =   -1  'True
   End
   Begin LabMangeSystem.XButton Cmd_Close 
      Height          =   375
      Left            =   2880
      TabIndex        =   4
      Top             =   6840
      Width           =   1095
      _ExtentX        =   1931
      _ExtentY        =   661
      Caption         =   "关闭"
      ToolTip         =   "刷新记录"
      BackColor       =   14737632
      ForeColor       =   8421504
      MouseDownColor  =   -2147483644
      MouseOnColor    =   -2147483644
      StyleColor      =   16777215
      Style3dColor1   =   16577259
      Style3dColor2   =   8421504
      BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
         Name            =   "Tahoma"
         Size            =   8.25
         Charset         =   0
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      IfDraw          =   -1  'True
   End
   Begin VB.Line Line_SplitShadow 
      BorderColor     =   &H00FFFFFF&
      X1              =   255
      X2              =   255
      Y1              =   615
      Y2              =   6855
   End
   Begin VB.Line Line_Split 
      BorderColor     =   &H00C0C0C0&
      X1              =   240
      X2              =   240
      Y1              =   600
      Y2              =   6840
   End
End
Attribute VB_Name = "Frm_BorrowBook"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim IsRID As String        '输入的正确的读者编号

Dim strSQL As String       'SQL查询语句
Dim strSELECT As String    'SQL查询语句的SELECT子句
Dim strFROM As String      'SQL查询语句的FROM子句
Dim strWHERE As String     'SQL查询语句的WHERE子句
Dim Err_Msg As String      '错误信息
Option Explicit

Private Sub Cmd_Clear_Click()
    Dim i As Integer
    Txt_RID.Text = vbNullString
    For i = 0 To 8
        Txt_Reader(i).Text = vbNullString
    Next i
    
    Txt_BID.Text = vbNullString
    For i = 0 To 5
        Txt_Book(i).Text = vbNullString
    Next i
    
    Lbl_ShowRID.caption = vbNullString
    IsRID = vbNullString
    
    Lst_View.ListItems.Clear
    
    Txt_RID.SetFocus
End Sub

Private Sub Cmd_Close_Click()
    Call Cmd_TBarClose_Click
End Sub

Private Sub Cmd_OK_Click()
On Error GoTo ERRORZONE
    Dim rs As New ADODB.Recordset
    Dim strSQL As String
    Dim i As Integer
    Dim num As Integer

    strSQL = "SELECT * FROM 读者档案 WHERE 读者编号 = " & Str2SQL(IsRID)
    rs.Open strSQL, cnMain, 1, 1

    If rs("状态") = "停用" Then
        MsgFrm "读者 [ " & rs("姓名") & " ] 为停用状态,不可借书!", "x", "错误"
        Exit Sub
    End If
    
    num = Lst_View.ListItems.Count
    For i = 1 To Lst_View.ListItems.Count
        If Lst_View.ListItems(i).Checked = False Then num = num - 1
    Next i

    If num = 0 Then MsgFrm "请选择要借出的图书!", "x", "错误": Exit Sub
    
    If num + Val(rs("当前借书数量")) > Val(Txt_Reader(8).Text) Then
        MsgFrm "超过借书数量上限!", "x", "错误"
        Exit Sub
    End If

    num = Lst_View.ListItems.Count
    For i = 1 To Lst_View.ListItems.Count
        If Lst_View.ListItems(i).Checked = False Then num = num - 1: GoTo ADDOVER
        cnMain.Execute "INSERT 图书借阅 VALUES(" & _
                        Str2SQL(Format(Date, "yymmdd") & Format(Time, "hhnnss") & Format(i, "000")) & "," & _
                        Str2SQL(Lst_View.ListItems(i).ListSubItems(1).Text) & "," & _
                        Str2SQL(IsRID) & "," & _
                        Str2SQL(Format(Date, "yyyy-mm-dd")) & "," & _
                        Str2SQL(Lst_View.ListItems(i).ListSubItems(4).Text) & ", Null, '0', " & _
                        Str2SQL(strUID) & ", Null)"
        cnMain.Execute "UPDATE 图书库存 SET 状态 = '借出'" & _
                        ",最近读者编号 = " & Str2SQL(IsRID) & _
                        ",最近借阅日期 = " & Str2SQL(Format(Date, "yyyy-mm-dd")) & _
                        " WHERE 图书编号 = " & Str2SQL(Lst_View.ListItems(i).ListSubItems(1).Text)
ADDOVER:
    Next i

    cnMain.Execute "UPDATE 读者档案 SET 当前借书数量 = 当前借书数量 + " & num & _
                    ",总借书数量 = 总借书数量 + " & num & _
                    ",总借书次数 = 总借书次数 + 1" & _
                    ",未还书总数 = 未还书总数 + " & num & _
                    " WHERE 读者编号 = " & Str2SQL(IsRID)
    
    MsgFrm "借书成功!共借出 " & num & " 本图书。", "!", "借书成功"
    Call Cmd_Clear_Click
    Exit Sub
ERRORZONE:
    MsgFrm Err.Description, "x", "错误"
End Sub

Private Sub Cmd_TBarClose_Click()
    Unload Me
    Frm_Welcome.Show
    Set LastForm = Frm_Welcome
End Sub

Private Sub Form_Load()
    Call HideContorl
    If HavePower("办理借书权限") = False Then
        Lbl_TBarText.ForeColor = RGB(255, 0, 0)
        Lbl_TBarText.caption = "您没有权限完成当前操作!"
        Exit Sub
    End If
    
    Lbl_TBarText.caption = Me.caption
    Call ShowContorl
End Sub

Private Sub Form_Resize()
On Error Resume Next
    Frame_Reader.Width = Me.Width - Frame_Reader.Left - 240 - 45
    Line_Split1.X2 = Frame_Reader.Width - Line_Split1.X1 - 45
    Line_Split1_Shadow.X2 = Line_Split1.X2
    
    
    Frame_Book.Width = Frame_Reader.Width
    Line_Split2.X2 = Line_Split1.X2
    Line_Split2_Shadow.X2 = Line_Split1.X2
    
    Cmd_OK.Top = Me.Height - Cmd_OK.Height - 240 - 435
    Cmd_Clear.Top = Cmd_OK.Top
    Cmd_Close.Top = Cmd_OK.Top

    Frame_View.Width = Frame_Reader.Width
    Frame_View.Height = Cmd_OK.Top - Frame_View.Top - 105
    Lst_View.Width = Line_Split1.X2 - Line_Split1.X1
    Lst_View.Height = Frame_View.Height - Lst_View.Top - 240
End Sub

Private Sub Form_Unload(Cancel As Integer)
    Call ShowTip
End Sub

Private Sub Pic_TitleBar_Resize()
On Error Resume Next
    Cmd_TBarClose.Left = Pic_TitleBar.Width - 24 * 15
End Sub

'隐藏所有控件
Private Sub HideContorl()
    Frame_Reader.Visible = False
    Frame_Book.Visible = False
    Frame_View.Visible = False
    
    Cmd_OK.Visible = False
    Cmd_Clear.Visible = False
    Cmd_Close.Visible = False
End Sub

'显示所有控件
Private Sub ShowContorl()
    Frame_Reader.Visible = True
    Frame_Book.Visible = True
    Frame_View.Visible = True
    
    Cmd_OK.Visible = True
    Cmd_Clear.Visible = True
    Cmd_Close.Visible = True
End Sub

Private Sub Txt_BID_KeyPress(KeyAscii As Integer)
    If KeyAscii <> 13 Then Exit Sub
    If IsRID = vbNullString Then MsgFrm "请先输入正确的读者编号!", "!", "提示": Exit Sub
    
    Dim i As Integer
    For i = 1 To Lst_View.ListItems.Count
        If Lst_View.ListItems(i).ListSubItems(1).Text = Trim(Txt_BID.Text) Then
            MsgFrm "编号为 [ " & Trim(Txt_BID.Text) & " ] 的图书已经添加!", "x", "重复添加"
            Exit Sub
        End If
    Next i
    
On Error GoTo ERRORZONE
    Dim rs As New ADODB.Recordset
    Dim xBID As String
    
    xBID = Str2SQL(Txt_BID.Text)
    strSELECT = "SELECT 图书名称, 作者, CONVERT(varchar(10),每日租金,0) AS 每日租金, 出版社名称, 图书档案.ISBN, 可否外借 = CASE WHEN 可否外借 = 1 THEN '是' ELSE '否' END, 状态"
    strFROM = "FROM 图书档案, 图书库存"
    strWHERE = "WHERE 图书编号 = " & xBID & " AND 图书档案.ISBN = 图书库存.ISBN"
    strSQL = strSELECT & " " & strFROM & " " & strWHERE
    rs.Open strSQL, cnMain, 1, 1
    
    If rs.EOF Then
        MsgFrm "找不到编号为" & Trim(Txt_BID.Text) & "的图书!", "x", "错误"
        Txt_BID.SetFocus
        Exit Sub
    ElseIf rs(rs.Fields.Count - 1) = "借出" Then
        MsgFrm "编号为" & Trim(Txt_BID.Text) & "的图书已借出!", "x", "错误"
        Txt_BID.SetFocus
        Exit Sub
    ElseIf rs(rs.Fields.Count - 2) = "否" Then
        MsgFrm "编号为" & Trim(Txt_BID.Text) & "的图书不可外借!", "x", "错误"
        Txt_BID.SetFocus
        Exit Sub
    End If
    
    For i = 0 To rs.Fields.Count - 2
        Txt_Book(i).Text = rs(i)
    Next i
    
    i = Lst_View.ListItems.Count + 1
    Lst_View.ListItems.Add i, , Txt_Book(0).Text
    Lst_View.ListItems.Item(i).ListSubItems.Add , , Txt_BID.Text
    Lst_View.ListItems.Item(i).ListSubItems.Add , , Txt_Book(4).Text
    Lst_View.ListItems.Item(i).ListSubItems.Add , , Txt_Book(2).Text
    Lst_View.ListItems.Item(i).ListSubItems.Add , , Format(DateAdd("d", Val(Txt_Reader(5).Text), Date), "yyyy-mm-dd")
    Lst_View.ListItems.Item(i).Checked = True
    
    Exit Sub
ERRORZONE:
    MsgFrm Err.Description, "x", "错误"
End Sub

Private Sub Txt_RID_KeyPress(KeyAscii As Integer)
    If KeyAscii = 13 Then Call Txt_RID_Validate(False)
End Sub

Private Sub Txt_RID_Validate(Cancel As Boolean)
On Error GoTo ERRORZONE
    Dim rs As New ADODB.Recordset
    Dim xRID As String
    Dim i As Integer
    
    xRID = Str2SQL(Txt_RID.Text)
    If xRID = "''" Then Exit Sub
    
    strSELECT = "SELECT 姓名, 性别, 读者档案.读者类别, CONVERT(varchar(10),账户金额,0) AS 账户余额, 状态, 借书时间期限, 当前借书数量, 借书数量限制 - 当前借书数量, 借书数量限制"
    strFROM = "FROM 读者档案, 读者类别"
    strWHERE = "WHERE 读者编号 = " & xRID & " AND 读者档案.读者类别 = 读者类别.读者类别"
    strSQL = strSELECT & " " & strFROM & " " & strWHERE
    rs.Open strSQL, cnMain, 1, 1
    
    If rs.EOF Then
        MsgFrm "找不到编号为" & Trim(Txt_RID.Text) & "的用户!", "x", "错误"
        IsRID = vbNullString
        Txt_RID.SetFocus
        Exit Sub
    End If
    
    For i = 0 To rs.Fields.Count - 1
        Txt_Reader(i).Text = rs(i) & vbNullString
    Next i
    
    Txt_BID.SetFocus
    IsRID = Trim(Txt_RID.Text)
    Lbl_ShowRID = IsRID
    Exit Sub
ERRORZONE:
    MsgFrm Err.Description, "x", "错误"
End Sub

⌨️ 快捷键说明

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