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

📄 frmreturn2.frm

📁 实现某班级的图书信息管理
💻 FRM
📖 第 1 页 / 共 2 页
字号:
            
            .MoveLast
            i = .RecordCount - 1
            .MoveFirst
            For j = 0 To i
'
                LstBookName.AddItem .Fields("bookname")
                .MoveNext
               
            Next
            
         End If
         
    End With
    TxtBookIndex.Text = ""
    TxtBorrowTime = ""
    Exit Sub
    
err:
    CmbReaderindex = ""

End Sub

Private Sub CmbReaderindex_Click()
    
    On Error Resume Next '当数据库里的数据被直接删除时,会引起找不到记录的错误

    Dim i, j  As Integer
    Dim rsBM As Recordset
    Dim rsName As Recordset
    Dim dbreadermessage As Database
    Dim dbname As String
    
    If Right(App.Path, 1) <> "\" Then
       dbname = App.Path & "\LibraryDB.mdb"
    Else
    
       dbname = App.Path & "librarydb.mdb"
    End If
    
    Set dbreadermessage = OpenDatabase(dbname)
    Set rsName = dbreadermessage.OpenRecordset("select readername from readermessage where readerindex = " & CmbReaderindex & "")
    TxtReaderName.Text = rsName.Fields("readername")
    
    DatBorrow.RecordSource = "select borrowmessage.bookindex ,bookmessage.bookname ,borrowmessage.borrowtime, borrowmessage.returntime from borrowmessage left join bookmessage on bookmessage.bookindex = borrowmessage.bookindex where readerindex = " & CmbReaderindex & " and  borrowmessage.returntime = #1/1/1111#  "
    DatBorrow.Refresh
    Set rsBM = DatBorrow.Recordset
    
    LstBookName.Clear
    
    With rsBM
         
         If .RecordCount > 0 Then
            .MoveLast
            i = .RecordCount - 1
            .MoveFirst
            For j = 0 To i
                
                LstBookName.AddItem .Fields("bookname")
                .MoveNext
               
            Next
            
          
         End If
         
    End With
    TxtBookIndex.Text = ""
    TxtBorrowTime = ""
    Exit Sub
    

    
End Sub


Private Sub CmdExit_Click()
     Set rsReaderindex = Nothing
     
     Set rsName = Nothing
     DataReturn.DatabaseName = ""
     DatBorrow.DatabaseName = ""
     Unload Me
     
End Sub

Private Sub CmdNext_Click()
       Dim i As Integer
    DatBorrow.DatabaseName = DataPath
    DatBorrow.RecordSource = "select distinct  readerindex  from borrowmessage where returntime =  #1/1/1111# "
    DatBorrow.Refresh
    Set rsReaderindex = DatBorrow.Recordset
    
    With rsReaderindex
        
        If .RecordCount > 0 Then
            
            If CmbReaderindex <> "" Then
                .FindFirst "readerindex = " & CmbReaderindex
            End If
            .MoveNext
        
            If .EOF Then
               .MoveLast
            End If
            
            For i = 0 To CmbReaderindex.ListCount
                If CmbReaderindex.List(i) = .Fields("readerindex") Then
                    CmbReaderindex.ListIndex = i
                End If
            Next
        End If
        
    End With
    
End Sub

Private Sub CmdOK_Click()
    On Error Resume Next
    
    If CmbReaderindex = "" Then
         MsgBox "请选择读者!", vbOKOnly + vbInformation, "返还处理"
        Exit Sub
    End If
    
    If TxtBookIndex = "" Then
        MsgBox "请选择要归还的书本!", vbOKOnly + vbInformation, "返还处理"
        Exit Sub
        
    End If
    
    DataReturn.RecordSource = "select  borrowmessage.bookindex ,returntime from borrowmessage where bookindex = " & TxtBookIndex & "  and  readerindex = " & CmbReaderindex & " and returntime =  #1/1/1111# "
    DataReturn.Refresh
    Set rsName = DataReturn.Recordset
    
    With rsName
       .Edit
       .Fields("returntime") = TxtReturnTime.Text
       .Update
    End With
    
    DataReturn.RecordSource = "select status from bookmessage where bookindex =" & TxtBookIndex & ""
    DataReturn.Refresh
    Set rsName = DataReturn.Recordset
    
    With rsName
        .Edit
        .Fields("status") = "在库"
        .Update
    End With
    
    TxtBookIndex.Text = ""
    TxtBorrowTime = ""
    LstBookName.RemoveItem (LstBookName.ListIndex)
    
End Sub

Private Sub CmdPrevious_Click()
    Dim i As Integer
    DatBorrow.DatabaseName = DataPath
    DatBorrow.RecordSource = "select distinct  readerindex  from borrowmessage where returntime =  #1/1/1111# "
    DatBorrow.Refresh
    Set rsReaderindex = DatBorrow.Recordset
    
    With rsReaderindex
        If .RecordCount > 0 Then
            If CmbReaderindex <> "" Then
            
                .FindFirst "readerindex = " & CmbReaderindex
            End If
            .MovePrevious
        
        If .BOF Then
            .MoveFirst
        End If
        
        For i = 0 To CmbReaderindex.ListCount
            If CmbReaderindex.List(i) = .Fields("readerindex") Then
                CmbReaderindex.ListIndex = i
            End If
        
        Next
        
        End If
        
    End With
    
    
End Sub

Private Sub Form_Activate()
    Dim i, j  As Integer
    
    Dim rsReaderindex As Recordset
    DatBorrow.DatabaseName = DataPath
    DatBorrow.RecordSource = "select distinct readerindex  from borrowmessage where returntime =  #1/1/1111# "
    DatBorrow.Refresh
    
    Set rsReaderindex = DatBorrow.Recordset
    
    With rsReaderindex
      
         If .RecordCount > 0 Then
            
            .MoveLast
            i = .RecordCount - 1
            .MoveFirst
            
            For j = 0 To i
                CmbReaderindex.List(j) = .Fields("readerindex")
               
                If Not .EOF Then
                   .MoveNext
                End If
            Next
            
            StatusBarReturn.Panels(2).Text = "有" & i + 1 & "条借阅信息!"
         Else
            
            MsgBox "无读者借阅信息!" '这个要写在unload me 的上面要不然关不掉的
            Unload Me
            Exit Sub
         
         End If
        
    End With
   
   TxtReturnTime = Date
   
End Sub

Private Sub Form_Load()

  
    Me.Left = (Screen.Width - Me.ScaleWidth) * 1 / 2
    Me.Top = (Screen.Height - Me.ScaleHeight) * 1 / 2
    
    InitializeDataPath
    
   
End Sub

Private Sub LstBookName_Click()
 
 DataReturn.DatabaseName = DataPath
 DataReturn.RecordSource = "select borrowtime, borrowmessage.bookindex ,returntime from borrowmessage,bookmessage where bookmessage.bookindex= borrowmessage.bookindex and bookname = '" & LstBookName.List(LstBookName.ListIndex) & "'  and  readerindex = " & CmbReaderindex & " and returntime =  #1/1/1111# "
 DataReturn.Refresh
 Set rsName = DataReturn.Recordset

 TxtBorrowTime.Text = rsName.Fields("borrowtime")
 TxtBookIndex.Text = rsName.Fields("bookindex")
 
'由于在通过查询两张表所得到的结果只是可读的,不能被编辑,所以另外单独从一表中取出相应的书进行归还

End Sub

⌨️ 快捷键说明

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