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

📄 departments.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 = "Departments"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
'1 DepId 数字,长整型  部门编号,主键
'2 DepName 文本,长度为50  部门名称,必填字段(是),允许空字符串(否)
'3 UpperId 数字,长整型  上级部门编号,,必填字段(是)
Public DepId As Integer
Public DepName As String
Public UpperId As Integer

Public Sub Init()
  DepId = -1
  DepName = ""
  UpperId = -1
End Sub

'读取当前部门记录
Public Sub GetInfo(ByVal TmpId As Integer)
  Dim rs As New ADODB.Recordset '定义结果集对象
  
  DepId = TmpId
  '使用SELECT语句读取指定部门数据
  SqlStmt = "SELECT * FROM Departments WHERE DepId=" + Trim(Str(TmpId))
  Set rs = QueryExt(SqlStmt)
  If Not rs.EOF Then
    DepName = Trim(rs.Fields(1))  '部门名称
    UpperId = rs.Fields(3)  '上级编号
  Else
    Init
  End If
End Sub

'根据部门编号,读取部门名称
Public Function GetName(ByVal TmpId As Integer) As String
  Dim rs As New ADODB.Recordset '定义结果集对象
  '使用SELECT语句读取指定部门名称
  SqlStmt = "SELECT DepName FROM Departments WHERE DepId=" _
          + Trim(Str(TmpId))
  Set rs = QueryExt(SqlStmt)
  If Not rs.EOF Then
    GetName = Trim(rs.Fields(0))
  Else
    GetName = ""
  End If
End Function

'判断指定的部门中是否存在员工记录
Public Function HaveEmp(ByVal TmpDepid As Integer) As Boolean
  Dim rs As New ADODB.Recordset
  '使用SELECT语句在Employees表中读取DepId字段等于TmpDepid的记录
  SqlStmt = "SELECT * FROM Employees WHERE DepId=" + Trim(Str(TmpDepid))
  Set rs = QueryExt(SqlStmt)
  If Not rs.EOF Then
    HaveEmp = True
  Else
    HaveEmp = False
  End If
End Function

'判断一个部门是否包含下级部门,在删除部门记录时使用
Public Function HaveSon(ByVal TmpUpperId As Integer) As Boolean
  Dim rs As New ADODB.Recordset
  SqlStmt = "SELECT DepId FROM Departments WHERE UpperId=" _
          + Trim(Str(TmpUpperId))
  Set rs = QueryExt(SqlStmt)
  If Not rs.EOF Then
    HaveSon = True
  Else
    HaveSon = False
  End If
End Function

'判断部门名称是否存在
Public Function In_DB(ByVal DepName As String, _
                      ByVal DepUpper As Integer) As Boolean
  Dim rs As New ADODB.Recordset
 
  SqlStmt = "SELECT DepId FROM Departments WHERE DepName='" + Trim(DepName) _
             + "' and UpperId=" + Trim(Str(DepUpper))
  Set rs = QueryExt(SqlStmt)
  If Not rs.EOF Then
    In_DB = True
  Else
    In_DB = False
  End If
End Function


'读取指定部门编号的所有下级部门信息
Public Sub Load_Departments_ByUpper(UpperId As Integer)
  Dim i As Integer
  Dim rs As New ADODB.Recordset
  '初始化部门数组
  Erase Arr_DepName
  Erase Arr_DepId
  ReDim Arr_DepName(0)
  ReDim Arr_DepId(0)
  
  '设置SELECT语句
  SqlStmt = "SELECT DepId,DepName FROM Departments WHERE UpperId=" _
          + Trim(Str(UpperId)) + " ORDER BY DepId"
  Set rs = QueryExt(SqlStmt)
  i = 0
  Do Until rs.EOF
    '读取部门编号
    ReDim Preserve Arr_DepId(i + 1)
    Arr_DepId(i) = rs.Fields(0)
    '读取部门名称
    ReDim Preserve Arr_DepName(i + 1)
    Arr_DepName(i) = Trim(rs.Fields(1))
    rs.MoveNext
    i = i + 1
  Loop
End Sub

⌨️ 快捷键说明

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