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

📄 frmfygsbm.frm

📁 VB数据库设计的代码。需要根据自己的数据库再作调整
💻 FRM
📖 第 1 页 / 共 2 页
字号:
    Next i
    '在与部门代码对应的ComBox控件中显示第一条记录的部门代码
    Combodm.Text = objfygsbms.Item(1).dm
    '在与部门名称对应的ComBox控件中显示第一条记录的部门代码
    Combogsbmmc.Text = objfygsbms.Item(1).gsbmmc
    '设置当前的记录位置为首记录
    recordlocation = 1
    str = ""
End Sub
Private Sub cmdkmlb_Click(Index As Integer)
Dim i As Integer
Dim m_name As String
On Error GoTo adderr
Select Case Index
  Case 0  '添加按钮
       '设置变量addrecord的值为true,以表示当前操作为添加操作
       addrecord = True
       '调用setbuttonskh过程设置命令按钮的显示状态 , 以防止误操作
       setbuttonskh False
       '清空与费用归属部门代对应的ComBox控件中显示的内容
       Combodm.Text = ""
       '清空与费用归属部门名称对应的ComBox控件中显示的内容
       Combogsbmmc.Text = ""
       '将焦点定位在于部门代码对应的ComBox控件中上,要求用户输入数据.
       Combodm.SetFocus
       Exit Sub
  Case 1   '修改按钮
       '在费用归属部门类对象objfygsbm中记录当前显示的费用归属部门信息
       objfygsbm.xuhao = objfygsbms.Item(recordlocation).xuhao
       objfygsbm.dm = objfygsbms.Item(recordlocation).dm
       objfygsbm.gsbmmc = objfygsbms.Item(recordlocation).gsbmmc
       '设置变量addrecord的值为False,以表示当前操作为添加操作
       addrecord = False
        '调用setbuttonskh过程设置命令按钮的显示状态 , 以防止误操作
       setbuttonskh False
       '将焦点定位在于部门代码对应的ComBox控件中上,要求用户输入数据.
       Combodm.SetFocus
       Exit Sub
  Case 2   '查询按钮
      m_name = InputBox("请输入费用归属部门代码或费用归属部门名称", _
                        "按费用归属部门代码或费用归属部门名称搜索")
      '判断用户输入的欲查询的信息是否为空,如果为空,则退出该过程
      If m_name = "" Then
         Exit Sub
      End If
      '调用对应于费用归属部门集合类对象的全局变量objfygsbms
      '的Find方法在fygsbm表中获得符合用户输入的查询条件的费用归属部门信息
      objfygsbms.Find m_name
      '利用对objfygsbms象的Count属性,判断查找到的符合条件的费用归属部门
      '是否为空,如果为空,则给出错误提示
      If objfygsbms.Count = 0 Then
         MsgBox "没有该费用归属部门代码或费用归属部门名称!"
         Call objfygsbms.Find(str)
      Else
         Call objfygsbms.Find(m_name)
         str = m_name
      End If
      '设置MSFlexGrid1表格的各列标题和宽度
      For i = 1 To MSFlexGrid1.Rows - 1
        MSFlexGrid1.Row = i
        For j = 0 To 3
           MSFlexGrid1.Col = j
           MSFlexGrid1.Text = ""
        Next j
      Next i
       '设置MSFlexGrid1表格中可以显示的行数
      MSFlexGrid1.Rows = objfygsbms.Count + 1
      '在MSFlexGrid1表格中显示符合查找条件的费用归属部门信息
      For i = 1 To objfygsbms.Count
        '设置MSFlexGrid1表格的当前行
          MSFlexGrid1.Row = i
        '设置MSFlexGrid1表格的当前列
          MSFlexGrid1.Col = 0
        '设置MSFlexGrid1表格的当前cell单元中显示的值,
        '表示当前记录的顺序序号
          MSFlexGrid1.Text = i
          For j = 1 To 3
            '设置MSFlexGrid1表格的当前列
             MSFlexGrid1.Col = j
             Select Case j
                Case 1
                '设置MSFlexGrid1表格的当前cell单元中显示的值,表示fygsbm表中
                 '当前记录的序号
                  MSFlexGrid1.Text = objfygsbms.Item(i).xuhao
                Case 2
                 '设置MSFlexGrid1表格的当前cell单元中显示的值,表示fygsbm表中当前记录
                 '的部门代码
                  MSFlexGrid1.Text = objfygsbms.Item(i).dm
                Case 3
                   '设置MSFlexGrid1表格的当前cell单元中显示的值,表示fygsbm表中当前记录
                   '的部门名称
                  MSFlexGrid1.Text = objfygsbms.Item(i).gsbmmc
             End Select
          Next j
       Next i
      '在与部门代码对应的ComBox控件中显示符合条件的第一条记录的部门代码
       Combodm.Text = objfygsbms.Item(1).dm
       '在与部门名称对应的ComBox控件中显示符合条件的第一条记录的部门代码
       Combogsbmmc.Text = objfygsbms.Item(1).gsbmmc
        '设置当前的记录位置为首记录
       recordlocation = 1
       Exit Sub
  Case 3   '删除按钮
      '弹出窗口要求用户确认是否删除记录
      If MsgBox("你确认要删除该条记录吗?", vbexclaimation + vbOKCancel _
                , "记录删除") = vbCancel Then
          Exit Sub
      End If
      '定义fygsbmDelete对象reason,用于存储fygsbm类对象的Delete方法
      '的返回值,表示执行删除操作后的结果
      Dim reason As fygsbmDelete
      '调用objfygsbm对象的Delete方法,删除当前的费用归属部门信息,
      '并用操作结果设置reason变量
      reason = objfygsbms.Item(recordlocation).Delete
      '根据变量reason的值,给出相应的提示
      If reason = DeleteNoExists Then
          MsgBox "要删除的费用归属部门信息不存在!"
          Exit Sub
      Else
          If reason = DeleteFail Then
            MsgBox "其他原因,导致删除失败!"
            Exit Sub
          End If
      End If
      '调用FGridrefresh过程刷新用于显示费用归属部门信息的MSFlexGrid1
      '表格和与部门代码及名称对应的ComBox控件中的显示内容
      FGridrefresh
      Exit Sub
   Case 4   '下一条
     '判断当前位置的记录是否是尾记录,如果是,就给出相应的提示
     If recordlocation = objfygsbms.Count Then
        MsgBox "这是最后一条记录!"
     Else
       '将当前记录位置向下移动一位
       recordlocation = recordlocation + 1
       '在与部门代码对应的ComBox控件中显示下一条记录的部门代码
       Combodm.Text = objfygsbms.Item(recordlocation).dm
       '在与部门代码对应的ComBox控件中显示下一条记录的部门名称
       Combogsbmmc.Text = objfygsbms.Item(recordlocation).gsbmmc
     End If
     Exit Sub
  Case 5   '上一条
     '判断当前位置的记录是否是首记录,如果是,就给出相应的提示
     If recordlocation = 1 Then
        MsgBox "这是第一条记录!"
     Else
      '将当前记录位置向上移动一位
       recordlocation = recordlocation - 1
       '在与部门代码对应的ComBox控件中显示上一条记录的部门代码
       Combodm.Text = objfygsbms.Item(recordlocation).dm
       '在与部门代码对应的ComBox控件中显示上一条记录的部门名称
       Combogsbmmc.Text = objfygsbms.Item(recordlocation).gsbmmc
     End If
     Exit Sub
  Case 6  '保存按钮
     If addrecord = True Then
       '用户要保存的信息是添加的信息,调用objfygsbm对象的AddNew方法,
       '在数据库表fygsbm中添加一条新的费用归属部门信息,并根据操作
       '的结果给出相应的提示信息
       Select Case objfygsbm.AddNew(Combodm.Text, Combogsbmmc.Text)
          Case AddNewOK
              MsgBox "添加成功!"
              '费用归属部门信息添加成功,调用FGridrefresh刷新显示内容
              FGridrefresh
              '调用setbuttonskh过程设置命令按钮的显示状态 , 以防止误操作
              setbuttonskh True
          Case AddNewFail
              MsgBox "未知原因导致添加失败!"
              '因未知原因导致费用归属部门信息添加成功,恢复ComBox控件中显示的内容
              Combodm.Text = objfygsbms.Item(recordlocation).dm
              Combogsbmmc.Text = objfygsbms.Item(recordlocation).gsbmmc
              '调用setbuttonskh过程设置命令按钮的显示状态 , 以防止误操作
              setbuttonskh True
          Case DuplicateDm_AddNew
              '在fygsbm表中已经存在用户输入的费用归属部门代码,将光标
              '定位在Combodm中,要求用户重新输入部门代码
              Combodm.SetFocus
          Case DuplicateGsbmmc_AddNew
              '在fygsbm表中已经存在用户输入的费用归属部门代码,将光标
              '定位在Combodm中,要求用户重新输入部门代码
              Combogsbmmc.SetFocus
       End Select
     Else
       '用户要保存的信息是更新的信息,调用objfygsbm对象的Update方法,
       '在数据库表fygsbm中修改当前的费用归属部门信息,并根据操作
       '的结果给出相应的提示信息
       Select Case objfygsbm.Update(Combodm.Text, Combogsbmmc.Text)
          Case UpdateOK
              MsgBox "更新成功!"
              '费用归属部门信息修改成功,调用FGridrefresh刷新显示内容
              FGridrefresh
               '调用setbuttonskh过程设置命令按钮的显示状态 , 以防止误操作
              setbuttonskh True
          Case UpdateFail
              MsgBox "未知原因导致更新失败!"
              '因未知原因导致费用归属部门信息修改成功,恢复ComBox控件中显示的内容
              Combodm.Text = objfygsbms.Item(recordlocation).dm
              Combogsbmmc.Text = objfygsbms.Item(recordlocation).gsbmmc
              '调用setbuttonskh过程设置命令按钮的显示状态 , 以防止误操作
              setbuttonskh True
          Case DuplicateDm_Update
              '在fygsbm表中已经存在用户输入的费用归属部门代码,将光标
              '定位在Combodm中,要求用户重新输入部门代码
              Combodm.SetFocus
          Case DuplicateGsbmmc_Update
              '在fygsbm表中已经存在用户输入的费用归属部门代码,将光标
              '定位在Combodm中,要求用户重新输入部门代码
              Combogsbmmc.SetFocus
       End Select
     End If
     Exit Sub
  Case 7   ' 退出或取消按钮
       '判断"退出"或"取消"按钮的标题
       If cmdkmlb(Index).Caption = "退出" Then
         '标题为"退出",退出费用归属部门管理模块
         Unload Me
       Else
         '标题为"取消",在与部门代码对应的ComBox控件中显示修改前的部门代码
         Combodm.Text = objfygsbms.Item(recordlocation).dm
         '在与部门名称对应的ComBox控件中显示修改前的部门名称
         Combogsbmmc.Text = objfygsbms.Item(recordlocation).gsbmmc
         '调用setbuttonskh过程设置命令按钮的显示状态,以防止误操作
         setbuttonskh True
         Exit Sub
       End If
End Select
Exit Sub
adderr:
  MsgBox Err.Description
  Unload Me
End Sub

Private Sub Form_Load()
   FGridrefresh
End Sub
Private Sub MSFlexGrid1_DblClick()
  Combodm.Text = objfygsbms.Item(MSFlexGrid1.RowSel).dm
  Combogsbmmc.Text = objfygsbms.Item(MSFlexGrid1.RowSel).gsbmmc
  recordlocation = MSFlexGrid1.RowSel
End Sub

⌨️ 快捷键说明

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