📄 frmreaderbrowse.frm
字号:
VERSION 5.00
Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX"
Begin VB.Form FrmReaderBrowse
Caption = "读者浏览"
ClientHeight = 7815
ClientLeft = 60
ClientTop = 345
ClientWidth = 10875
Icon = "FrmReaderBrowse.frx":0000
LinkTopic = "Form1"
MaxButton = 0 'False
ScaleHeight = 7815
ScaleWidth = 10875
StartUpPosition = 1 '所有者中心
Begin VB.CommandButton Command2
Caption = "未还图书"
Height = 495
Left = 6480
TabIndex = 17
Top = 7200
Width = 1695
End
Begin VB.CommandButton Command1
Caption = "曾经借过图书"
Height = 495
Left = 8640
TabIndex = 16
Top = 7200
Width = 1575
End
Begin MSComctlLib.ListView ListView1
Height = 4455
Left = 360
TabIndex = 15
Top = 2640
Width = 10095
_ExtentX = 17806
_ExtentY = 7858
LabelWrap = -1 'True
HideSelection = -1 'True
_Version = 393217
ForeColor = -2147483646
BackColor = -2147483643
BorderStyle = 1
Appearance = 1
NumItems = 0
End
Begin VB.CommandButton CmdSearch
Caption = "查询"
Height = 855
Left = 5760
Picture = "FrmReaderBrowse.frx":030A
Style = 1 'Graphical
TabIndex = 6
Top = 1560
Width = 855
End
Begin VB.CommandButton CmdExportExcel
Caption = "导出Excel"
Height = 855
Left = 6720
Picture = "FrmReaderBrowse.frx":0614
Style = 1 'Graphical
TabIndex = 5
Top = 1560
Width = 855
End
Begin VB.CommandButton CmdPrint
Caption = "打印"
Height = 855
Left = 7680
Picture = "FrmReaderBrowse.frx":091E
Style = 1 'Graphical
TabIndex = 4
Top = 1560
Width = 855
End
Begin VB.CommandButton CmdExit
Caption = "退出"
Height = 855
Left = 9000
Picture = "FrmReaderBrowse.frx":30C0
Style = 1 'Graphical
TabIndex = 3
Top = 1560
Width = 855
End
Begin VB.CommandButton CmdAllReader
Caption = "所有读者"
Height = 855
Left = 4560
Picture = "FrmReaderBrowse.frx":33CA
Style = 1 'Graphical
TabIndex = 2
Top = 1560
Width = 855
End
Begin VB.Frame Frame1
Caption = "查询条件"
Height = 1335
Left = 360
TabIndex = 7
Top = 120
Width = 7815
Begin VB.CheckBox Check1
Caption = "执行模糊查询"
Height = 255
Left = 4920
TabIndex = 14
Top = 960
Width = 2415
End
Begin VB.ComboBox Combo1
Height = 300
Left = 1680
Style = 2 'Dropdown List
TabIndex = 13
Top = 840
Width = 1935
End
Begin VB.TextBox TxtName
Appearance = 0 'Flat
Height = 270
Left = 5160
TabIndex = 12
Top = 360
Width = 2175
End
Begin VB.TextBox TxtNo
Appearance = 0 'Flat
Height = 270
Left = 1680
TabIndex = 11
Top = 360
Width = 1935
End
Begin VB.Label Label1
Caption = "借书证号"
Height = 255
Left = 480
TabIndex = 10
Top = 360
Width = 1095
End
Begin VB.Label Label2
Caption = "姓名"
Height = 255
Left = 4440
TabIndex = 9
Top = 360
Width = 1095
End
Begin VB.Label Label3
Caption = "类别"
Height = 255
Left = 480
TabIndex = 8
Top = 840
Width = 735
End
End
Begin VB.Label LblResult
ForeColor = &H000000FF&
Height = 615
Left = 8760
TabIndex = 1
Top = 720
Width = 1815
End
Begin VB.Label Label4
Caption = "查询结果"
ForeColor = &H8000000D&
Height = 255
Left = 8760
TabIndex = 0
Top = 240
Width = 975
End
End
Attribute VB_Name = "FrmReaderBrowse"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim SQL As String
Private Sub CmdAllReader_Click()
SQL = "SELECT 借书证号,姓名,性别,办证日期,Email,已借图书,读者类别 FROM reader"
DisplayListView (SQL)
End Sub
Private Sub CmdExit_Click()
Unload Me
End Sub
Private Sub CmdExportExcel_Click()
Dim rs As ADODB.Recordset
Dim appExcel As Excel.Application
Dim bookExcel As Excel.Workbook
Dim sheetExcel As Excel.Worksheet
Dim i As Integer
If SQL = "" Then
Exit Sub
End If
Set rs = ExecuteSQL(SQL)
Set appExcel = CreateObject("excel.application")
appExcel.Visible = True
Set bookExcel = appExcel.Workbooks.Add
Set sheetExcel = bookExcel.Worksheets.Add
'开始将记录读入Excel
sheetExcel.Cells(1, 1) = "借书证号"
sheetExcel.Cells(1, 2) = "姓名"
sheetExcel.Cells(1, 3) = "性别"
sheetExcel.Cells(1, 4) = "读者类别"
sheetExcel.Cells(1, 5) = "已借图书"
sheetExcel.Cells(1, 6) = "Email"
i = 2
Do While Not rs.EOF
sheetExcel.Cells(i, 1) = rs.Fields("借书证号")
sheetExcel.Cells(i, 2) = rs.Fields("姓名")
sheetExcel.Cells(i, 3) = rs.Fields("性别")
sheetExcel.Cells(i, 4) = rs.Fields("读者类别")
sheetExcel.Cells(i, 5) = rs.Fields("已借图书")
sheetExcel.Cells(i, 6) = rs.Fields("Email")
rs.MoveNext
i = i + 1
Loop
Set sheetExcel = Nothing
Set bookExcel = Nothing
Set appExcel = Nothing
End Sub
Private Sub CmdPrint_Click()
If DataEnvironment1.rstblSearch.State <> adStateClosed Then
DataEnvironment1.rstblSearch.Close
End If
DataEnvironment1.rstblSearch.Open SQL
Set DataReportReader.DataSource = DataEnvironment1
DataReportReader.DataMember = "tblSearch"
DataReportReader.Show
End Sub
Private Sub CmdSearch_Click()
If Trim(TxtNo.Text) = "" And Trim(TxtName.Text) = "" And Combo1.ListIndex = 0 Then
SQL = "SELECT 借书证号,姓名,性别,办证日期,已借图书,读者类别 FROM reader"
Else
SQL = "SELECT 借书证号,姓名,性别,办证日期,已借图书,读者类别 FROM reader WHERE (性别='男' OR 性别='女')"
'检查是否执行模糊查询
If Check1.Value = False Then
If Trim(TxtNo.Text) <> "" Then
SQL = SQL & " AND 借书证号='" & TxtNo.Text & "'"
End If
If Trim(TxtName.Text) <> "" Then
SQL = SQL & " AND 姓名='" & TxtName.Text & "'"
End If
If Combo1.ListIndex <> 0 Then
SQL = SQL & " AND 读者类别 = '" & Trim(Combo1.Text) & "'"
End If
Else
If Trim(TxtNo.Text) <> "" Then
SQL = SQL & " AND 借书证号 LIKE '%" & TxtNo.Text & "%'"
End If
If Trim(TxtName.Text) <> "" Then
SQL = SQL & " AND 姓名 LIKE '%" & TxtName.Text & "%'"
End If
If Combo1.ListIndex <> 0 Then
SQL = SQL & " AND 读者类别 = '" & Trim(Combo1.Text) & "'"
End If
End If
End If
'显示记录
DisplayListView (SQL)
End Sub
Private Sub Command1_Click()
Dim mySql
Dim strReaderNo As String
Dim rs As ADODB.Recordset
Dim strMsg As String
'得到列框中的姓名
If ListView1.ListItems.Count > 0 Then
strReaderNo = Trim(ListView1.SelectedItem)
mySql = "SELECT book.图书编号,书名,借阅日期 FROM book,borrow WHERE book.图书编号=borrow.图书编号 AND borrow.是否已还 = TRUE AND borrow.借书证号= '" & strReaderNo & "'"
Set rs = ExecuteSQL(mySql)
strMsg = "您的已借图书如下" & Chr(13) & Chr(10)
Do While Not rs.EOF
strMsg = strMsg & Chr(13) & Chr(10) & rs.Fields("图书编号") & " " & rs.Fields("书名") & " " & rs.Fields("借阅日期")
rs.MoveNext
Loop
MsgBox strMsg, vbInformation + vbOKOnly, "未还图书"
rs.Close
Set rs = Nothing
End If
End Sub
Private Sub Command2_Click()
Dim strReaderNo As String
Dim mySql As String
Dim rs As ADODB.Recordset
Dim strMsg As String
'得到列框中的姓名
If ListView1.ListItems.Count > 0 Then
strReaderNo = Trim(ListView1.SelectedItem)
mySql = "SELECT book.图书编号,书名,借阅日期 FROM book,borrow WHERE book.图书编号=borrow.图书编号 AND borrow.是否已还 = FALSE AND borrow.借书证号= '" & strReaderNo & "'"
Set rs = ExecuteSQL(mySql)
strMsg = "您的未还图书如下" & Chr(13) & Chr(10)
If rs.EOF And rs.BOF Then Exit Sub
Do While Not rs.EOF
strMsg = strMsg & Chr(13) & Chr(10) & rs.Fields("图书编号") & " " & rs.Fields("书名") & " " & rs.Fields("借阅日期")
rs.MoveNext
Loop
MsgBox strMsg, vbInformation + vbOKOnly, "未还图书"
rs.Close
Set rs = Nothing
End If
End Sub
Private Sub Form_Load()
'初始化ListView
With ListView1
.View = lvwReport
.ColumnHeaders.Add , , "读者编号", 1200
.ColumnHeaders.Add , , "姓名", 1000
.ColumnHeaders.Add , , "性别", 800
.ColumnHeaders.Add , , "类别", 800
.ColumnHeaders.Add , , "已借图书", 1000
.ColumnHeaders.Add , , "Email", 3000
End With
Combo1.Clear
Combo1.AddItem "全部"
Combo1.AddItem "A"
Combo1.AddItem "B"
Combo1.ListIndex = 0
End Sub
Public Sub DisplayListView(SQL As String)
Dim rs As ADODB.Recordset
Dim i As Integer
On Error Resume Next
If SQL = "" Then
Exit Sub
End If
Set rs = ExecuteSQL(SQL)
i = 1
ListView1.ListItems.Clear
Do While Not rs.EOF
ListView1.ListItems.Add i, , rs.Fields("借书证号")
With ListView1.ListItems(i)
.SubItems(1) = rs.Fields("姓名")
.SubItems(2) = rs.Fields("性别")
.SubItems(3) = rs.Fields("读者类别")
.SubItems(4) = rs.Fields("已借图书")
.SubItems(5) = rs.Fields("Email")
End With
rs.MoveNext
i = i + 1
Loop
LblResult.Caption = "共找到 " & rs.RecordCount & " 条记录"
rs.Close
Set rs = Nothing
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -