⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cgshds.cls

📁 制造业产供销与往来系统源码,包括进销存及全部控件!
💻 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 = "CgShds"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = True
Option Explicit
Dim OCgShds As Collection

Public Property Get Name() As String
   Name = "CgShds"
End Property

Private Sub Class_Initialize()
   Set OCgShds = New Collection
End Sub

Public Sub Add(oCgShd As CgShd, Optional Needsave As Integer = 1)
   Dim mKey As Integer
   Dim vCgShd As CgShd
   For Each vCgShd In OCgShds
      If mKey < vCgShd.CgShdKey Then
         mKey = vCgShd.CgShdKey
      End If
   Next
   oCgShd.CgShdKey = mKey + 1
   If Needsave = 1 Then
      oCgShd.Save
   End If
   OCgShds.Add Item:=oCgShd, Key:=CStr(mKey + 1)
End Sub

Public Sub Remove(Vindex, Optional Needdel As Integer = 1)
 
   Dim oCgShd As CgShd
   Set oCgShd = Item(Vindex)
   If Needdel = 1 And oCgShd.CgShdId = 1 Then
      oCgShd.Del
   End If
   OCgShds.Remove (Vindex)
   Set oCgShd = Nothing
   
End Sub

Public Property Get Count() As Integer
   Count = OCgShds.Count
End Property

Public Function Item(Vindex) As CgShd
Attribute Item.VB_UserMemId = 0
   Set Item = OCgShds.Item(Vindex)
End Function

Public Sub ClearAll()
   Dim i, Vcount As Integer
   Vcount = OCgShds.Count
   For i = 1 To Vcount
      OCgShds.Remove (1)
   Next
End Sub

Public Sub Fillbydb(vCgShdh As CgShdh)
   Dim oCgShd As CgShd
   Dim mRs As DbRs
   Dim mKey As Integer
   Dim mSqlStr As String
On Error GoTo Errorhandle

   ClearAll
   
   mSqlStr = "SELECT CgShd_CgShdHNO,CgShd_CgPodDOCNO=COALESCE((SELECT CgPodHDOCNO FROM CgPodHREC,CgPodREC WHERE CgPodNO=CgShd_CgPodNO AND CgPodHNO=CgPod_CgPodHNO),''),CgShd_CgPodNO,"
   mSqlStr = mSqlStr & "CgShd_HwBmCode=COALESCE((SELECT HwBmCode FROM HWBMREC WHERE HWBMNO=CGSHD_HWBMNO),''),CgShd_HwBmMc=COALESCE((SELECT HwBmMc FROM HWBMREC WHERE HWBMNO=CGSHD_HWBMNO),''),CgShd_HWBMNO,"
   mSqlStr = mSqlStr & "CgShd_HwCkMc=COALESCE((SELECT HwCkMc FROM HWCKREC WHERE HWCKNO=CGSHD_HWCKNO),''),CgShd_HWCKNO,"
   mSqlStr = mSqlStr & "CgShd_HwDwCode=COALESCE((SELECT HWDWCode FROM HWDWREC WHERE HWDWNO=CGSHD_HWDWNO),''),CgShd_HWDWNO,CGSHD_HWDWCONV,"
   mSqlStr = mSqlStr & "CgShdQTY,CgShdPRICE,CgShdAMT,CGSHDQAMT,CGSHDTAMT,CGSHDIPRICE,CGSHDIAMT,CGSHD_CWBZCONV,"
   mSqlStr = mSqlStr & "CGSHD_CWSMCODE=COALESCE((SELECT CWSMCODE FROM CWSMREC WHERE CWSMNO=CGSHD_CWSMNO),''),CGSHD_CWSMNO,CGSHD_CWSMCONV,"
   mSqlStr = mSqlStr & "CgShdBZ,CgShd_CgApNo,CGSHDMIONO,CgShdNO FROM CgShdREC WHERE CGSHD_CGSHDHNO=" & CStr(vCgShdh.CgShdhNo)
   
   Set mRs = New DbRs
   mRs.Fillbydb mSqlStr
   
   mRs.MoveFirst
   
   mKey = 1
   Do Until mRs.EOF
      Set oCgShd = New CgShd
      Set oCgShd.CgShdh = vCgShdh
      oCgShd.CgShdKey = mKey
      oCgShd.BatchLet mRs!CgShd_CgShdhno, mRs!CgShd_CgPodDocno, mRs!CgShd_CgPodno, mRs!CgShd_HwBmCode, mRs!CgShd_HwBmMc, mRs!CgShd_HwBmno, _
                      mRs!CgShd_HwCkMc, mRs!CgShd_HwCkno, mRs!CgShd_HwDwCode, mRs!CgShd_HwDwno, mRs!CgShd_HwDwConv, _
                      mRs!CgShdQty, mRs!CgShdPrice, mRs!CgShdAmt, mRs!CgShdQAmt, mRs!CgShdTAmt, mRs!CgShdIPrice, mRs!CgShdIAmt, _
                      mRs!cgshd_cwbzconv, mRs!CgShd_CwSmCode, mRs!CgShd_CwSmno, mRs!CgShd_CwsmConv, _
                      mRs!CgShdBz, mRs!CgShd_CgApNo, mRs!CgShdMioNo, mRs!CgShdNo
      OCgShds.Add Item:=oCgShd, 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 = OCgShds.[_NewEnum]
End Function

Private Sub Class_Terminate()
   ClearAll
   Set OCgShds = Nothing
End Sub

Public Sub Save(vCgShdh As CgShdh)
   Dim mNotSaved As Collection
   Dim mCgShd As CgShd
On Error GoTo Errorhandle
   
   Set mNotSaved = New Collection
   
   For Each mCgShd In vCgShdh.CgShds
      If mCgShd.CgShdId = -1 Then
         mNotSaved.Add mCgShd
      End If
      mCgShd.Save
   Next
   
   Set mNotSaved = Nothing
   
Exit Sub
Errorhandle:
   For Each mCgShd In mNotSaved
      mCgShd.CgShdId = -1
   Next
   Set mNotSaved = Nothing
   Err.Raise vbObjectError + 1, , Err.Description
End Sub


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -