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

📄 e考核录入.frm

📁 用VB作的人事管理系统数据库为SQL Server利用了第三方控件技术还有AxtiveX技术等很好
💻 FRM
📖 第 1 页 / 共 2 页
字号:
               Italic          =   0   'False
               Strikethrough   =   0   'False
            EndProperty
            Height          =   360
            Left            =   1320
            Style           =   2  'Dropdown List
            TabIndex        =   4
            Top             =   600
            Width           =   1695
         End
         Begin VB.ComboBox CboYGName 
            BackColor       =   &H80000000&
            Enabled         =   0   'False
            BeginProperty Font 
               Name            =   "MS Sans Serif"
               Size            =   9.75
               Charset         =   0
               Weight          =   400
               Underline       =   0   'False
               Italic          =   0   'False
               Strikethrough   =   0   'False
            EndProperty
            Height          =   360
            Left            =   1320
            Style           =   2  'Dropdown List
            TabIndex        =   3
            Top             =   1320
            Width           =   1695
         End
         Begin MSComCtl2.DTPicker DTPicker1 
            Height          =   375
            Left            =   1320
            TabIndex        =   2
            Top             =   1920
            Width           =   1695
            _ExtentX        =   2990
            _ExtentY        =   661
            _Version        =   393216
            Format          =   159055873
            CurrentDate     =   38911
         End
         Begin VB.Label Label1 
            Caption         =   "员工姓名:"
            Height          =   255
            Left            =   360
            TabIndex        =   7
            Top             =   1320
            Width           =   975
         End
         Begin VB.Label Label2 
            Caption         =   "员工ID:"
            Height          =   255
            Left            =   600
            TabIndex        =   6
            Top             =   720
            Width           =   855
         End
         Begin VB.Label Label12 
            Caption         =   "考核日期:"
            Height          =   255
            Left            =   360
            TabIndex        =   5
            Top             =   2040
            Width           =   975
         End
      End
   End
End
Attribute VB_Name = "E考核录入"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim rs As ADODB.Recordset
Dim SQL As String
Dim msg As String
Dim Index As Integer
Dim flag As String                              '判断是新增记录还是修改记录
Private Sub Form_Load()
    '初始化员工ID、姓名
    SQL = " select * from 员工录用信息表 ORDER BY 员工ID"
    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.CboYGID.AddItem (rs.Fields("员工ID"))
            Me.CboYGName.AddItem (rs.Fields("姓名"))
            rs.MoveNext                         '指向下一条记录
        Loop
        Me.CboYGID.ListIndex = 0                '默认ComboBox
        CboYGName.ListIndex = 0                 '默认ComboBox
        rs.Close
    End If
    Call LoadData                               '装载数据
    Call ShowData                               '显示数据
End Sub
Private Sub LoadData()
'装载数据
    Set rs = Nothing
    '查询工作考核信息
    SQL = "SELECT * FROM 工作考核信息表 ORDER BY 员工ID "
    Set rs = SelectSQL(SQL, msg)
    If rs.RecordCount = 0 Then                  '如果记录不存在
        '编辑控件可用性
        CmdAdd.Enabled = True: CmdModify.Enabled = False
        CmdCancel.Enabled = False: CmdSave.Enabled = False
        '移动控件不可用
        For Index = 0 To 3
            CmdMove(Index).Enabled = False
        Next Index
    Else
        '编辑控件可用性
        CmdAdd.Enabled = True: CmdModify.Enabled = True
        CmdCancel.Enabled = False: CmdSave.Enabled = False
        '移动控件可用
        For Index = 0 To 3
            CmdMove(Index).Enabled = True
        Next Index
    End If
    '设置控件Enable值
    Call ControlEnable(False)
End Sub
Private Sub ControlEnable(flag As Boolean)
'设置控件的Enable值
    Dim Index As Integer
    Me.CboYGID.Enabled = flag
    Me.CboYGName.Enabled = False
    Me.DTPicker1.Enabled = flag
    For Index = 0 To 4                          '为text控件设置Enable值
        txt(Index).Enabled = flag
    Next
End Sub
Private Sub ShowData()
'在控件中显示数据
    If rs.RecordCount <> 0 Then                 '如果存在记录
        '为控件赋值
        CboYGID.Text = rs.Fields("员工ID")
        Me.DTPicker1.value = rs.Fields("考核日期")
        For Index = 0 To 4
                Me.txt(Index).Text = rs.Fields(Index + 3)
        Next Index
    End If
End Sub
Private Sub CmdMove_Click(Index As Integer)
'移动记录操作
    Select Case Index
    Case Is = 0                                 '移到第一条记录
        If Not rs.BOF Then rs.MoveFirst
    Case Is = 1                                 '移到上一条记录
        If rs.RecordCount <> 0 Then
            If rs.BOF = False Then rs.MovePrevious
            If rs.BOF = True Then rs.MoveFirst
        End If
    Case Is = 2                                 '移到下一条记录
        If rs.RecordCount <> 0 Then
            If rs.EOF = False Then rs.MoveNext
            If rs.EOF = True Then rs.MoveLast
        End If
    Case Is = 3                                 '移到最后一条记录
        If rs.RecordCount <> 0 Then
            If Not rs.EOF = True Then rs.MoveLast
        End If
    End Select
    Call ShowData
End Sub
Private Sub CmdAdd_Click()
'添加操作
    '所有控件重置
    Call ControlClear
    '设置控件Enable值为可用
    Call ControlEnable(True)
    '设置标志flag,表示所进行的操作为添加
    flag = "Add"
    '所有移动按钮不可用
    For Index = 0 To 3
        CmdMove(Index).Enabled = False
    Next Index
    '添加、修改、删除按钮不可用,取消、保存按钮可用
    CmdAdd.Enabled = False: CmdModify.Enabled = False
    CmdCancel.Enabled = True: CmdSave.Enabled = True
End Sub
Private Sub ControlClear()
'重置控件
    Me.CboYGID.ListIndex = 0
    Me.CboYGName.ListIndex = 0
    DTPicker1.Refresh
    For Index = 0 To 4
        txt(Index).Text = ""
    Next
End Sub
Private Sub CmdModify_Click()
'修改操作
    If rs.RecordCount > 0 Then                  '如果存在记录
        '员工ID不可以修改,其他控件可用
        Me.CboYGName.Enabled = False
        '设置控件Enable值
        Call ControlEnable(True)
        '设置标志flag,表示所进行的操作为修改
        flag = "Modify"
        '移动控件不可用
        For Index = 0 To 3
            CmdMove(Index).Enabled = False
        Next Index
        '添加、修改、删除按钮不可用,取消、保存按钮可用
        CmdAdd.Enabled = False: CmdModify.Enabled = False
        CmdCancel.Enabled = True: CmdSave.Enabled = True
    Else
         MsgBox ("没有可以修改的数据!")
    End If
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                                   '更新数据
    '移动控件可用
    For Index = 0 To 3
        CmdMove(Index).Enabled = True
    Next Index
    '编辑控件的可用性
    CmdModify.Enabled = True: CmdAdd.Enabled = True
    CmdSave.Enabled = False: CmdCancel.Enabled = False
    If flag = "Add" Then
        MsgBox ("成功添加数据!")
    Else
        MsgBox ("成功更新数据!")
    End If
    Call LoadData                               '重新装载数据
    '定位到添加或修改记录
    If rs.RecordCount > 0 Then
        rs.MoveFirst
        rs.Find ("员工ID='" & Trim(Me.CboYGID.Text) & "'")
        If Not rs.EOF Then Call ShowData        '重新显示数据
    End If
    Exit Sub
ErrMsg:                                         '报告出错信息
    MsgBox Err.Description, vbExclamation, "出错"
End Sub
Private Function CheckData() As Boolean
'检查数据的合法性
    Dim rst As ADODB.Recordset
    Dim msgt As String
    '检查数据
    If Trim(CboYGID.Text) = "" Then             '检查员工ID是否为空
        msgt = "员工ID为空; "
    End If
    If Not msgt = "" Then                       '如果不为空,给出错误提示
        MsgBox (msgt)
        CheckData = False                       '返回False
        Exit Function
    End If
    CheckData = True                            '合法返回True
End Function
Private Sub setData()
'为字段设置数据
    rs.Fields("员工ID") = Me.CboYGID.Text
    rs.Fields("考核日期") = Me.DTPicker1.value
    For Index = 0 To 4
        rs.Fields(Index + 3) = txt(Index).Text
    Next Index
End Sub
Private Sub cmdCancel_Click()
'取消操作
    Call ShowData                               '重新在控件中显示信息
    If rs.RecordCount > 0 Then
        '设置移动控件可用
        For Index = 0 To 3
            CmdMove(Index).Enabled = True
        Next Index
    End If
    '设置控件Enable值为不可用
    Call ControlEnable(False)
    '修改、删除、添加按钮可用,保存和取消按钮不可用
    CmdAdd.Enabled = True: CmdModify.Enabled = True
    CmdSave.Enabled = False: CmdCancel.Enabled = False
End Sub
Private Sub CmdExit_Click()
'退出操作
    人事管理系统.Enabled = True
    Unload Me
End Sub
Private Sub CboYGID_click()
'改变员工ID时,初始化员工姓名
   CboYGName.ListIndex = CboYGID.ListIndex
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 + -