?? clsuserset.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 + -