?? clsdispose.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 = "clsDispose"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Attribute VB_Ext_KEY = "SavedWithClassBuilder6" ,"Yes"
Attribute VB_Ext_KEY = "Top_Level" ,"Yes"
Option Explicit
Private mvarID As Long '報損編號
Private mvarMerchandiseID As Long '商品ID
Private mvarMerchName As String '商品名稱
Private mvarRegDate As Date '登記日期
Private mvarCount As Long '報損數(shù)量
Private mvarReason As String '報損原因
Private mvarRemark As String '備注
Private mvarOperatorId As String '操作員Id
Private mvarTypeId As Long '類型ID
'以下供分析用
Private mvarRegTimes As Long '登記次數(shù)
Private mvarTotalCount As Long '報損總數(shù)量
Private mvarTypeName As String '商品類型名
Public Property Let TypeName(ByVal vData As String)
'向?qū)傩灾概芍禃r使用,位于賦值語句的左邊。
'Syntax: X.TypeName = 5
mvarTypeName = vData
End Property
Public Property Get TypeName() As String
'檢索屬性值時使用,位于賦值語句的右邊。
'Syntax: Debug.Print X.TypeName
TypeName = mvarTypeName
End Property
Public Property Let TotalCount(ByVal vData As Long)
'向?qū)傩灾概芍禃r使用,位于賦值語句的左邊。
'Syntax: X.TotalCount = 5
mvarTotalCount = vData
End Property
Public Property Get TotalCount() As Long
'檢索屬性值時使用,位于賦值語句的右邊。
'Syntax: Debug.Print X.TotalCount
TotalCount = mvarTotalCount
End Property
Public Property Let RegTimes(ByVal vData As Long)
'向?qū)傩灾概芍禃r使用,位于賦值語句的左邊。
'Syntax: X.RegTimes = 5
mvarRegTimes = vData
End Property
Public Property Get RegTimes() As Long
'檢索屬性值時使用,位于賦值語句的右邊。
'Syntax: Debug.Print X.RegTimes
RegTimes = mvarRegTimes
End Property
Public Property Let MerchName(ByVal vData As String)
'向?qū)傩灾概芍禃r使用,位于賦值語句的左邊。
'Syntax: X.MerchName = 5
mvarMerchName = vData
End Property
Public Property Get MerchName() As String
'檢索屬性值時使用,位于賦值語句的右邊。
'Syntax: Debug.Print X.MerchName
MerchName = mvarMerchName
End Property
Public Property Let TypeId(ByVal vData As Long)
'向?qū)傩灾概芍禃r使用,位于賦值語句的左邊。
'Syntax: X.TypeId = 5
mvarTypeId = vData
End Property
Public Property Get TypeId() As Long
'檢索屬性值時使用,位于賦值語句的右邊。
'Syntax: Debug.Print X.TypeId
TypeId = mvarTypeId
End Property
Public Property Let OperatorId(ByVal vData As String)
'向?qū)傩灾概芍禃r使用,位于賦值語句的左邊。
'Syntax: X.OperatorId = 5
mvarOperatorId = vData
End Property
Public Property Get OperatorId() As String
'檢索屬性值時使用,位于賦值語句的右邊。
'Syntax: Debug.Print X.OperatorId
OperatorId = mvarOperatorId
End Property
Public Property Let Remark(ByVal vData As String)
'向?qū)傩灾概芍禃r使用,位于賦值語句的左邊。
'Syntax: X.Remark = 5
mvarRemark = vData
End Property
Public Property Get Remark() As String
'檢索屬性值時使用,位于賦值語句的右邊。
'Syntax: Debug.Print X.Remark
Remark = mvarRemark
End Property
Public Property Let Reason(ByVal vData As String)
'向?qū)傩灾概芍禃r使用,位于賦值語句的左邊。
'Syntax: X.Reason = 5
mvarReason = vData
End Property
Public Property Get Reason() As String
'檢索屬性值時使用,位于賦值語句的右邊。
'Syntax: Debug.Print X.Reason
Reason = mvarReason
End Property
Public Property Let Count(ByVal vData As Long)
'向?qū)傩灾概芍禃r使用,位于賦值語句的左邊。
'Syntax: X.Count = 5
mvarCount = vData
End Property
Public Property Get Count() As Long
'檢索屬性值時使用,位于賦值語句的右邊。
'Syntax: Debug.Print X.Count
Count = mvarCount
End Property
Public Property Let RegDate(ByVal vData As Date)
'向?qū)傩灾概芍禃r使用,位于賦值語句的左邊。
'Syntax: X.RegDate = 5
mvarRegDate = vData
End Property
Public Property Get RegDate() As Date
'檢索屬性值時使用,位于賦值語句的右邊。
'Syntax: Debug.Print X.RegDate
RegDate = mvarRegDate
End Property
Public Property Let MerchandiseID(ByVal vData As Long)
'向?qū)傩灾概芍禃r使用,位于賦值語句的左邊。
'Syntax: X.MerchandiseID = 5
mvarMerchandiseID = vData
End Property
Public Property Get MerchandiseID() As Long
'檢索屬性值時使用,位于賦值語句的右邊。
'Syntax: Debug.Print X.MerchandiseID
MerchandiseID = mvarMerchandiseID
End Property
Public Property Let ID(ByVal vData As Long)
'向?qū)傩灾概芍禃r使用,位于賦值語句的左邊。
'Syntax: X.ID = 5
mvarID = vData
End Property
Public Property Get ID() As Long
'檢索屬性值時使用,位于賦值語句的右邊。
'Syntax: Debug.Print X.ID
ID = mvarID
End Property
Public Function AddNew() As gxcAddNew
Dim strSQL As String
'用來獲取對應(yīng)商品的信息,以便更新庫存
Dim obj As clsMerch
Dim objs As New clsMerchs
Dim rstObjs As clsMerchs
Set rstObjs = objs.Find(Me.MerchandiseID)
If rstObjs Is Nothing Then
AddNew = AddNewFail
Exit Function
End If
Set obj = rstObjs.Item(1)
g_Conn.BeginTrans
strSQL = "INSERT INTO Dispose(D_MerchandiseID_N, D_RegDate_D, "
strSQL = strSQL & " D_Count_N, D_Reason_S, D_OperatorId_S, D_Remark_R) "
strSQL = strSQL & " VALUES("
strSQL = strSQL & Me.MerchandiseID '商品名稱
strSQL = strSQL & ",'" & Me.RegDate & "'" '商品介紹
strSQL = strSQL & "," & Me.Count '商品類型ID
strSQL = strSQL & ",'" & Me.Reason & "'" '商品類型ID
strSQL = strSQL & ",'" & Me.OperatorId & "'" '商品類型ID
strSQL = strSQL & ",'" & Me.Remark & "'" '備注
strSQL = strSQL & ")"
'執(zhí)行SQL語句,
g_Conn.Execute strSQL
'更新庫存
obj.Storage = obj.Storage - Me.Count
obj.Update
'提交事務(wù)
g_Conn.CommitTrans
'如果發(fā)生錯誤,則返回FALSE,表示未成功添加
If Err.Number = 0 Then
Me.ID = MaxID("Dispose", "D_ID_N")
AddNew = AddNewOK
Else
AddNew = AddNewFail
End If
End Function
Public Function Update() As gxcUpdate
Dim strSQL As String
'通過ID判斷是否存在該記錄,即該記錄是否被其它商品端刪除
'如果不存在該記錄,則返回相應(yīng)的操作結(jié)果給調(diào)用者
If Not ExistByID("Dispose", "D_ID_N", Me.ID) Then
Update = RecordNotExist
Exit Function
End If
'用來獲取對應(yīng)商品的信息,以便更新庫存
Dim obj As clsMerch
Dim objs As New clsMerchs
Dim rstObjs As clsMerchs
Set rstObjs = objs.Find(Me.MerchandiseID)
If rstObjs Is Nothing Then
Update = UpdateFail
Exit Function
End If
Set obj = rstObjs.Item(1)
'獲取原來的進貨量
Dim preCnt As Long
preCnt = Val(GetValueByID("Dispose", "D_ID_N", Me.ID, "D_Count_N"))
g_Conn.BeginTrans
'構(gòu)造SQL語句,注意需調(diào)用RealString函數(shù)去除字符串中的單引號
strSQL = "Update Dispose SET "
strSQL = strSQL & "D_MerchandiseID_N=" & Me.MerchandiseID & ","
strSQL = strSQL & "D_RegDate_D='" & Me.RegDate & "',"
strSQL = strSQL & "D_Count_N=" & Me.Count & ","
strSQL = strSQL & "D_Reason_S='" & Me.Reason & "',"
strSQL = strSQL & "D_OperatorId_S='" & Me.OperatorId & "',"
strSQL = strSQL & "D_Remark_R='" & Me.Remark & "' "
strSQL = strSQL & " WHERE D_ID_N=" & Me.ID
'執(zhí)行SQL語句,
g_Conn.Execute strSQL
'更新庫存
obj.Storage = obj.Storage - (Me.Count - preCnt)
obj.Update
'提交事務(wù)
g_Conn.CommitTrans
'根據(jù)是否出錯,返回給調(diào)用者相應(yīng)的信息
Update = IIf(Err.Number = 0, UpdateOK, UpdateFail)
End Function
Public Function Delete(Optional lngID As Long = -1) As gxcDelete
Dim strSQL As String
'如果調(diào)用該函數(shù)時傳入了ID,則更新該對象的ID
If lngID <> -1 Then Me.ID = lngID
'用來獲取對應(yīng)商品的信息,以便更新庫存
Dim obj As clsMerch
Dim objs As New clsMerchs
Dim rstObjs As clsMerchs
Set rstObjs = objs.Find(Me.MerchandiseID)
If rstObjs Is Nothing Then
Delete = DeleteFail
Exit Function
End If
Set obj = rstObjs.Item(1)
'獲取原來的進貨量
Dim preCnt As Long
preCnt = Val(GetValueByID("Dispose", "D_ID_N", Me.ID, "D_Count_N"))
g_Conn.BeginTrans
'執(zhí)行刪除操作并返回操作結(jié)果
strSQL = "DELETE FROM Dispose "
strSQL = strSQL & " WHERE D_ID_N=" & Me.ID
'執(zhí)行SQL語句,
g_Conn.Execute strSQL
'更新庫存
obj.Storage = obj.Storage + preCnt
obj.Update
'提交事務(wù)
g_Conn.CommitTrans
Delete = IIf(Err.Number = 0, DeleteOK, DeleteFail)
End Function
Public Function DeleteEx() As gxcDelete
DeleteEx = Delete(Me.ID)
End Function
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -