?? cclienttype.cls
字號(hào):
VERSION 1.0 CLASS
BEGIN
MultiUse = -1 'True
Persistable = 0 'NotPersistable
DataBindingBehavior = 0 'vbNone
DataSourceBehavior = 0 'vbNone
MTSTransactionMode = 0 'NotAnMTSObject
END
Attribute VB_Name = "CType"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = True
Option Explicit
Private mvarTypeName As String '類型名稱
Private mvarID As Long '類型Id
Private mvarSuperID As Long '上級(jí)Id
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'以下為客戶類型的屬性
'上級(jí)客戶類型ID
Public Property Let SuperID(ByVal vData As Long)
mvarSuperID = vData
End Property
Public Property Get SuperID() As Long
SuperID = mvarSuperID
End Property
'本客戶類型的ID
Public Property Let ID(ByVal vData As Long)
mvarID = vData
End Property
Public Property Get ID() As Long
ID = mvarID
End Property
'本客戶類型的名稱
Public Property Let TypeName(ByVal vData As String)
vData = Trim(vData) '去除兩邊的空格
'控制名稱的長(zhǎng)度不可大于50
If Len(vData) > 50 Then vData = Left(vData, 50)
mvarTypeName = vData
End Property
Public Property Get TypeName() As String
TypeName = mvarTypeName
End Property
'屬性結(jié)束
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''''''''''''''''''
'以下為方法
'新增一個(gè)客戶類型,并返回操作的結(jié)果
Public Function AddNew(Optional strName As String = "", _
Optional lngSuperID As Long = -1) As gxcAddNew
'根據(jù)傳入的參數(shù)更新屬性值
'檢測(cè)客戶類型是否已經(jīng)存在
If ExistByName("ClientType", "TypeName", strName) Then
AddNew = DuplicateName_AddNew
Exit Function
End If
'檢測(cè)上級(jí)客戶類型是否存在
If lngSuperID <> 0 Then
If ExistByID("ClientType", "TypeId", lngSuperID) = False Then
AddNew = SuperNotExist
Exit Function
End If
End If
'如果參數(shù)被傳入,則以傳入的參數(shù)更新屬性
If strName <> "" Then Me.TypeName = strName
If lngSuperID <> -1 Then Me.SuperID = lngSuperID '上級(jí)客戶類型的ID
Dim strSQL As String
Dim ErrMsg As String
strSQL = "INSERT INTO ClientType(SuperId, TypeName) "
strSQL = strSQL & " VALUES(" & lngSuperID
strSQL = strSQL & ",'" & strName & "'"
strSQL = strSQL & ")"
If RunSql(strSQL, ErrMsg) Then
Me.ID = MaxID("ClientType", "TypeId")
AddNew = AddNewOK
Else
AddNew = AddNewFail
End If
End Function
'修改客戶類型信息,返回操作結(jié)果
Public Function Update() As gxcUpdate
'通過ID判斷是否存在該記錄,即該記錄是否被其它客戶端刪除
'如果不存在該記錄,則返回相應(yīng)的操作結(jié)果給調(diào)用者
If Not ExistByID("ClientType", "TypeId", Me.ID) Then
Update = RecordNotExist
Exit Function
End If
'通過名稱判斷是否存在相同名稱的記錄,如果存在相同的名稱,
'則返回調(diào)用者“存在相同名稱”的信息
If ExistByName("ClientType", "TypeName", Me.TypeName) Then
Update = DuplicateName_Update
Exit Function
End If
' On Error Resume Next
Dim strSQL As String
'構(gòu)造SQL語句,注意需調(diào)用RealString函數(shù)去除字符串中的單引號(hào)
strSQL = "Update ClientType Set TypeName='" & RealString(Me.TypeName) & "',"
strSQL = strSQL & "SuperID=" & Me.SuperID
strSQL = strSQL & " where TypeId=" & Me.ID
g_Conn.Execute strSQL '執(zhí)行SQL語句
'根據(jù)是否出錯(cuò),返回給調(diào)用者相應(yīng)的信息
If Err.Number = 0 Then
Update = UpdateOK
Else
Update = UpdateFail
End If
End Function
'刪除一個(gè)客戶類型
Public Function Delete(Optional ByVal lngID As Long = 0) As gxcDelete
'如果調(diào)用該函數(shù)時(shí)傳入了ID,則更新該對(duì)象的ID
If lngID <> 0 Then Me.ID = lngID
'如果該客戶類型下面有客戶,則也不能刪除
If ExistByID("ClientInfo", "TypeID", Me.ID) Then
Delete = DeleteClientExists
Exit Function
End If
'如果該客戶類型下有子客戶類型,則不能刪除
If ExistByID("ClientType", "SuperID", Me.ID) Then
Delete = DeleteSubExists
Exit Function
End If
On Error Resume Next
'執(zhí)行刪除操作并返回操作結(jié)果
g_Conn.Execute "Delete from ClientType where TypeId=" & Me.ID
Delete = IIf(Err.Number = 0, DeleteOK, DeleteFail)
End Function
'得到本客戶類型的所有員工
Public Function Clients() As CClients
Dim objClients As New CClients
'調(diào)用CType類的Find方法,只傳第三個(gè)參數(shù),即“客戶類型ID”
Set Clients = objClients.Find(, , Me.ID)
End Function
'得到本客戶類型的所有子客戶類型
Public Function SubTypes() As CTypes
Dim objTypes As New CTypes
'調(diào)用cTypes的Find方法,通過上級(jí)客戶類型的ID查找
Set SubTypes = objTypes.Find(, Me.ID)
End Function
'得到本客戶類型的上級(jí)客戶類型,以對(duì)象返回
Public Function SuperType() As CType
Dim objTypes As New CTypes
'調(diào)用cTypes的Find方法,將該類的“SuperID”作為查找條件
'從而查找出其上級(jí)客戶類型
objTypes.Find Me.SuperID
If objTypes.Count > 0 Then Set SuperType = objTypes.Item(1)
End Function
'方法結(jié)束
'''''''''''''''''''''''''''''''''''''''''''''''''''''''
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -