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

📄 a职务设置.frm

📁 用VB作的人事管理系统数据库为SQL Server利用了第三方控件技术还有AxtiveX技术等很好
💻 FRM
📖 第 1 页 / 共 2 页
字号:
Dim Index As Integer
Dim flag As String                              '判断是新增记录还是修改记录
Private Sub Form_Load()
    CboQuery.Clear                              '清空ComboBox
    '查询职务信息
    SQL = " select * from 职务信息表"
    Set rs = SelectSQL(SQL, msg)
    If rs.RecordCount = 0 Then                  '如果没有职务信息
        MsgBox ("请先建立职务信息!")
    Else
        Do While Not rs.BOF And Not rs.EOF
            '添加到ComboBox列表
            Me.CboQuery.AddItem (rs.Fields("职务代码") & rs.Fields("职务名称"))
            rs.MoveNext                         '指向下一条记录
        Loop
        Me.CboQuery.ListIndex = 0               '默认ComboBox
        rs.Close
    End If
    CboGzID.Clear                               '清空ComboBox
    '查询工资标准信息
    SQL = " select * from 工资标准信息表"
    Set rs = SelectSQL(SQL, msg)
    If rs.RecordCount = 0 Then                  '如果没有工资等级信息
        MsgBox ("请先建立工资等级信息!")
    Else
        Do While Not rs.BOF And Not rs.EOF
            '添加到ComboBox列表
            Me.CboGzID.AddItem (rs.Fields("工资等级ID") & rs.Fields("等级名称"))
            rs.MoveNext                         '指向下一条记录
        Loop
        Me.CboGzID.ListIndex = 0                '默认ComboBox
        rs.Close
    End If
    Call LoadData                               '装载数据
    Call ShowData                               '显示数据
End Sub
Private Sub LoadData()
'装载数据
    Dim colName As String
    Dim strWhere As String
    '得到查询条件
    colName = Left(Trim(CboQuery.Text), 4)
    '构建条件
    strWhere = " where 职务代码='" & colName & "'"
    Set rs = Nothing
    '查询职务信息
    SQL = "SELECT * FROM 职务信息表 " & strWhere & " ORDER BY 职务代码 "
    Set rs = SelectSQL(SQL, msg)
    If rs.RecordCount = 0 Then                  '如果不存在记录
        '编辑控件可用性
        CmdAdd.Enabled = True: CmdModify.Enabled = False: CmdDelete.Enabled = False
        CmdCancel.Enabled = False: CmdSave.Enabled = False
    Else
         '编辑控件可用性
        CmdAdd.Enabled = True: CmdModify.Enabled = True: CmdDelete.Enabled = True
        CmdCancel.Enabled = False: CmdSave.Enabled = False
    End If
    '设置控件Enable值
    Call ControlEnable(False)
End Sub
Private Sub ControlEnable(flag As Boolean)
'设置控件的Enable值
    Me.txtZwNo.Enabled = flag
    Me.txtZwName.Enabled = flag
    Me.CboGzID.Enabled = flag
    Me.txtGZSH.Enabled = flag
    Me.txtGZXia.Enabled = flag
    Me.txtJian.Enabled = flag
End Sub
Private Sub ShowData()
'在控件中显示数据
    If rs.RecordCount <> 0 Then                 '如果存在记录
        '为控件赋值
        Me.txtZwNo.Text = rs.Fields("职务代码")
        Me.txtZwName.Text = rs.Fields("职务名称")
        Me.CboGzID.Text = rs.Fields("工资等级ID")
        Me.txtGZSH.Text = rs.Fields("工资上限")
        Me.txtGZXia.Text = rs.Fields("工资下限")
        Me.txtJian.Text = rs.Fields("简介")
    End If
End Sub
Private Sub CmdAdd_Click()
'添加操作
    '所有控件重置
    Call ControlClear
    '设置控件Enable值为可用
    Call ControlEnable(True)
    '设置标志flag,表示所进行的操作为添加
    flag = "Add"
    '添加、修改、删除按钮不可用,取消、保存按钮可用
    CmdAdd.Enabled = False: CmdModify.Enabled = False: CmdDelete.Enabled = False
    CmdCancel.Enabled = True: CmdSave.Enabled = True
End Sub
Private Sub ControlClear()
'重置控件
    Me.txtZwNo.Text = ""
    Me.txtZwName.Text = ""
    Me.CboGzID.ListIndex = 0
    Me.txtGZSH.Text = ""
    Me.txtGZXia.Text = ""
    Me.txtJian.Text = ""
End Sub
Private Sub CmdModify_Click()
'修改操作
    If rs.RecordCount > 0 Then                  '如果存在记录
        '部门代码不可以修改,其他控件可用
        Me.txtZwNo.Enabled = False
        '设置控件Enable值
        Call ControlEnable(True)
        '设置标志flag,表示所进行的操作为修改
        flag = "Modify"
        '添加、修改、删除按钮不可用,取消、保存按钮可用
        CmdAdd.Enabled = False: CmdModify.Enabled = False: CmdDelete.Enabled = False
        CmdCancel.Enabled = True: CmdSave.Enabled = True
    Else
         MsgBox ("没有可以修改的数据!")
    End If
End Sub
Private Sub CmdDelete_Click()
'删除操作
    On Error GoTo ErrMsg                        '错误处理
    If rs.RecordCount > 0 Then                  '如果存在记录
        msg = MsgBox("删除该条记录吗?", vbYesNo)
        If msg = vbYes Then                     '如果选择“是”
            rs.Delete                           '删除记录
            Call Form_Load                      '重新装载数据、初始化Combobox
            '清空控件
            Call ControlClear
            '设置控件Enable值为不可用
            Call ControlEnable(False)
            '添加、删除按钮可用,修改、取消、保存按钮不可用
            CmdAdd.Enabled = True: CmdModify.Enabled = False: CmdDelete.Enabled = True
            CmdSave.Enabled = False: CmdCancel.Enabled = False
            MsgBox ("成功删除的数据!")
        End If
    Else
        MsgBox ("没有可删除的数据!")
    End If
    Exit Sub
ErrMsg:                                         '报告出错信息
    MsgBox Err.Description, vbExclamation, "出错"
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                                   '更新数据
    CmdModify.Enabled = True: CmdDelete.Enabled = True: CmdAdd.Enabled = True
    CmdSave.Enabled = False: CmdCancel.Enabled = False
    If flag = "Add" Then                        '如果标志是“Add”
        MsgBox ("成功添加数据!")
    Else
        MsgBox ("成功更新数据!")
    End If
    Call Form_Load                              '重新装载数据
    Exit Sub
ErrMsg:                                         '报告出错信息
    MsgBox Err.Description, vbExclamation, "出错"
End Sub
Private Function CheckData() As Boolean
'检查数据的合法性
    Dim rst As ADODB.Recordset
    Dim msgt As String
    msgt = ""
    '检查数据
    If Trim(txtZwNo.Text) = "" Then             '检查职务代码是否为空
        msgt = "职务代码为空; "
    ElseIf Not Len(Trim(txtZwNo.Text)) = 4 Then '检查职务代码是否为4位
        msgt = "职务代码不是4位; "
    ElseIf Trim(txtZwName.Text) = "" Then       '职务名称是否为空
        msgt = msgt & " 职务名称为空; "
    ElseIf Trim(CboGzID.Text) = "" Then         '工资等级ID是否为空
        msgt = msgt & " 工资等级ID为空; "
    ElseIf Trim(txtGZSH.Text) = "" Then         '工资上限是否为空
        msgt = msgt & " 工资上限为空; "
    ElseIf Trim(txtGZXia.Text) = "" Then        '工资下限是否为空
        msgt = msgt & " 工资下限为空; "
    End If
    If Not msgt = "" Then                        '如果不为空,给出错误提示
        MsgBox (msgt)
        CheckData = False                        '返回False
        Exit Function
    End If
    '检查唯一性
    SQL = " select * from 职务信息表 where 职务代码='" & Trim(txtZwNo.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
End Function
Private Sub setData()
'为字段设置数据
    rs.Fields("职务代码") = Me.txtZwNo.Text
    rs.Fields("职务名称") = Me.txtZwName.Text
    rs.Fields("工资等级ID") = Trim(Left(Me.CboGzID.Text, 4))
    rs.Fields("工资上限") = Me.txtGZSH.Text
    rs.Fields("工资下限") = Me.txtGZXia.Text
    rs.Fields("简介") = Me.txtJian.Text
End Sub
Private Sub cmdCancel_Click()
'取消操作
    Call ShowData                               '重新在控件中显示信息
    '设置控件Enable值为不可用
    Call ControlEnable(False)
    '修改、删除、添加按钮可用,保存和取消按钮不可用
    CmdAdd.Enabled = True: CmdModify.Enabled = True: CmdDelete.Enabled = True
    CmdSave.Enabled = False: CmdCancel.Enabled = False
End Sub
Private Sub CboQuery_Click()
'在控件中显示具体的职务信息
    Call LoadData                               '重新装载数据
    Call ShowData                               '重新显示数据
End Sub
Private Sub CmdExit_Click()
'退出操作
    人事管理系统.Enabled = True
    Unload Me
End Sub
Private Sub Form_Unload(Cancel As Integer)
'退出操作
    人事管理系统.Enabled = True
    rs.Close
    Unload Me
End Sub

⌨️ 快捷键说明

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