📄 cgpods.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 = "CgPods"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = True
Option Explicit
Dim OCgPods As Collection
Public Property Get Name() As String
Name = "CgPods"
End Property
Private Sub Class_Initialize()
Set OCgPods = New Collection
End Sub
Public Sub Add(oCgPod As CgPod, Optional Needsave As Integer = 1)
Dim mKey As Integer
Dim vCgPod As CgPod
For Each vCgPod In OCgPods
If mKey < vCgPod.CgPodKey Then
mKey = vCgPod.CgPodKey
End If
Next
oCgPod.CgPodKey = mKey + 1
If Needsave = 1 Then
oCgPod.Save
End If
OCgPods.Add Item:=oCgPod, Key:=CStr(mKey + 1)
End Sub
Public Sub Remove(Vindex, Optional Needdel As Integer = 1)
Dim oCgPod As CgPod
Set oCgPod = Item(Vindex)
If Needdel = 1 And oCgPod.CgPodId = 1 Then
oCgPod.Del
End If
OCgPods.Remove (Vindex)
Set oCgPod = Nothing
End Sub
Public Property Get Count() As Integer
Count = OCgPods.Count
End Property
Public Function Item(Vindex) As CgPod
Attribute Item.VB_UserMemId = 0
Set Item = OCgPods.Item(Vindex)
End Function
Public Sub ClearAll()
Dim i, Vcount As Integer
Vcount = OCgPods.Count
For i = 1 To Vcount
OCgPods.Remove (1)
Next
End Sub
Public Sub Fillbydb(vCgPodh As CgPodh)
Dim oCgPod As CgPod
Dim mRs As DbRs
Dim mKey As Integer
Dim mSqlStr As String
On Error GoTo Errorhandle
ClearAll
mSqlStr = "SELECT CgPod_CgPodHNO,CgPod_HwBmCode=COALESCE((SELECT HwBmCode FROM HWBMREC WHERE HWBMNO=CgPod_HWBMNO),''),CgPod_HwBmMc=COALESCE((SELECT HwBmMc FROM HWBMREC WHERE HWBMNO=CgPod_HWBMNO),''),CgPod_HWBMNO,"
mSqlStr = mSqlStr & "CgPod_HwDwCode=COALESCE((SELECT HWDWCode FROM HWDWREC WHERE HWDWNO=CgPod_HWDWNO),''),CgPod_HWDWNO,CgPod_HWDWCONV,"
mSqlStr = mSqlStr & "CgPodQTY,CgPodPRICE,CgPodAMT,"
mSqlStr = mSqlStr & "CgPod_CWSMCODE=COALESCE((SELECT CWSMCODE FROM CWSMREC WHERE CWSMNO=CgPod_CWSMNO),''),CgPod_CWSMNO,CGPODDDAT,"
mSqlStr = mSqlStr & "CgPodBZ,CgPodNO FROM CgPodREC WHERE CgPod_CGPODHNO=" & CStr(vCgPodh.CgPodhNo)
Set mRs = New DbRs
mRs.Fillbydb mSqlStr
mSqlStr = mSqlStr & " ORDER BY CGPODNO"
mRs.MoveFirst
mKey = 1
Do Until mRs.EOF
Set oCgPod = New CgPod
Set oCgPod.CgPodh = vCgPodh
oCgPod.CgPodKey = mKey
oCgPod.BatchLet mRs!CgPod_CgPodhno, mRs!CgPod_HwBmCode, mRs!CgPod_HwBmMc, mRs!CgPod_HwBmno, _
mRs!CgPod_HwDwCode, mRs!CgPod_HwDwno, mRs!CgPod_HwDwConv, _
mRs!CgPodQty, mRs!CgPodPrice, mRs!CgPodAmt, _
mRs!CgPod_CwSmCode, mRs!CgPod_CwSmno, mRs!CgPodDDat, mRs!CgPodBz, mRs!CgPodNo
OCgPods.Add Item:=oCgPod, Key:=CStr(mKey)
mRs.MoveNext
mKey = mKey + 1
Loop
Set mRs = Nothing
Exit Sub
Errorhandle:
Set mRs = Nothing
Err.Raise vbObjectError + 1, , Err.Description
End Sub
Public Function NewEnum() As IUnknown
Attribute NewEnum.VB_UserMemId = -4
Attribute NewEnum.VB_MemberFlags = "40"
Set NewEnum = OCgPods.[_NewEnum]
End Function
Private Sub Class_Terminate()
ClearAll
Set OCgPods = Nothing
End Sub
Public Sub Save(vCgPodh As CgPodh)
Dim mNotSaved As Collection
Dim mCgPod As CgPod
On Error GoTo Errorhandle
Set mNotSaved = New Collection
For Each mCgPod In vCgPodh.CgPods
If mCgPod.CgPodId = -1 Then
mNotSaved.Add mCgPod
End If
mCgPod.Save
Next
Set mNotSaved = Nothing
Exit Sub
Errorhandle:
For Each mCgPod In mNotSaved
mCgPod.CgPodId = -1
Next
Set mNotSaved = Nothing
Err.Raise vbObjectError + 1, , Err.Description
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -