📄 frmfygsbm.frm
字号:
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 + -