📄 frmreturn2.frm
字号:
.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 + -