⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 a图书维护.frm

📁 入库新书管理模块:用于登记新购图书和受赠图书两部分信息
💻 FRM
📖 第 1 页 / 共 2 页
字号:
         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 + -