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

📄 clsuserset.cls

📁 VB数据库设计的代码。需要根据自己的数据库再作调整
💻 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 = "clsUserSet"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = True
Attribute VB_Ext_KEY = "SavedWithClassBuilder6" ,"Yes"
Attribute VB_Ext_KEY = "Collection" ,"clsOpuser"
Attribute VB_Ext_KEY = "Member0" ,"clsOpuser"
Attribute VB_Ext_KEY = "Top_Level" ,"Yes"
Option Explicit

'局部变量,保存集合
Private mCol As Collection

'***********************************************************************
'* 函数名:LoadSet
'* 功  能:载入可以操作的操作人员集
'* 参  数:clsOpuser                当前操作人员
'* 返回值:Boolean                  True 成功 False 失败
'* 版  本:2006.01.01 颜志军 初版
'***********************************************************************
Public Function LoadSet(ByRef currentOpUser As clsOpuser) As Boolean
     '变量定义
    Dim sql As String 'SQL
    Dim rs As ADODB.Recordset   '记录集
    
    '构造SQL
    sql = "SELECT * FROM view_UserShop "
    Select Case currentOpUser.userRank
    Case 1  '总经理
        '可对所有操作人员进行操作
    Case 2  '管理层
        '管理者自已及下层人员
        sql = sql & " WHERE userName = '" & currentOpUser.userName & "'"
        sql = sql & " Or userRank > " & CStr(currentOpUser.userRank)
    Case 3  '库管
        '仅自己
        sql = sql & " WHERE userName = '" & currentOpUser.userName & "'"
    Case 4  '店操作员
        '仅自己
        sql = sql & " WHERE userName = '" & currentOpUser.userName & "'"
    End Select
    
    '取得集合
    LoadSet = False
    On Error GoTo FUNEND
    Set rs = g_conn.Execute(sql)
    Do While Not rs.EOF
        Add rs("userName"), rs("userPwd"), rs("userRank"), rs("shopId"), rs("shopName"), KEYPRE & rs("userName")
        rs.MoveNext
    Loop
    rs.Close
    Set rs = Nothing
    LoadSet = True
FUNEND:
End Function

Public Function Add(userName As String, userPwd As String, userRank As Integer, shopId As Long, shopName As String, Optional sKey As String) As clsOpuser
    '创建新对象
    Dim objNewMember As clsOpuser
    Set objNewMember = New clsOpuser


    '设置传入方法的属性
    objNewMember.userName = userName
    objNewMember.userPwd = userPwd
    objNewMember.userRank = userRank
    objNewMember.shopId = shopId
    objNewMember.shopName = shopName
    If Len(sKey) = 0 Then
        mCol.Add objNewMember
    Else
        mCol.Add objNewMember, sKey
    End If


    '返回已创建的对象
    Set Add = objNewMember
    Set objNewMember = Nothing


End Function

Public Property Get Item(vntIndexKey As Variant) As clsOpuser
Attribute Item.VB_UserMemId = 0
    '引用集合中的一个元素时使用。
    'vntIndexKey 包含集合的索引或关键字,
    '这是为什么要声明为 Variant 的原因
    '语法:Set foo = x.Item(xyz) or Set foo = x.Item(5)
  Set Item = mCol(vntIndexKey)
End Property



Public Property Get Count() As Long
    '检索集合中的元素数时使用。语法:Debug.Print x.Count
    Count = mCol.Count
End Property


Public Sub Remove(vntIndexKey As Variant)
    '删除集合中的元素时使用。
    'vntIndexKey 包含索引或关键字,这是为什么要声明为 Variant 的原因
    '语法:x.Remove(xyz)


    mCol.Remove vntIndexKey
End Sub


Public Property Get NewEnum() As IUnknown
Attribute NewEnum.VB_UserMemId = -4
Attribute NewEnum.VB_MemberFlags = "40"
    '本属性允许用 For...Each 语法枚举该集合。
    Set NewEnum = mCol.[_NewEnum]
End Property


Private Sub Class_Initialize()
    '创建类后创建集合
    Set mCol = New Collection
End Sub


Private Sub Class_Terminate()
    '类终止后破坏集合
    Set mCol = Nothing
End Sub

⌨️ 快捷键说明

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