📄 a图书维护.frm
字号:
Height = 375
Index = 1
Left = 120
TabIndex = 18
Top = 2280
Width = 975
End
Begin VB.Label Label7
Caption = "版次:"
Height = 375
Index = 1
Left = 3960
TabIndex = 17
Top = 1920
Width = 615
End
Begin VB.Label Label5
Caption = "图书数量:"
Height = 375
Index = 2
Left = 3600
TabIndex = 16
Top = 2280
Width = 975
End
End
End
Attribute VB_Name = "A图书维护"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim rs As ADODB.Recordset
Dim SQL As String
Dim msg As String
Dim Index As Integer
Dim flag As String '判断是新增记录还是修改记录
Dim BookNo As String '定义图书号
Private Function CheckData() As Boolean
'检查数据的合法性
Dim rst As ADODB.Recordset
Dim msgt As String
msgt = ""
'检查数据
If Trim(Me.txtBookNo.Text) = "" Then '检查图书号是否为空
msgt = "图书号为空; "
ElseIf Trim(Me.txtName.Text) = "" Then '检查题名是否为空
msgt = "题名为空; "
ElseIf Trim(Me.txtNum.Text) = "" Then '请填入图书数量
msgt = "图书数量为空; "
ElseIf Not Len(Trim(txtBookNo.Text)) = 12 Then '检查图书号是否为12位
msgt = "图书号不是12位; "
ElseIf Not Left(Trim(txtBookNo.Text), 2) = Left(cboSelect.Text, 2) Then
msgt = "图书号不规则; " '检查图书号前两位是否为分类号
End If
If Not msgt = "" Then '如果错误消息不为空,给出错误提示
MsgBox (msgt)
CheckData = False '返回False
Exit Function
End If
'检查唯一性
SQL = " select * from 图书信息表 where 图书号='" & Trim(txtBookNo.Text) & "'"
Set rst = SelectSQL(SQL, msg)
If flag = "Add" And rst.RecordCount > 0 Then '如果是进行添加操作且已经存在该记录,提示重复添加
MsgBox ("该图书信息已经存在,重复添加!")
rst.Close
CheckData = False '返回False
Exit Function
End If
CheckData = True '合法返回True
rst.Close
End Function
Private Sub ShowData()
'在控件中显示数据
BookNo = A图书信息.BookNo '得到图书号
SQL = " select * from 图书信息表 where 图书号='" & Trim(BookNo) & "'"
Set rs = SelectSQL(SQL, msg)
If rs.RecordCount = 1 Then
'为控件赋值
For Index = 0 To Me.cboSelect.ListCount - 1
If Left(cboSelect.List(Index), 2) = rs.Fields("分类号") Then
cboSelect.ListIndex = Index
End If
Next
Me.txtBookNo = rs.Fields("图书号")
Me.txtISBN = rs.Fields("ISBN号")
Me.txtName = rs.Fields("题名")
Me.txtAuthor = rs.Fields("作者")
Me.txtSummary = rs.Fields("主题词")
Me.txtPublisher = rs.Fields("出版社")
Me.txtPubNo = rs.Fields("版次")
If (IsDate(rs.Fields("存储日期"))) Then
Me.DTPicker1.Value = rs.Fields("存储日期")
End If
Me.txtNum = rs.Fields("图书数量")
Me.txtNotes = rs.Fields("备注")
Else
MsgBox ("图书信息检索出错!")
End If
End Sub
Private Sub Form_Load()
'初始化ComboBox分类号
SQL = " select * from 文献类型表 "
Set rs = SelectSQL(SQL, msg)
If rs.RecordCount = 0 Then
MsgBox ("请先建立文献类型!")
Exit Sub
Else
Do While Not rs.BOF And Not rs.EOF
Me.cboSelect.AddItem (rs.Fields("分类号") & rs.Fields("分类名称"))
rs.MoveNext
Loop
Me.cboSelect.ListIndex = 0
Me.txtBookNo = Left(cboSelect.Text, 2)
rs.Close
End If
'判断是添加还是修改
flag = A图书信息.flag
If flag = "Add" Then
Me.Caption = "添加图书"
FrameBook.Caption = "添加图书信息"
SQL = " select * from 图书信息表 "
Set rs = SelectSQL(SQL, msg)
CmdAdd.Visible = True
CmdSave.Enabled = False
CmdCancel.Enabled = False
FrameBook.Enabled = False
Else
Me.Caption = "修改图书"
FrameBook.Caption = "修改图书信息"
CmdAdd.Visible = False
cboSelect.Enabled = False
txtBookNo.Enabled = False
Call ShowData '显示数据
End If
End Sub
Private Sub CmdAdd_Click()
'重置控件
cboSelect.ListIndex = 0
Me.txtBookNo = Left(cboSelect.Text, 2)
Me.txtISBN.Text = ""
Me.txtName.Text = ""
Me.txtAuthor.Text = ""
Me.txtSummary.Text = ""
Me.txtPublisher.Text = ""
Me.txtPubNo.Text = ""
Me.DTPicker1.Refresh
Me.txtNum.Text = "0"
Me.txtNotes.Text = ""
CmdAdd.Enabled = False
CmdSave.Enabled = True
CmdCancel.Enabled = True
FrameBook.Enabled = True
End Sub
Private Sub cmdCancel_Click()
'取消操作
If flag = "Add" Then
'重置控件
cboSelect.ListIndex = 0
Me.txtBookNo.Text = ""
Me.txtISBN.Text = ""
Me.txtName.Text = ""
Me.txtAuthor.Text = ""
Me.txtSummary.Text = ""
Me.txtPublisher.Text = ""
Me.txtPubNo.Text = ""
Me.DTPicker1.Refresh
Me.txtNum.Text = ""
Me.txtNotes.Text = ""
CmdAdd.Enabled = True
Else
Call ShowData '重新显示数据
End If
End Sub
Private Sub setData()
'为字段设置数据
rs.Fields("分类号") = Left(cboSelect.Text, 2)
rs.Fields("图书号") = Me.txtBookNo.Text
rs.Fields("ISBN号") = Me.txtISBN.Text
rs.Fields("题名") = Me.txtName.Text
rs.Fields("作者") = Me.txtAuthor.Text
rs.Fields("主题词") = Me.txtSummary.Text
rs.Fields("出版社") = Me.txtPublisher.Text
rs.Fields("版次") = Me.txtPubNo.Text
rs.Fields("存储日期") = Me.DTPicker1.Value
rs.Fields("图书数量") = Me.txtNum.Text
rs.Fields("备注") = Me.txtNotes.Text
End Sub
Private Sub CmdSave_Click()
On Error GoTo ErrMsg '出错处理
If Not CheckData Then Exit Sub '如果数据不合法就退出
If flag = "Modify" Then '如果是修改数据
msg = MsgBox("您确实要修改这条数据吗?", vbYesNo)
If msg = vbYes Then
Call setData
Else
Exit Sub
End If
ElseIf flag = "Add" Then '如果是添加新数据
rs.AddNew
Call setData
End If
rs.Update '更新数据
If flag = "Add" Then
MsgBox ("成功添加数据!")
CmdAdd.Enabled = True
CmdSave.Enabled = False
CmdCancel.Enabled = False
Else
MsgBox ("成功更新数据!")
End If
Call A图书信息.ReLoad
Exit Sub
ErrMsg:
MsgBox Err.Description, vbExclamation, "出错"
End Sub
Private Sub cboSelect_Click()
Me.txtBookNo = Left(cboSelect.Text, 2)
End Sub
Private Sub CmdExit_Click()
'退出操作
A图书信息.Enabled = True
Unload Me
End Sub
Private Sub Form_Unload(Cancel As Integer)
'退出操作
A图书信息.Enabled = True
rs.Close
Unload Me
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -