📄 frmreadermanage.frm
字号:
VERSION 5.00
Object = "{5E9E78A0-531B-11CF-91F6-C2863C385E30}#1.0#0"; "MSFLXGRD.OCX"
Begin VB.Form frmreadermanage
BorderStyle = 1 'Fixed Single
Caption = "读者信息管理"
ClientHeight = 7350
ClientLeft = 45
ClientTop = 435
ClientWidth = 9495
Icon = "frmreadermanage.frx":0000
LinkTopic = "Form2"
MDIChild = -1 'True
ScaleHeight = 7350
ScaleWidth = 9495
Begin VB.CommandButton cmdexit
Cancel = -1 'True
Caption = "退 出"
Height = 375
Left = 7440
TabIndex = 5
Top = 6720
Width = 1215
End
Begin VB.CommandButton cmdqueue
Caption = "查 询"
Height = 375
Left = 5760
TabIndex = 4
Top = 6720
Width = 1215
End
Begin VB.CommandButton cmddel
Caption = "删 除"
Height = 375
Left = 4080
TabIndex = 3
Top = 6720
Width = 1215
End
Begin VB.CommandButton cmdmodify
Caption = "修 改"
Height = 375
Left = 2400
TabIndex = 2
Top = 6720
Width = 1215
End
Begin VB.CommandButton cmdadd
Caption = "添 加"
Default = -1 'True
Height = 375
Left = 720
TabIndex = 1
Top = 6720
Width = 1215
End
Begin MSFlexGridLib.MSFlexGrid readerGrid
Height = 5295
Left = 0
TabIndex = 0
Top = 960
Width = 9495
_ExtentX = 16748
_ExtentY = 9340
_Version = 393216
Rows = 1
Cols = 17
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 = 240
Picture = "frmreadermanage.frx":19862
ScaleHeight = 1440
ScaleWidth = 1440
TabIndex = 7
Top = -240
Width = 1440
End
Begin VB.Label Label1
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "读者列表"
BeginProperty Font
Name = "宋体"
Size = 26.25
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 525
Left = 3480
TabIndex = 6
Top = 240
Width = 2160
End
End
Attribute VB_Name = "frmreadermanage"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Public Function readerone_update(txt As String, add As Boolean)
Dim rs As New ADODB.Recordset
Dim sql As String
sql = "select * from dzxxb where 读者编号='" & txt & "' " 'dzxxb读者信息表
Dim i As Integer
Set rs = TransactSQL(sql)
With readerGrid
If Not rs.EOF Then 'rs不是指向尾端时,是修改readerGrid的记录
If add = True Then '添加记录信息到readerGrid中
.AddItem rs(0) & vbTab & rs(1) & vbTab & rs(2) & vbTab & rs(3) & vbTab & rs(4) & vbTab & rs(5) & vbTab & rs(6) & vbTab & rs(7) & vbTab & rs(8) & vbTab & rs(9) & vbTab & rs(10) & vbTab & rs(11) & vbTab & rs(12) & vbTab & rs(13) & vbTab & rs(14) & vbTab & rs(15) & vbTab & rs(16)
Else
.TextMatrix(.Row, 1) = rs(1)
.TextMatrix(.Row, 2) = rs(2)
.TextMatrix(.Row, 3) = rs(3)
.TextMatrix(.Row, 4) = rs(4)
.TextMatrix(.Row, 5) = rs(5)
.TextMatrix(.Row, 6) = rs(6)
.TextMatrix(.Row, 7) = rs(7)
.TextMatrix(.Row, 8) = rs(8)
.TextMatrix(.Row, 9) = rs(9)
.TextMatrix(.Row, 10) = rs(10)
.TextMatrix(.Row, 11) = rs(11)
.TextMatrix(.Row, 12) = rs(12)
.TextMatrix(.Row, 13) = rs(13)
.TextMatrix(.Row, 14) = rs(14)
.TextMatrix(.Row, 15) = rs(15)
.TextMatrix(.Row, 16) = rs(16)
End If
readerGrid.Refresh
End If
rs.Close
End With
End Function
Public Function readerList_update()
Dim rs As New ADODB.Recordset
Dim sql As String
sql = "select * from dzxxb" 'dzxxb读者信息表
'将读者信息表所有记录显示在frmreadermanage窗体的readerGrid表中
Dim i As Integer
Set rs = TransactSQL(sql)
If Not rs.EOF Then
With readerGrid
.Rows = 1
While Not rs.EOF
.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(3)
.TextMatrix(.Rows - 1, 4) = rs(4)
.TextMatrix(.Rows - 1, 5) = rs(5)
.TextMatrix(.Rows - 1, 6) = rs(6)
.TextMatrix(.Rows - 1, 7) = rs(7)
.TextMatrix(.Rows - 1, 8) = rs(8)
.TextMatrix(.Rows - 1, 9) = rs(9)
.TextMatrix(.Rows - 1, 10) = rs(10)
.TextMatrix(.Rows - 1, 11) = rs(11)
.TextMatrix(.Rows - 1, 12) = rs(12)
.TextMatrix(.Rows - 1, 13) = rs(13)
.TextMatrix(.Rows - 1, 14) = rs(14)
.TextMatrix(.Rows - 1, 15) = rs(15)
.TextMatrix(.Rows - 1, 16) = rs(16)
rs.MoveNext
Wend
End With
End If
rs.Close
readerGrid.Refresh
End Function
Private Sub cmdadd_Click()
Dim rs As New ADODB.Recordset
Dim sqlType As String
sqlType = "select 读者类别 from dzlbb order by 读者类别"
Set rs = TransactSQL(sqlType)
If rs.EOF Then
MsgBox "请先添加读者类别信息!", vbOKOnly
'frmreaderstyle.Show
rs.Close
Else
rs.Close
frmreaderaddinfo.Show
End If
End Sub
Private Sub cmddel_Click()
Dim resMsg As String
Dim rs As New ADODB.Recordset
Dim sql As String
Dim sql2 As String
sql = "delete from dzxxb where 读者编号 = '" & readerGrid.TextMatrix(readerGrid.Row, 0) & "'"
sql2 = "select * from jsxxb where 图书编号 = '" & txtbookno & "'" '借书信息表
sql3 = "select * from hsxxb where 图书编号 = '" & txtbookno & "' and 是否交款='是'" '还书信息表
'如果借书信息表中有该图书的记录,不能对它进行删除。
If Not TransactSQL(sql2).EOF Then
MsgBox "该编号" & readerGrid.TextMatrix(readerGrid.Row, 0) & "的读者借出了图书,不能删除!请归还读者再能进行删除。", vbOKOnly + vbExclamation, "警告"
Exit Sub
ElseIf Not TransactSQL(sql3).EOF Then
MsgBox "该编号" & readerGrid.TextMatrix(readerGrid.Row, 0) & "的读者欠款,不能删除!请该读者交款才能对读者进行删除。", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
If Trim(readerGrid.TextMatrix(readerGrid.Row, 0)) = "" Then
MsgBox "请选择一条要删除的l读者记录!", vbOKOnly
Else
If readerGrid.TextMatrix(readerGrid.Row, 7) > 0 Then
MsgBox "该读者的已借书数大于零,不能删除!"
Else
resMsg = MsgBox("真的要删除编号为" & readerGrid.TextMatrix(readerGrid.Row, 0) & "的读者信息吗?", vbOKCancel, "警告")
If resMsg = vbOK Then
sql2 = "select * from hsxxb where 读者编号 = '" & readerGrid.TextMatrix(readerGrid.Row, 0) & "'" '还书信息表
sql3 = "select * from fkxxb where 读者编号 = '" & readerGrid.TextMatrix(readerGrid.Row, 0) & "'" '罚款信息表
If Not TransactSQL(sql2).EOF Or Not TransactSQL(sql3).EOF Then
resMsg = MsgBox("一旦删除就要删除数据库中所有其他关于编号为" & readerGrid.TextMatrix(readerGrid.Row, 0) & "的读者的信息记录且不能恢复所删除的数据。" & Chr(10) & _
" 真的要删除该读者信息的记录和其他记录吗?(取消:放弃删除该记录)", vbCritical + vbOKCancel + vbDefaultButton2, "警告")
If resMsg = vbOK Then
sql2 = "delete from hsxxb where 读者编号 = '" & readerGrid.TextMatrix(readerGrid.Row, 0) & "'" '还书信息表
sql3 = "delete from fkxxb where 读者编号 = '" & readerGrid.TextMatrix(readerGrid.Row, 0) & "'" '罚款信息表
TransactSQL (sql2)
TransactSQL (sql3)
Else
cmddel.Enabled = False
Exit Sub
End If
End If
TransactSQL (sql)
If readerGrid.Rows <= 2 Then
readerGrid.Rows = 1
Else
readerGrid.RemoveItem (readerGrid.Row)
End If
readerGrid.Refresh
End If
End If
End If
cmddel.Enabled = False
If readerGrid.Rows < 2 Then
cmdmodify.Enabled = False
End If
End Sub
Private Sub cmdexit_Click()
Unload Me
End Sub
Private Sub cmdmodify_Click()
frmreadermodifyinfo.Show
End Sub
Private Sub cmdqueue_Click()
frmreaderqueue.Show
End Sub
Private Sub Form_Load()
Call fullpic(Me, Picbg1) '背景图
Me.Left = (frmmain.ScaleWidth - Me.Width) / 2
Me.Top = (frmmain.ScaleHeight - Me.Height) / 2
cmdmodify.Enabled = False
cmddel.Enabled = False
'初始化readerGrid表
With readerGrid
.Cols = 17
.TextMatrix(0, 0) = "读者编号"
.TextMatrix(0, 1) = "读者姓名"
.TextMatrix(0, 2) = "读者性别"
.TextMatrix(0, 3) = "读者类别"
.TextMatrix(0, 4) = "出生日期"
.TextMatrix(0, 5) = "办证日期"
.TextMatrix(0, 6) = "读者状态"
.TextMatrix(0, 7) = "已借书数"
.TextMatrix(0, 8) = "证件名称"
.TextMatrix(0, 9) = "证件号码"
.TextMatrix(0, 10) = "读者单位"
.TextMatrix(0, 11) = "读者部门"
.TextMatrix(0, 12) = "联系电话"
.TextMatrix(0, 13) = "联系地址"
.TextMatrix(0, 14) = "电子邮件"
.TextMatrix(0, 15) = "备注"
.TextMatrix(0, 16) = "操作员"
.ColWidth(0) = 1500
.ColWidth(1) = 1000
.ColWidth(2) = 800
.ColWidth(3) = 800
.ColWidth(4) = 800
.ColWidth(5) = 800
.ColWidth(6) = 800
.ColWidth(7) = 800
.ColWidth(8) = 1000
.ColWidth(9) = 1500
.ColWidth(10) = 1000
.ColWidth(11) = 1000
.ColWidth(12) = 1000
.ColWidth(13) = 1000
.ColWidth(14) = 1000
.ColWidth(15) = 1000
.ColWidth(16) = 1000
End With
Call readerList_update '把读者信息表的记录载入当前readerGrid表中
End Sub
Private Sub readerGrid_Click()
If readerGrid.Row > 0 And readerGrid.Rows >= 2 Then
cmdmodify.Enabled = True
cmddel.Enabled = True
Else
cmdmodify.Enabled = False
cmddel.Enabled = False
End If
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -