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

📄 b员工基本信息维护.frm

📁 用VB作的人事管理系统数据库为SQL Server利用了第三方控件技术还有AxtiveX技术等很好
💻 FRM
📖 第 1 页 / 共 2 页
字号:
         Index           =   1
         Left            =   240
         TabIndex        =   22
         Top             =   480
         Width           =   1215
      End
      Begin VB.Label Label5 
         Caption         =   "身份证号:"
         Height          =   255
         Index           =   1
         Left            =   3960
         TabIndex        =   21
         Top             =   1440
         Width           =   975
      End
      Begin VB.Label Label1 
         Caption         =   "职称:"
         Height          =   255
         Index           =   1
         Left            =   7440
         TabIndex        =   20
         Top             =   1440
         Width           =   615
      End
      Begin VB.Label Label5 
         Caption         =   "籍贯:"
         Height          =   255
         Index           =   0
         Left            =   7440
         TabIndex        =   19
         Top             =   840
         Width           =   615
      End
      Begin VB.Label Label7 
         Caption         =   "民族:"
         Height          =   255
         Index           =   0
         Left            =   720
         TabIndex        =   18
         Top             =   1440
         Width           =   615
      End
      Begin VB.Label Label8 
         Caption         =   "(8位)"
         Enabled         =   0   'False
         ForeColor       =   &H000000FF&
         Height          =   255
         Left            =   6840
         TabIndex        =   17
         Top             =   480
         Width           =   615
      End
      Begin VB.Label Label2 
         Caption         =   "性别:"
         Height          =   255
         Left            =   720
         TabIndex        =   16
         Top             =   960
         Width           =   735
      End
      Begin VB.Label Label6 
         Caption         =   "职务代码:"
         Height          =   375
         Index           =   0
         Left            =   3960
         TabIndex        =   15
         Top             =   1920
         Width           =   975
      End
      Begin VB.Label Label3 
         Caption         =   "员工ID:"
         Height          =   255
         Left            =   4200
         TabIndex        =   14
         Top             =   480
         Width           =   855
      End
      Begin VB.Label Label4 
         Caption         =   "出生日期:"
         Height          =   255
         Left            =   3960
         TabIndex        =   13
         Top             =   960
         Width           =   975
      End
   End
   Begin VB.CommandButton CmdAdd 
      BackColor       =   &H00C0C0C0&
      Caption         =   "添加"
      Height          =   360
      Left            =   2880
      Style           =   1  'Graphical
      TabIndex        =   5
      Top             =   4800
      Width           =   800
   End
   Begin VB.CommandButton CmdExit 
      BackColor       =   &H00C0C0C0&
      Caption         =   "退出"
      Height          =   360
      Left            =   5400
      Style           =   1  'Graphical
      TabIndex        =   4
      Top             =   4800
      Width           =   800
   End
   Begin VB.CommandButton CmdCancel 
      BackColor       =   &H00C0C0C0&
      Caption         =   "取消"
      Height          =   360
      Left            =   4560
      Style           =   1  'Graphical
      TabIndex        =   3
      Top             =   4800
      Width           =   800
   End
   Begin VB.CommandButton CmdSave 
      BackColor       =   &H00C0C0C0&
      Caption         =   "保存"
      Height          =   360
      Left            =   3720
      Style           =   1  'Graphical
      TabIndex        =   2
      Top             =   4800
      Width           =   800
   End
End
Attribute VB_Name = "B员工基本信息维护"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Dim rs As ADODB.Recordset
Dim SQL As String
Dim msg As String
Dim Index As Integer
Public flag As String                           '判断是新增记录还是修改记录
Dim YGID As String                              '保存员工ID
Private Sub Form_Load()
    '初始化性别信息ComboBox
    CboSex.AddItem ("男")
    CboSex.AddItem ("女")
    CboSex.ListIndex = 0                        '默认性别为“男”
    '初始化所属部门IDComboBox
    SQL = " select * from 部门信息表 order by 部门代码"
    Set rs = SelectSQL(SQL, msg)
    If rs.RecordCount = 0 Then                  '如果没有部门信息
        MsgBox ("请先建立部门类型!")
        Exit Sub
    Else
        Do While Not rs.BOF And Not rs.EOF
            '添加到ComboBox列表
            Me.CboBMID.AddItem (rs.Fields("部门代码") & rs.Fields("部门名称"))
            rs.MoveNext                         '指向下一条记录
        Loop
            Me.CboBMID.ListIndex = 0            '默认ComboBox
            '截取部门信息的前4位作为员工ID
            Me.txtYGID.Text = Left(Trim(CboBMID.Text), 4)
            rs.Close
    End If
    '初始化职务代码ComboBox
    SQL = " select * from 职务信息表 order by 职务代码"
    Set rs = SelectSQL(SQL, msg)
    If rs.RecordCount = 0 Then                  '如果没有职务信息
        MsgBox ("请先建立职务信息类型!")
        Exit Sub
    Else
        Do While Not rs.BOF And Not rs.EOF
            '添加到ComboBox列表
            Me.ComZWID.AddItem (rs.Fields("职务代码") & rs.Fields("职务名称"))
            rs.MoveNext                         '指向下一条记录
        Loop
        Me.ComZWID.ListIndex = 0                '默认ComboBox
        rs.Close
    End If
    '初始化在岗状态ComboBox
    CboZhZ.AddItem ("在职")
    CboZhZ.AddItem ("离职退休")
    CboZhZ.AddItem ("返聘")
    CboZhZ.AddItem ("在职培训")
    CboZhZ.ListIndex = 0                        '默认在岗状态为在职
    '判断是添加还是修改
    If flag = "Add" Then
        Me.Caption = "员工基本信息添加"
        FramePerson.Caption = "员工基本信息添加"
        SQL = " select * from 员工基本信息表 "
        Set rs = SelectSQL(SQL, msg)
        '设置控件的可用性
        CmdAdd.Visible = True
        CmdSave.Enabled = False
        CmdCancel.Enabled = False
        FramePerson.Enabled = False
    Else
        Me.Caption = "员工基本信息修改"
        FramePerson.Caption = "员工基本信息修改"
        '设置控件的可用性
        CmdAdd.Visible = False
        txtYGID.Enabled = False
        txtName.Enabled = False
        CboBMID.Enabled = False
        Call ShowData                           '显示数据
    End If
End Sub
Private Sub ShowData()
'在控件中显示数据
    YGID = B员工基本信息.YGID                   '得到所需要修改的员工ID
    SQL = " select * from 员工基本信息表 where 员工ID='" & Trim(YGID) & "'"
    Set rs = SelectSQL(SQL, msg)
    If rs.RecordCount = 1 Then                  '如果存在这条记录
        '为控件赋值
        Me.txtYGID = rs.Fields("员工ID")
        Me.txtName = rs.Fields("姓名")
        Me.CboSex.Text = rs.Fields("性别")
        Me.DTPicker1.value = rs.Fields("出生日期")
        Me.txtJG = rs.Fields("籍贯")
        Me.txtMZhu = rs.Fields("民族")
        Me.txtID = rs.Fields("身份证号")
        Me.txtZhZMM = rs.Fields("政治面貌")
        '保证记录中的所属部门ID与ComboBox中的值相一致
        For Index = 0 To Me.CboBMID.ListCount - 1
            If (Left(CboBMID.List(Index), 4) = rs.Fields("所属部门ID")) Then
                CboBMID.ListIndex = Index
                Exit For
            End If
        Next Index
        Me.DTPicker2.value = rs.Fields("进入部门日期")
        '保证记录中的职务代码与ComboBox中的值相一致
        For Index = 0 To Me.ComZWID.ListCount - 1
            If (Left(ComZWID.List(Index), 4) = rs.Fields("职务代码")) Then
                ComZWID.ListIndex = Index
                Exit For
            End If
        Next Index
        Me.txtZCh = rs.Fields("职称")
        Me.DTPicker3.value = rs.Fields("起薪日期")
        Me.txtYDW = rs.Fields("原单位")
        Me.txtYZC = rs.Fields("原职称")
        Me.txtYZW = rs.Fields("原职务")
        Me.txtXX = rs.Fields("毕业学校")
        Me.DTPicker4.value = rs.Fields("毕业日期")
        Me.txtXL = rs.Fields("学历")
        Me.txtZY = rs.Fields("专业")
        Me.txtYY = rs.Fields("外语")
        Me.txtAdd = rs.Fields("地址")
        Me.txtPhone = rs.Fields("电话")
        Me.txtmail = rs.Fields("邮箱")
        '为在岗状态赋值
        For Index = 0 To CboZhZ.ListCount - 1
            If CboZhZ.List(Index) = rs.Fields("在岗状态") Then
                CboZhZ.ListIndex = Index
                Exit For
            End If
        Next Index
    Else
        MsgBox ("员工信息检索出错!")
    End If
End Sub
Private Sub CmdAdd_Click()
'重置控件
        CboBMID.ListIndex = 0
        Me.txtYGID.Text = Left(Trim(CboBMID.Text), 4)
        Me.txtName = ""
        Me.CboSex.ListIndex = 0
        Me.DTPicker1.Refresh
        Me.txtJG = ""
        Me.txtMZhu = ""
        Me.txtID = ""
        Me.txtZCh = ""
        Me.DTPicker2.Refresh
        Me.ComZWID.ListIndex = 0
        Me.txtZhZMM = ""
        Me.DTPicker3.Refresh
        Me.txtYDW = ""
        Me.txtYZC = ""
        Me.txtYZW = ""
        Me.txtXX = ""
        Me.DTPicker4.Refresh
        Me.txtXL = ""
        Me.txtZY = ""
        Me.txtYY = ""
        Me.txtAdd = ""
        Me.txtPhone = ""
        Me.txtmail = ""
        Me.CboZhZ.ListIndex = 0
        CmdAdd.Enabled = False
        CmdSave.Enabled = True
        CmdCancel.Enabled = True
        FramePerson.Enabled = True
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                        '如果标志为"Add"
        MsgBox ("成功添加数据!")
        CmdAdd.Enabled = True
        CmdSave.Enabled = False
        CmdCancel.Enabled = False
    Else
        MsgBox ("成功更新数据!")
    End If
    Call B员工基本信息.ReLoad
    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(Me.txtYGID.Text) = "" Then          '检查员工ID是否为空
        msgt = "员工ID为空; "
    ElseIf Not Len(Trim(txtYGID.Text)) = 8 Then '检查员工ID是否为8位
        msgt = msgt & "员工ID不是8位; "
    ElseIf Trim(Me.txtName.Text) = "" Then      '检查姓名是否为空
        msgt = msgt & "姓名为空; "
    ElseIf Trim(Me.CboSex.Text) = "" Then       '检查性别是否为空
        msgt = msgt & "性别为空; "
    ElseIf Trim(Me.txtID.Text) = "" Then        '检查身份证号别是否为空
        msgt = msgt & "身份证号为空; "
    ElseIf Not Len(Trim(txtID.Text)) = 18 Then  '检查身份证号是否为18位
        msgt = msgt & "身份证号不是18位; "
    ElseIf Trim(Me.CboBMID.Text) = "" Then      '检查所属部门ID是否为空
        msgt = msgt & "所属部门ID为空; "
    ElseIf Trim(Me.ComZWID.Text) = "" Then      '检查职务代码是否为空
        msgt = msgt & "职务代码为空; "
    End If
    If CboBMID.ListCount > 0 Then               '检查员工ID是否合法
        If Left(Trim(Me.txtYGID.Text), 4) <> Left(Trim(CboBMID.Text), 4) Then
        '当员工ID的前四位和部门ID不相等
            msgt = msgt & "员工ID不合法,前四位为部门号; "
        End If
    End If
    If Not msgt = "" Then                       '如果错误消息不为空,给出错误提示
        MsgBox (msgt)
        CheckData = False                       '返回False
        Exit Function
    End If
    '检查唯一性
    SQL = " select * from 员工基本信息表 where 员工ID='" & Trim(txtYGID.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 setData()
'为字段设置数据
        rs.Fields("员工ID") = Me.txtYGID.Text
        rs.Fields("姓名") = Me.txtName.Text
        rs.Fields("性别") = Trim(Me.CboSex.Text)
        rs.Fields("出生日期") = Me.DTPicker1.value
        rs.Fields("籍贯") = Me.txtJG.Text
        rs.Fields("民族") = Me.txtMZhu.Text
        rs.Fields("身份证号") = Me.txtID.Text
        rs.Fields("政治面貌") = Me.txtZhZMM.Text
        rs.Fields("所属部门ID") = Left(Trim(Me.CboBMID.Text), 4)
        rs.Fields("进入部门日期") = Me.DTPicker2.value
        rs.Fields("职务代码") = Left(Trim(Me.ComZWID.Text), 4)
        rs.Fields("职称") = Me.txtZCh.Text
        rs.Fields("起薪日期") = Me.DTPicker3.value
        rs.Fields("原单位") = Me.txtYDW.Text
        rs.Fields("原职称") = Me.txtYZC.Text
        rs.Fields("原职务") = Me.txtYZW.Text
        rs.Fields("毕业学校") = Me.txtXX.Text
        rs.Fields("毕业日期") = Me.DTPicker4.value
        rs.Fields("学历") = Me.txtXL.Text
        rs.Fields("专业") = Me.txtZY.Text
        rs.Fields("外语") = Me.txtYY.Text
        rs.Fields("地址") = Me.txtAdd.Text
        rs.Fields("电话") = Me.txtPhone.Text
        rs.Fields("邮箱") = Me.txtmail.Text
        rs.Fields("在岗状态") = Trim(Me.CboZhZ.Text)
End Sub
Private Sub CboBMID_Click()
'保证员工的ID前四位与部门ID相同,即员工ID的前四位与部门ID相同
    If CboBMID.ListCount > 0 Then
        Me.txtYGID.Text = Left(Trim(CboBMID.Text), 4)
    End If
End Sub
Private Sub cmdCancel_Click()
'取消操作
    If flag = "Add" Then
        '重置控件
        Call CmdAdd_Click
        CmdAdd.Enabled = True
    Else
        Call ShowData                           '重新显示数据
    End If
End Sub
Private Sub CmdExit_Click()
'退出操作
    B员工基本信息.Enabled = True
    Unload Me
End Sub
Private Sub Form_Unload(Cancel As Integer)
'退出操作
    B员工基本信息.Enabled = True
    rs.Close
    Unload Me
End Sub

⌨️ 快捷键说明

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