?? cwarning.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 = "CWarning"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = True
Option Explicit
Private mvarID As Long '提醒信息ID
Private mvarTypeId As Long '提醒類型ID
Private mvarTypeName As String '提醒類型名稱
Private mvarClientId As Long '提醒客戶ID
Private mvarClientName As String '提醒客戶名稱
Private mvarMsg As String '提醒顯示消息
Private mvarShowDate As Date '提醒顯示時(shí)間
Private mvarBirthdayWarn As Boolean '是否啟用生日提醒
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'以下為部門的屬性
'提醒的ID
Public Property Let ID(ByVal vData As Long)
mvarID = vData
End Property
Public Property Get ID() As Long
ID = mvarID
End Property
'提醒類型的ID
Public Property Let TypeID(ByVal vData As Long)
mvarTypeId = vData
End Property
Public Property Get TypeID() As Long
TypeID = mvarTypeId
End Property
'提醒類型的名稱
Public Property Let TypeName(ByVal vData As String)
mvarTypeName = vData
End Property
Public Property Get TypeName() As String
TypeName = mvarTypeName
End Property
'提醒客戶ID
Public Property Let ClientID(ByVal vData As Long)
mvarClientId = vData
SetClientName
End Property
Public Property Get ClientID() As Long
ClientID = mvarClientId
End Property
'提醒客戶的名稱
Public Property Get ClientName() As String
ClientName = mvarClientName
End Property
'提醒內(nèi)容
Public Property Let Msg(ByVal vData As String)
mvarMsg = vData
End Property
Public Property Get Msg() As String
Msg = mvarMsg
End Property
'提醒顯示日期
Public Property Let ShowDate(ByVal vData As Date)
mvarShowDate = vData
End Property
Public Property Get ShowDate() As Date
ShowDate = mvarShowDate
End Property
'啟用生日提醒
Public Property Let ShowBirthdayWarn(ByVal vData As Boolean)
mvarBirthdayWarn = vData
Dim strSQL As String
If mvarBirthdayWarn Then
strSQL = " SELECT * FROM Warning WHERE ClientId = " _
& Me.ClientID & " AND TypeId = " & BirthdayWarn
Dim rs As Recordset
Set rs = g_Conn.Execute(strSQL)
If rs.RecordCount = 0 Then
AddNew Me.ShowDate, Me.ClientID, 1, "今天是 " & Me.ClientName & " 的生日,請做好準(zhǔn)備。"
End If
Set rs = Nothing
Else
strSQL = " DELETE FROM Warning WHERE ClientId = " _
& Me.ClientID & " AND TypeId = " & BirthdayWarn
g_Conn.Execute (strSQL)
End If
End Property
Public Property Get ShowBirthdayWarn() As Boolean
ShowBirthdayWarn = mvarBirthdayWarn
End Property
'屬性結(jié)束
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''''''''''''''''''
'以下為方法
'新增提醒信息,并返回操作的結(jié)果
Public Function AddNew(Optional datDate As Date = #1/1/1900#, _
Optional lngClientId As Long = -1, _
Optional lngTypeId As Long = -1, _
Optional strMsg As String = "") As gxcAddNew
'根據(jù)傳入的參數(shù)更新屬性值
'如果參數(shù)被傳入,則以傳入的參數(shù)更新屬性
If lngClientId <> -1 Then Me.ClientID = lngClientId
If lngTypeId <> -1 Then Me.TypeID = lngTypeId '提醒類型的ID
If strMsg <> "" Then Me.Msg = strMsg
If datDate <> #1/1/1900# Then Me.ShowDate = datDate
Dim strSQL As String
Dim ErrMsg As String
strSQL = "INSERT INTO Warning(ClientId, ShowDate, TypeId, Msg) "
strSQL = strSQL & " VALUES(" & Me.ClientID
strSQL = strSQL & ",'" & Me.ShowDate & "'"
strSQL = strSQL & "," & Me.TypeID
strSQL = strSQL & ",'" & Me.Msg & "'"
strSQL = strSQL & ")"
If RunSql(strSQL, ErrMsg) Then
Me.ID = MaxID("Warning", "WarnId")
Me.TypeName = GetValueByID("WarnType", "WTypeId", Me.TypeID, "WTypeName")
SetClientName
AddNew = AddNewOK
Else
AddNew = AddNewFail
End If
End Function
'修改提醒信息,返回操作結(jié)果
Public Function Update() As gxcUpdate
'通過ID判斷是否存在該記錄,即該記錄是否被其它客戶端刪除
'如果不存在該記錄,則返回相應(yīng)的操作結(jié)果給調(diào)用者
If Not ExistByID("Warning", "WarnId", Me.ID) Then
Update = RecordNotExist
Exit Function
End If
' On Error Resume Next
Dim strSQL As String
'構(gòu)造SQL語句,注意需調(diào)用RealString函數(shù)去除字符串中的單引號
strSQL = "Update Warning Set "
strSQL = strSQL & "Msg='" & RealString(Me.Msg) & "'"
strSQL = strSQL & ", TypeId=" & Me.TypeID
strSQL = strSQL & ", ShowDate='" & Me.ShowDate
strSQL = strSQL & "' where WarnId=" & 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
'刪除一條提醒信息
Public Function Delete(Optional ByVal lngID As Long = 0) As gxcDelete
'如果調(diào)用該函數(shù)時(shí)傳入了ID,則更新該對象的ID
If lngID <> 0 Then Me.ID = lngID
On Error Resume Next
'執(zhí)行刪除操作并返回操作結(jié)果
g_Conn.Execute "Delete from Warning where WarnId=" & Me.ID
Delete = IIf(Err.Number = 0, DeleteOK, DeleteFail)
End Function
Private Sub SetClientName()
If Me.ClientID = 0 Then
mvarClientName = "不限客戶"
Else
mvarClientName = GetValueByID("ClientInfo", "ClientId", Me.ClientID, "Name")
End If
End Sub
'方法結(jié)束
'''''''''''''''''''''''''''''''''''''''''''''''''''''''
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -