📄 frmreaderquery.frm
字号:
VERSION 5.00
Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX"
Begin VB.Form FrmReaderQuery
BorderStyle = 1 'Fixed Single
Caption = "读者借阅查阅"
ClientHeight = 4560
ClientLeft = 45
ClientTop = 330
ClientWidth = 6600
LinkTopic = "Form1"
LockControls = -1 'True
MaxButton = 0 'False
MDIChild = -1 'True
MinButton = 0 'False
ScaleHeight = 4560
ScaleWidth = 6600
Begin VB.Data Datamessage
Caption = "Data1"
Connect = "Access 2000;"
DatabaseName = ""
DefaultCursorType= 0 'DefaultCursor
DefaultType = 2 'UseODBC
Exclusive = 0 'False
Height = 345
Left = 120
Options = 0
ReadOnly = 0 'False
RecordsetType = 1 'Dynaset
RecordSource = ""
Top = 3600
Visible = 0 'False
Width = 1140
End
Begin VB.Data DataQuery
Caption = "Data1"
Connect = "Access"
DatabaseName = ""
DefaultCursorType= 0 'DefaultCursor
DefaultType = 2 'UseODBC
Exclusive = 0 'False
Height = 495
Left = 1560
Options = 0
ReadOnly = 0 'False
RecordsetType = 1 'Dynaset
RecordSource = ""
Top = 2640
Visible = 0 'False
Width = 2775
End
Begin VB.VScrollBar vsl
Height = 2055
Left = 5640
Max = 12
TabIndex = 8
Top = 1680
Width = 375
End
Begin VB.TextBox TxtBQ
Height = 375
Index = 0
Left = 360
TabIndex = 7
Text = "Text2"
Top = 1320
Width = 1335
End
Begin VB.CommandButton CmdExit
Caption = "关闭"
BeginProperty Font
Name = "宋体"
Size = 9
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 4440
TabIndex = 6
Top = 3720
Width = 855
End
Begin VB.CommandButton CmdNext
Caption = "下一个"
BeginProperty Font
Name = "宋体"
Size = 9
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 2400
TabIndex = 5
Top = 3720
Width = 855
End
Begin VB.CommandButton CmdPrevious
Caption = "上一个"
BeginProperty Font
Name = "宋体"
Size = 9
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 1080
TabIndex = 4
Top = 3720
Width = 855
End
Begin VB.TextBox TxtReaderName
Height = 375
Left = 3840
TabIndex = 3
Text = "Text1"
Top = 240
Width = 1455
End
Begin VB.ComboBox CmbReaderindex
Height = 315
Left = 1320
TabIndex = 0
Text = "Combo1"
Top = 240
Width = 1335
End
Begin MSComctlLib.StatusBar StatusBar1
Align = 2 'Align Bottom
Height = 375
Left = 0
TabIndex = 9
Top = 4185
Width = 6600
_ExtentX = 11642
_ExtentY = 661
_Version = 393216
BeginProperty Panels {8E3867A5-8586-11D1-B16A-00C0F0283628}
NumPanels = 3
BeginProperty Panel1 {8E3867AB-8586-11D1-B16A-00C0F0283628}
Object.Width = 5292
MinWidth = 5292
Text = "当前状态:读者借阅询。"
TextSave = "当前状态:读者借阅询。"
EndProperty
BeginProperty Panel2 {8E3867AB-8586-11D1-B16A-00C0F0283628}
Object.Width = 4057
MinWidth = 4057
EndProperty
BeginProperty Panel3 {8E3867AB-8586-11D1-B16A-00C0F0283628}
Object.Width = 19599
MinWidth = 19599
Text = "帮助请按F1"
TextSave = "帮助请按F1"
EndProperty
EndProperty
BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851}
Name = "宋体"
Size = 9
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
End
Begin VB.Label Label3
BorderStyle = 1 'Fixed Single
Caption = " 返还时间"
Height = 375
Index = 2
Left = 4320
TabIndex = 12
Top = 840
Width = 1335
End
Begin VB.Label Label3
BorderStyle = 1 'Fixed Single
Caption = " 图书名称"
Height = 375
Index = 1
Left = 1680
TabIndex = 11
Top = 840
Width = 2655
End
Begin VB.Label Label3
BorderStyle = 1 'Fixed Single
Caption = " 借阅时间"
Height = 375
Index = 0
Left = 360
TabIndex = 10
Top = 840
Width = 1335
End
Begin VB.Label Label2
Caption = "读者姓名"
Height = 495
Left = 3000
TabIndex = 2
Top = 360
Width = 1215
End
Begin VB.Label Label1
Caption = "读者编号"
Height = 495
Left = 120
TabIndex = 1
Top = 240
Width = 1095
End
End
Attribute VB_Name = "FrmReaderQuery"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'************************************************************************
'本窗本用于读者借阅查询。使用动态加载文本框,
'*************************************************************************
Option Explicit
Private rsRQuery As Recordset
Private rs As Recordset
Private Sub CmbReaderindex_Change()
Dim i, j As Integer
Dim ct, pos As Integer
With rs
If cmbReaderindex = "" Then
Exit Sub
End If
.FindFirst "readerindex =" & cmbReaderindex
ct = .RecordCount
pos = .AbsolutePosition
If .NoMatch Then
StatusBar1.Panels(1).Text = "提示:该读者无借阅记录。"
StatusBar1.Panels(2).Text = "提示:该读者无借阅记录。"
Else
StatusBar1.Panels(2).Text = "当前记录位置:" & pos + 1 & "/" & ct
End If
End With
If Not IsNumeric(cmbReaderindex) Then
MsgBox "编号为数字!", vbOKOnly + vbInformation, ""
cmbReaderindex.SetFocus
Exit Sub
End If
DataQuery.RecordSource = "select borrowtime,bookname,returntime ,readername " _
& " from borrowmessage,bookmessage,readermessage" _
& " where bookmessage.bookindex = borrowmessage.bookindex " _
& "and readermessage.readerindex = borrowmessage.readerindex " _
& "and borrowmessage.readerindex = " & cmbReaderindex & ""
DataQuery.Refresh
Set rsRQuery = DataQuery.Recordset '注意全局变量用运时的生命期
If rsRQuery.RecordCount > 0 Then
StatusBar1.Panels(1).Text = "当前状态:查询读者的借阅记录。"
With rsRQuery
.MoveLast
TxtReaderName.Text = rsRQuery.Fields("readername")
.MoveFirst
If .RecordCount > 6 Then
vsl.Max = .RecordCount - 6
Else
vsl.Max = 0
End If
TextClear
For i = 0 To 17
If i Mod 3 = 0 Then
j = 0
End If
If rsRQuery.Fields(j) = #1/1/1111# Then
TxtBQ(i) = "未还"
Else
TxtBQ(i) = rsRQuery.Fields(j)
End If
j = j + 1
If j = 3 Then
rsRQuery.MoveNext
If .EOF Then
Exit Sub
End If
End If
Next
' rsRQuery.FindFirst "readername = "
End With
Else
StatusBar1.Panels(1).Text = "提示:该读者无借阅记录。"
' MsgBox "无读者的借阅记录!", vbOKOnly + vbInformation, ""
TextClear
TxtReaderName.Text = ""
End If
End Sub
Private Sub CmbReaderindex_Click()
CmbReaderindex_Change
End Sub
Private Sub CmdExit_Click()
Set rs = Nothing
Set rsRQuery = Nothing
DataQuery.DatabaseName = ""
Unload Me
End Sub
Private Sub CmdNext_Click()
' DataQuery.RecordSource = "select borrowmessage.readerindex from borrowmessage "
' DataQuery.Refresh
' Set rsRQuery = DataQuery.Recordset
Dim ct, pos As Integer
If rs.RecordCount > 0 Then
With rs
.MoveNext
If .EOF Then
MsgBox "这已是最后一条记录", vbOKOnly + vbInformation, ""
.MovePrevious
Exit Sub
End If
ct = .RecordCount
pos = .AbsolutePosition
StatusBar1.Panels(2).Text = "当前记录位置:" & pos + 1 & "/" & ct
cmbReaderindex = rs.Fields("readerindex")
TxtReaderName.Text = rs.Fields("readername")
End With
End If
End Sub
Private Sub CmdPrevious_Click()
Dim ct, pos As Integer
If rs.RecordCount > 0 Then
With rs
.MovePrevious
If .BOF Then
MsgBox "这已是第一条记录", vbOKOnly + vbInformation, ""
.MoveNext
Exit Sub
End If
ct = .RecordCount
pos = .AbsolutePosition
StatusBar1.Panels(2).Text = "当前记录位置:" & pos + 1 & "/" & ct
cmbReaderindex = rs.Fields("readerindex")
TxtReaderName.Text = rs.Fields("readername")
End With
End If
End Sub
Private Sub vsl_Change()
On Error Resume Next
Dim i, j As Integer
With rsRQuery
.MoveFirst
For i = 0 To vsl.Value - 1
.MoveNext
Next
For i = 0 To 17
If i Mod 3 = 0 Then
j = 0
End If
TxtBQ(i) = rsRQuery.Fields(j)
j = j + 1
If j = 3 Then
rsRQuery.MoveNext
If .EOF Then
Exit Sub
End If
End If
Next
End With
End Sub
Private Sub Form_Activate()
On Error GoTo err:
Dim i, j As Integer
Dim ct As Integer
Dim pos As Integer
Me.Left = (Screen.Width - Me.ScaleWidth) * 1 / 2
Me.Top = (Screen.Height - Me.ScaleHeight) * 1 / 2
Datamessage.DatabaseName = DataPath
Datamessage.RecordSource = "select distinct readermessage.readerindex ,readername from readermessage left join borrowmessage on readermessage.readerindex = borrowmessage.readerindex "
Datamessage.Refresh
Set rs = Datamessage.Recordset
With rs
.MoveLast
j = .RecordCount 'fffffffff
.MoveFirst
For i = 1 To j
cmbReaderindex.AddItem .Fields("readerindex")
.MoveNext
Next
.MoveFirst 'hhhhhhhh
ct = .RecordCount
pos = .AbsolutePosition
StatusBar1.Panels(2).Text = "当前记录位置:" & pos + 1 & "/" & ct
cmbReaderindex = rs.Fields("readerindex")
TxtReaderName.Text = rs.Fields("readername")
End With
Exit Sub
err:
MsgBox "无读者的借阅记录!", vbOKOnly + vbInformation, ""
Unload Me
End Sub
Private Sub Form_Load()
Dim i As Integer
Dim PosLeft As Integer
Dim PosTop As Integer
Me.Left = (Screen.Width - Me.ScaleWidth) * 1 / 2 '调整窗体到屏幕中间
Me.Top = (Screen.Height - Me.ScaleHeight) * 1 / 2
PosLeft = TxtBQ(0).Left
PosTop = TxtBQ(0).Top
For i = 1 To 17
Load TxtBQ(i) 'jjjj
If (i - 1) Mod 3 = 0 Then
TxtBQ(i).Width = TxtBQ(0).Width * 2
End If
If i Mod 3 = 0 Then
PosTop = PosTop + TxtBQ(0).Height
TxtBQ(i).Left = TxtBQ(0).Left
TxtBQ(i).Top = PosTop
TxtBQ(i).Visible = True
Else
TxtBQ(i).Left = TxtBQ(i - 1).Left + TxtBQ(i - 1).Width
TxtBQ(i).Top = TxtBQ(i - 1).Top
TxtBQ(i).Visible = True
End If
Next
vsl.Top = TxtBQ(0).Top
vsl.Left = TxtBQ(0).Left + 4 * TxtBQ(0).Width
vsl.Height = 6 * TxtBQ(0).Height
InitializeDataPath
DataQuery.DatabaseName = DataPath
End Sub
Private Sub TextClear()
Dim i As Integer
For i = 0 To 17
TxtBQ(i) = ""
Next
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -