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

📄 frmbooks.frm

📁 vb与access数据库的操作实例
💻 FRM
📖 第 1 页 / 共 2 页
字号:
      LabelEdit       =   1
      Sorted          =   -1  'True
      Style           =   7
      HotTracking     =   -1  'True
      SingleSel       =   -1  'True
      ImageList       =   "ImageList1"
      BorderStyle     =   1
      Appearance      =   1
      MousePointer    =   99
      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
End
Attribute VB_Name = "FrmBooks"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Public nTypeId As Integer   '分类编号
Public bHaveSon As Boolean  '是否有子节点
Public Focuskey As String
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Private Sub Cmd_Add_Click()
  '只能在根节点下面添加书籍,判断是否为根节点
  If Focuskey = "a0" Then '根结点
    MsgBox ("只能在最下级添加图书")
    Exit Sub
  End If
  If bHaveSon Then
    MsgBox ("只能在最下级添加图书")
    Exit Sub
  End If
  '将Modify变量设置为False,表示当前状态为插入新记录
  FrmBookEdit.Modify = False
  '初始化FrmBookEdit信息
  FrmBookEdit.txtBookNo = ""
  FrmBookEdit.txtBookName = ""
  FrmBookEdit.txtAuthor = ""
  FrmBookEdit.txtPublisher = ""
  FrmBookEdit.txtLocation = ""
  FrmBookEdit.txtPrice = "0"
  FrmBookEdit.txtDescription = ""
  FrmBookEdit.nBookTypeId = CurBookType.TypeId
  FrmBookEdit.txtSubType = CurBookType.TypeName
  FrmBookEdit.txtType = CurBookType.GetUpperName(CurBookType.TypeId)
  '启动编辑窗体
  FrmBookEdit.Show 1
  '刷新DataGrid表格的内容
  GridRefresh
End Sub

Private Sub Cmd_Back_Click()
  Unload Me
End Sub

Private Sub Cmd_Borrow_Click()
  '使用Adodc1.Recordset.EOF判断当前是否选择了记录
  If Adodc1.Recordset.EOF = True Then
    MsgBox "请选择记录"
    Exit Sub
  End If
  '通过Adodc1.Recordset.Fields()读取Adodc1记录源中的当前数据
  FrmRecordView.nType = 2 '设置类型为借阅归还记录查看
  FrmRecordView.TmpBNo = Trim(Adodc1.Recordset.Fields(0))
  FrmRecordView.Caption = "图书借阅归还记录"
  FrmRecordView.txtBookNo = Trim(Adodc1.Recordset.Fields(0))
  FrmRecordView.txtBookName = Trim(Adodc1.Recordset.Fields(1))
  '设置借阅状态为"全部"
  FrmRecordView.ComboFlag.Visible = True
  FrmRecordView.ComboFlag.ListIndex = 0
  '显示窗体
  FrmRecordView.Show 1
End Sub

Private Sub Cmd_Close_Click()
  Unload Me
End Sub

'单击“删除”按钮
Private Sub Cmd_Del_Click()
  Dim TmpNo As String
  '使用Adodc1.Recordset.EOF判断当前是否选择了记录
  If Adodc1.Recordset.EOF = True Then
    MsgBox "请选择记录"
    Exit Sub
  End If
  '通过Adodc1.Recordset.Fields()读取Adodc1记录源中的当前数据
  TmpNo = Trim(Adodc1.Recordset.Fields(0))
  '询问用户是否确认删除
  If MsgBox("是否删除当前行?", vbYesNo, "确认") = vbYes Then
    Call MyBookInfo.Delete(TmpNo)
    MsgBox "删除成功"
  End If
  '刷新DataGrid表格的内容
  GridRefresh
End Sub

Private Sub Cmd_In_Click()
  '查看入库记录
  Call Sleep(100) '以毫秒为单位
  '使用Adodc1.Recordset.EOF判断当前是否选择了记录
  If Adodc1.Recordset.EOF = True Then
    MsgBox "请选择记录"
    Exit Sub
  End If
  '通过Adodc1.Recordset.Fields()读取Adodc1记录源中的当前数据
  FrmRecordView.nType = 1 '设置类型为入库记录查看
  FrmRecordView.TmpBNo = Trim(Adodc1.Recordset.Fields(0))
  FrmRecordView.Caption = "图书入库记录"
  FrmRecordView.txtBookNo = Trim(Adodc1.Recordset.Fields(0))
  FrmRecordView.txtBookName = Trim(Adodc1.Recordset.Fields(1))
  '设置ComboFlag为不可见
  FrmRecordView.Label1.Visible = False
  FrmRecordView.ComboFlag.Visible = False
  '显示窗体
  FrmRecordView.Show 1
End Sub

'单击“修改”按钮
Private Sub Cmd_Modi_Click()
  If Adodc1.Recordset.EOF = True Then
    MsgBox "请选择记录"
    Exit Sub
  End If
  '将Modify变量设置为True,表示当前状态为修改新记录
  FrmBookEdit.Modify = True
  '初始化FrmBookEdit信息
  '设置当前编辑的图书编号
  FrmBookEdit.OriNo = Adodc1.Recordset.Fields(0)
  FrmBookEdit.txtBookNo = Adodc1.Recordset.Fields(0)
  '图书编号不能修改
  FrmBookEdit.txtBookNo.Enabled = False
  '图书名
  FrmBookEdit.txtBookName = Trim(Adodc1.Recordset.Fields(1))
  '图书分类,根据图书编号取得分类编号,而后取得分类名称和对应的上级分类名称
  FrmBookEdit.txtType = MyBookType.GetUpperName((MyBookInfo.GetTypeId(Adodc1.Recordset.Fields(0))))
  FrmBookEdit.txtSubType = MyBookType.GetName((MyBookInfo.GetTypeId(Adodc1.Recordset.Fields(0))))
  '作者
  FrmBookEdit.txtAuthor = Trim(Adodc1.Recordset.Fields(2))
  '出版社
  FrmBookEdit.txtPublisher = Trim(Adodc1.Recordset.Fields(3))
  '图书位置
  FrmBookEdit.txtLocation = Trim(Adodc1.Recordset.Fields(4))
  '价格
  FrmBookEdit.txtPrice = Trim(Adodc1.Recordset.Fields(5))
  '内容简介
  FrmBookEdit.txtDescription = Trim(Adodc1.Recordset.Fields(7))
  '启动编辑窗体
  FrmBookEdit.Show 1
  '刷新DataGrid表格的内容
  Adodc1.Refresh
End Sub

Private Sub Cmd_Store_Click()
  '查看盘点记录
  '使用Adodc1.Recordset.EOF判断当前是否选择了记录
  If Adodc1.Recordset.EOF = True Then
    MsgBox "请选择记录"
    Exit Sub
  End If
  '通过Adodc1.Recordset.Fields()读取Adodc1记录源中的当前数据
  FrmRecordView.nType = 3 '设置类型为盘点记录查看
  FrmRecordView.TmpBNo = Trim(Adodc1.Recordset.Fields(0))
  FrmRecordView.Caption = "图书盘点记录"
  FrmRecordView.txtBookNo = Trim(Adodc1.Recordset.Fields(0))
  FrmRecordView.txtBookName = Trim(Adodc1.Recordset.Fields(1))
  '设置ComboFlag为不可见
  FrmRecordView.Label1.Visible = False
  FrmRecordView.ComboFlag.Visible = False
  '显示窗体
  FrmRecordView.Show 1
End Sub


Private Sub Form_Load()
  Dim TmpNode As Node
  '设置当前的焦点分类
  FocusClassName = "分类名称"
  Focuskey = "a0"
  
  '设置根结点
  Set TmpNode = TreeView1.Nodes.Add(, , "a0", "图书分类", 1, 3)
  TmpNode.Selected = True
  TmpNode.ExpandedImage = 2
  '调用函数将所有图书分类添加到TreeView1中
  Call AddtoTree(TreeView1, "a0")
  '读取当前节点的信息
  TreeView1_Click
End Sub

Private Sub TreeView1_Click()
  '根据关键字获取图书分类信息
  Focuskey = TreeView1.SelectedItem.Key
  CurBookType.TypeName = TreeView1.SelectedItem.Text
  CurBookType.TypeId = Val(Right(TreeView1.SelectedItem.Key, Len(TreeView1.SelectedItem.Key) - 1))
  
  If Focuskey = "a0" Then '根结点
    nTypeId = -1
    Exit Sub
  End If
  '如果包含子结点,则设置图像格式
  bHaveSon = CurBookType.HaveSon(CurBookType.TypeId)
  If bHaveSon = False Then
    TreeView1.SelectedItem.ExpandedImage = 4
    TreeView1.SelectedItem.Image = 4
    TreeView1.SelectedItem.SelectedImage = 5
  End If
  nTypeId = CurBookType.TypeId
  '读取CurBookType中的所有图书分类信息
  CurBookType.GetInfo (CurBookType.TypeId)
  GridRefresh
End Sub

Private Sub GridRefresh()
  If nTypeId = -1 Then  '表示为根目录
    strSearch = ""
  ElseIf bHaveSon = True Then  '表示为有子节点的分类,显示此分类下的所有图书
    strSearch = " ,BookType t WHERE b.TypeId=t.TypeId AND t.UpperId=" + Trim(Str(nTypeId))
  Else  '表示为根节点
    strSearch = " WHERE b.TypeId=" + Trim(Str(nTypeId))
  End If
  '设置ADO控件的连接字符串
  Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" _
          + App.Path + "\Books.mdb;Persist Security Info=False"
  '刷新DataGrid记录
  Adodc1.RecordSource = "SELECT b.BookNo AS 书号,b.BookName AS 书名,b.Author AS 作者," & _
            "b.Publisher AS 出版社,b.Location AS 书架位置,b.Price AS 单价,b.Total AS 总数量 " & _
            ",b.Description AS 内容介绍 FROM BookInfo b " + strSearch
'  MsgBox (Adodc1.RecordSource)
  Adodc1.Refresh
  DataGrid1.Columns(0).Width = 1000
  DataGrid1.Columns(1).Width = 2000
  DataGrid1.Columns(2).Width = 1200
  DataGrid1.Columns(3).Width = 1600
  DataGrid1.Columns(4).Width = 1000
  DataGrid1.Columns(5).Width = 800
  DataGrid1.Columns(6).Width = 1000
  DataGrid1.Columns(7).Width = 2000
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -