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

📄 employees.cls

📁 售后服务系统 优质的售后服务是企业生存和市场竞争的保障
💻 CLS
字号:
VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
  Persistable = 0  'NotPersistable
  DataBindingBehavior = 0  'vbNone
  DataSourceBehavior  = 0  'vbNone
  MTSTransactionMode  = 0  'NotAnMTSObject
END
Attribute VB_Name = "Employees"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
'1 EmpId 自动编号,长整型  员工编号,主键
'2 EmpName 文本,长度为50  姓名,必填字段(是),允许空字符串(否)
Public EmpId As Long
Public EmpName As String
Public Sex As String
Public Nationality As String
'18  DepId 数字,长整型  所在部门编号
'20  Title 文本,长度为20  职务,必填字段(否),允许空字符串(是)
Public DepId As Integer
Public Title As String
'21  State 数字,字节  员工状态(1 - 在职人员,2 - 兼职人员,3 - 试用人员,4 - 离职人员,5 - 返聘人员,6 - 退休人员)
'22  UpperId 数字,长整型  上级员工编号
Public State As Integer
Public UpperId As Integer

Public Sub Init()
  EmpId = 0
  EmpName = ""
  DepId = -1
  Title = ""
  State = 0
  UpperId = 0
End Sub

Public Function GetName(ByVal TmpEmpId As Long) As String
  Dim rs As New ADODB.Recordset
  If TmpEmpId <= 0 Then
    GetName = ""
    Exit Function
  End If
  '设置SELECT语句,根据员工编号读取员工姓名
  SqlStmt = "SELECT EmpName FROM Employees WHERE EmpId=" + Trim(Str(TmpEmpId))
  Set rs = QueryExt(SqlStmt)
  '从结果集中读取数据
  If rs.EOF Then
    GetName = ""
  Else
    GetName = Trim(rs.Fields(0))
  End If
End Function

'根据人员编号取得编号字符串对应的所有员工姓名
Public Function GetNames(ByVal TmpEmpIds As String) As String
  Dim i As Integer
  Dim rs As New ADODB.Recordset
  If TmpEmpIds = "" Then
    GetNames = ""
    Exit Function
  End If
  '设置SELECT语句,根据员工编号读取员工姓名
  SqlStmt = "SELECT EmpName FROM Employees WHERE EmpId IN (" + Trim(Str(TmpEmpIds)) + ")"
  Set rs = QueryExt(SqlStmt)
  i = 0
  '从结果集中读取数据
  Do Until rs.EOF
    If i = 0 Then
      GetNames = Trim(rs.Fields(0))
    Else
      GetNames = GetNames + "," + Trim(rs.Fields(0))
    End If
    i = i + 1
    rs.MoveNext
  Loop
End Function


Public Function GetInfo(ByVal TmpEmpId As Long) As Boolean
  Dim rs As New ADODB.Recordset
  If TmpEmpId <= 0 Then
    Init
    GetInfo = False
    Exit Function
  End If
  
  EmpId = TmpEmpId
  '根据EmpId的值从表中读取数据
  SqlStmt = "SELECT * FROM Employees WHERE EmpId=" + Trim(Str(TmpEmpId))
  Set rs = QueryExt(SqlStmt)
  If rs.EOF Then
    GetInfo = False
    Init
    Exit Function
  Else
    '员工姓名
    EmpName = Trim(rs.Fields(1))
    '所在部门编号
    If IsNull(rs.Fields(17)) Then
      DepId = ""
    Else
      DepId = Trim(rs.Fields(17))
    End If
    '职务
    If IsNull(rs.Fields(19)) Then
      Title = ""
    Else
      Title = Trim(rs.Fields(19))
    End If
    '员工状态
    If IsNull(rs.Fields(20)) Then
      State = 0
    Else
      State = rs.Fields(20)
    End If
    '上级员工编号
    If IsNull(rs.Fields(21)) Then
      UpperId = 0
    Else
      UpperId = rs.Fields(21)
    End If
  End If
  
  GetInfo = True
End Function

Public Sub Load_by_Dep(ByVal TmpDepid As Integer)
  Dim i As Integer
  Dim rs As New ADODB.Recordset
  '初始化部门数组
  Erase Arr_EmpId
  ReDim Arr_EmpId(0)
  '设置SELECT语句,读取指定部门的所有员工记录
  SqlStmt = "SELECT EmpId FROM Employees WHERE DepId=" _
          + Trim(Str(TmpDepid)) + " ORDER BY EmpId"
  Set rs = QueryExt(SqlStmt)
  i = 0
  Do Until rs.EOF
    '读取部门编号
    ReDim Preserve Arr_EmpId(i + 1)
    Arr_EmpId(i) = rs.Fields(0)
    i = i + 1
    rs.MoveNext
  Loop
End Sub

'取得所有员工姓名和编号放入数组Arr_EmpName和Arr_EmpId中
Public Sub GetAllEmps()
  Dim i As Integer
  Dim rs As New ADODB.Recordset
  '初始化员工数组
  Erase Arr_EmpId
  Erase Arr_EmpName
  ReDim Arr_EmpId(0)
  ReDim Arr_EmpName(0)
  '设置SELECT语句,读取所有员工记录
  SqlStmt = "SELECT EmpId,EmpName FROM Employees ORDER BY EmpName"
  Set rs = QueryExt(SqlStmt)
  i = 0
  Do Until rs.EOF
    '读取员工编号和姓名
    ReDim Preserve Arr_EmpId(i + 1)
    Arr_EmpId(i) = rs.Fields(0)
    ReDim Preserve Arr_EmpName(i + 1)
    Arr_EmpName(i) = rs.Fields(1)
    i = i + 1
    rs.MoveNext
  Loop
End Sub

⌨️ 快捷键说明

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