📄 frmreader_choose.frm
字号:
VERSION 5.00
Object = "{5E9E78A0-531B-11CF-91F6-C2863C385E30}#1.0#0"; "MSFLXGRD.OCX"
Begin VB.Form frmreader_choose
BorderStyle = 1 'Fixed Single
Caption = "读者列表选择"
ClientHeight = 6165
ClientLeft = 45
ClientTop = 435
ClientWidth = 8415
Icon = "frmreader_choose.frx":0000
LinkTopic = "Form2"
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 6165
ScaleWidth = 8415
StartUpPosition = 2 '屏幕中心
Begin VB.TextBox txt读者姓名
Height = 390
Left = 4560
TabIndex = 1
Top = 480
Width = 2175
End
Begin VB.TextBox txt读者编号
Height = 390
Left = 1200
TabIndex = 0
Top = 480
Width = 2175
End
Begin VB.CommandButton cmdexit
Cancel = -1 'True
Caption = "返 回"
Height = 495
Left = 7080
TabIndex = 4
Top = 5400
Width = 1215
End
Begin VB.CommandButton cmdchoose
Caption = "选 择"
Default = -1 'True
Height = 495
Left = 7080
TabIndex = 3
Top = 4680
Width = 1215
End
Begin MSFlexGridLib.MSFlexGrid readerGrid
Height = 4815
Left = 120
TabIndex = 2
Top = 1080
Width = 6855
_ExtentX = 12091
_ExtentY = 8493
_Version = 393216
Rows = 1
Cols = 6
FixedCols = 0
BackColor = -2147483639
BackColorBkg = 14737632
GridColor = 14737632
GridColorFixed = 14737632
SelectionMode = 1
AllowUserResizing= 1
End
Begin VB.PictureBox Picbg1
Appearance = 0 'Flat
AutoRedraw = -1 'True
AutoSize = -1 'True
BackColor = &H80000005&
BorderStyle = 0 'None
ForeColor = &H80000008&
Height = 1440
Left = 7440
Picture = "frmreader_choose.frx":19862
ScaleHeight = 1440
ScaleWidth = 1440
TabIndex = 5
Top = 360
Width = 1440
End
Begin VB.Label Label2
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "读者姓名:"
Height = 180
Left = 3600
TabIndex = 7
Top = 585
Width = 900
End
Begin VB.Label Label1
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "读者编号:"
Height = 180
Left = 240
TabIndex = 6
Top = 585
Width = 900
End
End
Attribute VB_Name = "frmreader_choose"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'-------------------------------------------------------
' 作者:邹雪桃
' 功能: 借书时列出所有借书数量大于0的书,还书和续借时列出有借书的读者
' 可以模糊查询,把相应信息返回主框
'-------------------------------------------------------
Public Function readerChoose_update(sql As String)
Dim rs, rs2 As New ADODB.Recordset
Dim sql2 As String
Set rs = TransactSQL(sql)
readerGrid.Rows = 1
If Not rs.EOF Then
With readerGrid
.Rows = 1
While Not rs.EOF
sql = "select 可借书数量 from dzlbb where 读者类别= '" & rs(3) & "'" '不显示已借全书的读者
Set rs2 = TransactSQL(sql)
If Not rs2.EOF And rs(7) <= rs2(0) Then
If Not (frmborrow_read.opt借书.Value And rs(7) >= rs2(0)) Then
.Rows = .Rows + 1
.TextMatrix(.Rows - 1, 0) = rs(0)
.TextMatrix(.Rows - 1, 1) = rs(1)
.TextMatrix(.Rows - 1, 2) = rs(2)
.TextMatrix(.Rows - 1, 3) = rs(6)
.TextMatrix(.Rows - 1, 4) = rs(3)
.TextMatrix(.Rows - 1, 5) = rs(7)
End If
End If
rs2.Close
rs.MoveNext
Wend
End With
rs.Close
End If
End Function
Private Sub cmdchoose_Click()
Dim rs As New ADODB.Recordset
Dim sql As String, sql2 As String
If frmborrow_read.opt借书.Value Then
sql = "select * from jsxxb where 读者编号='" & readerGrid.TextMatrix(readerGrid.Row, 0) & "'"
Set rs = TransactSQL(sql)
If rs.EOF Then
ElseIf DateDiff("d", rs(6), Format$(Now, "yyyy-mm-dd")) > 0 Then
MsgBox "读者要先还书才能进行借书", vbOKOnly
Exit Sub
End If
sql = "select 是否交款 from hsxxb where 读者编号='" & readerGrid.TextMatrix(readerGrid.Row, 0) & "'"
Set rs = TransactSQL(sql)
If rs(0) = "是" Then
MsgBox "读者要先交罚款才能进行借书", vbOKOnly
Exit Sub
End If
End If
If readerGrid.Rows < 2 Then
Else
'借书/归还/续借----加载数据到<借阅管理frmborrow_read>窗体中
frmborrow_read.txt读者编号.Text = readerGrid.TextMatrix(readerGrid.Row, 0)
With readerGrid
frmborrow_read.lst读者.AddItem "读者名称:" & vbTab & .TextMatrix(readerGrid.Row, 1), 0
frmborrow_read.lst读者.AddItem "读者性别:" & vbTab & .TextMatrix(readerGrid.Row, 2), 1
frmborrow_read.lst读者.AddItem "读者状态:" & vbTab & .TextMatrix(readerGrid.Row, 3), 2
frmborrow_read.lst读者.AddItem "读者类别:" & vbTab & .TextMatrix(readerGrid.Row, 4), 3
frmborrow_read.lst读者.AddItem "已借书数:" & vbTab & .TextMatrix(readerGrid.Row, 5), 4
End With
frmborrow_read.cmd图书选择.Enabled = True
Dim day As Integer
'借阅数量
sql = "select 可借书天数,可续借次数 from dzlbb where 读者类别= '" & readerGrid.TextMatrix(readerGrid.Row, 4) & "'"
Set rs = TransactSQL(sql)
If Not rs.EOF Then
frmborrow_read.txt借阅天数.Text = rs(0)
End If
'sql2 = "select from jsxxb where 图书编号= '" & frmbook_choose.bookGrid.TextMatrix(frmbook_choose.bookGrid.Row, 0) & "'"
'Set rs = TransactSQL(sql2)
'rs.Fields(4) = frmborrow_read.txt借阅数量
'rs.Update
Unload Me
frmborrow_read.cmdexit.Enabled = True
End If
End Sub
Private Sub cmdexit_Click()
Unload Me
Call frmborrow_read.clean '清空表框
End Sub
Private Sub Form_Load()
Call fullpic(Me, Picbg1) '背景图
Me.Left = (frmmain.ScaleWidth - Me.Width) / 2
Me.Top = (frmmain.ScaleHeight - Me.Height) / 2
With readerGrid
.TextMatrix(0, 0) = "读者编号"
.TextMatrix(0, 1) = "读者名称"
.TextMatrix(0, 2) = "读者性别"
.TextMatrix(0, 3) = "读者状态"
.TextMatrix(0, 4) = "读者类别"
.TextMatrix(0, 5) = "已借书数"
.ColAlignment(0) = 1
.ColWidth(0) = 1500
.ColWidth(1) = 1200
.ColWidth(2) = 900
.ColWidth(3) = 1200
.ColWidth(4) = 1000
.ColWidth(5) = 1000
End With
Dim sql As String
'借书----按读者编号显示读者信息
If frmborrow_read.opt借书.Value Then
sql = "select * from dzxxb where 读者状态='正常' "
End If
'归还/续借----按读者编号显示读者信息
If frmborrow_read.opt归还.Value Or frmborrow_read.opt续借.Value Then
sql = "select * from dzxxb where 已借书数 > 0 and 读者状态='正常' "
End If
Call readerChoose_update(sql)
End Sub
Private Sub txt读者编号_Change()
Dim rs As New ADODB.Recordset
Dim sql As String
'借书----按读者编号显示读者信息
If frmborrow_read.opt借书.Value Then
sql = "select * from dzxxb where 读者编号 like '" & Trim(txt读者编号.Text) & "%' and 读者状态='正常' "
If txt读者编号.Text = "" And txt读者姓名.Text = "" Then
sql = "select * from dzxxb where 读者状态='正常'"
End If
End If
'归还/续借----按读者编号显示读者信息
If frmborrow_read.opt归还.Value Or frmborrow_read.opt续借.Value Then
sql = "select * from dzxxb where 读者编号 like '" & Trim(txt读者编号.Text) & "%' and 已借书数 > 0 and 读者状态='正常'"
If txt读者编号.Text = "" And txt读者姓名.Text = "" Then
sql = "select * from dzxxb where 已借书数 > 0 and 读者状态='正常'"
End If
End If
Call readerChoose_update(sql)
End Sub
Private Sub txt读者姓名_Change()
Dim rs As New ADODB.Recordset
Dim sql As String
'借书----按读者姓名显示读者信息
If frmborrow_read.opt借书.Value Then
sql = "select * from dzxxb where 读者姓名 like '" & Trim(txt读者姓名.Text) & "%' and 读者状态='正常'"
If txt读者编号.Text = "" And txt读者姓名.Text = "" Then
sql = "select * from dzxxb where 读者状态='正常'"
End If
End If
'归还/续借----按读者姓名显示读者信息
If frmborrow_read.opt归还.Value Or frmborrow_read.opt续借.Value Then
sql = "select * from dzxxb where 读者姓名 like '" & Trim(txt读者姓名.Text) & "%' and 已借书数 > 0 and 读者状态='正常'"
If txt读者编号.Text = "" And txt读者姓名.Text = "" Then
sql = "select * from dzxxb where 已借书数 > 0 and 读者状态='正常'"
End If
End If
Call readerChoose_update(sql)
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -