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

📄 client.cls

📁 人事档案管理系统(PB)/人事工资管理系统/干部信息管理系统/投标报价与合同管理系统/... 超市...
💻 CLS
📖 第 1 页 / 共 3 页
字号:
    
  With adoRS
    Do While Not .EOF
      Set uClient = Nothing
      Set uClient = New Client
      uClient.Address= IIF(IsNull(adoRS("Address")), "", adoRS("Address"))
      uClient.City= IIF(IsNull(adoRS("City")), "", adoRS("City"))
      uClient.ClientID= IIF(IsNull(adoRS("ClientID")), 0, adoRS("ClientID"))
      uClient.CompanyName= IIF(IsNull(adoRS("CompanyName")), "", adoRS("CompanyName"))
      uClient.ContactFirstName= IIF(IsNull(adoRS("ContactFirstName")), "", adoRS("ContactFirstName"))
      uClient.ContactLastName= IIF(IsNull(adoRS("ContactLastName")), "", adoRS("ContactLastName"))
      uClient.ContactTitle= IIF(IsNull(adoRS("ContactTitle")), "", adoRS("ContactTitle"))
      uClient.Country= IIF(IsNull(adoRS("Country")), "", adoRS("Country"))
      uClient.FaxNumber= IIF(IsNull(adoRS("FaxNumber")), "", adoRS("FaxNumber"))
      uClient.Notes= IIF(IsNull(adoRS("Notes")), "", adoRS("Notes"))
      uClient.PhoneNumber= IIF(IsNull(adoRS("PhoneNumber")), "", adoRS("PhoneNumber"))
      uClient.PostalCode= IIF(IsNull(adoRS("PostalCode")), "", adoRS("PostalCode"))
      uClient.StateOrProvince= IIF(IsNull(adoRS("StateOrProvince")), "", adoRS("StateOrProvince"))
      uClient.OldClientID = uClient.ClientID
	
      uClient.IsDirty = False 
      uClient.IsNew = False 
      uClient.ReSetBrokenRule False
      uClients.AddExisting uClient, ":" & uClient.ClientID 
      If GetChildren Then uClient.ClientProjects.LoadRelated uClient.ClientID

      .MoveNext
    Loop
    .Close
  End With

  Set LoadByCompanyName = uClients
  Exit Function

Err_LoadByCompanyName:
  ErrNum = Err.Number
  ErrMsg = Err.Description
  Call ErrHandler(ErrNum, ErrMsg,"Client","LoadByCompanyName")
End Function
	 
'******************************************************************************
'*                                                                            *
'* Name:    LoadByCountry                                   *
'*                                                                            *
'* Purpose: Load records based on Country                         *
'*          Optionally you can include orderby clause to sort data.           *  
'*                                                                            *
'* Return: a Clients object                  *
'******************************************************************************
Function LoadByCountry(ByVal vCountry As String , Optional ByVal OrderByClause As String = vbNullString , Optional GetChildren As Boolean = False) As Clients
  On Error GoTo Err_LoadByCountry
  Dim adoRS As New ADODB.Recordset
  Dim strSQL As String
  Dim uClient As Client
  Dim uClients As New Clients

  strSQL = "Select a.Address,a.City,a.ClientID,a.CompanyName,a.ContactFirstName,a.ContactLastName,a.ContactTitle,a.Country,a.FaxNumber,a.Notes,a.PhoneNumber,a.PostalCode,a.StateOrProvince From Clients a Where a.Country Like '" & vCountry & "'" & OrderByClause

  adoRS.Open strSQL, Conn, adOpenForwardOnly, adLockReadOnly
    
  With adoRS
    Do While Not .EOF
      Set uClient = Nothing
      Set uClient = New Client
      uClient.Address= IIF(IsNull(adoRS("Address")), "", adoRS("Address"))
      uClient.City= IIF(IsNull(adoRS("City")), "", adoRS("City"))
      uClient.ClientID= IIF(IsNull(adoRS("ClientID")), 0, adoRS("ClientID"))
      uClient.CompanyName= IIF(IsNull(adoRS("CompanyName")), "", adoRS("CompanyName"))
      uClient.ContactFirstName= IIF(IsNull(adoRS("ContactFirstName")), "", adoRS("ContactFirstName"))
      uClient.ContactLastName= IIF(IsNull(adoRS("ContactLastName")), "", adoRS("ContactLastName"))
      uClient.ContactTitle= IIF(IsNull(adoRS("ContactTitle")), "", adoRS("ContactTitle"))
      uClient.Country= IIF(IsNull(adoRS("Country")), "", adoRS("Country"))
      uClient.FaxNumber= IIF(IsNull(adoRS("FaxNumber")), "", adoRS("FaxNumber"))
      uClient.Notes= IIF(IsNull(adoRS("Notes")), "", adoRS("Notes"))
      uClient.PhoneNumber= IIF(IsNull(adoRS("PhoneNumber")), "", adoRS("PhoneNumber"))
      uClient.PostalCode= IIF(IsNull(adoRS("PostalCode")), "", adoRS("PostalCode"))
      uClient.StateOrProvince= IIF(IsNull(adoRS("StateOrProvince")), "", adoRS("StateOrProvince"))
      uClient.OldClientID = uClient.ClientID
	
      uClient.IsDirty = False 
      uClient.IsNew = False 
      uClient.ReSetBrokenRule False
      uClients.AddExisting uClient, ":" & uClient.ClientID 
      If GetChildren Then uClient.ClientProjects.LoadRelated uClient.ClientID

      .MoveNext
    Loop
    .Close
  End With

  Set LoadByCountry = uClients
  Exit Function

Err_LoadByCountry:
  ErrNum = Err.Number
  ErrMsg = Err.Description
  Call ErrHandler(ErrNum, ErrMsg,"Client","LoadByCountry")
End Function
	 
'******************************************************************************
'*                                                                            *
'* Name:    LoadByStateOrProvince                                   *
'*                                                                            *
'* Purpose: Load records based on StateOrProvince                         *
'*          Optionally you can include orderby clause to sort data.           *  
'*                                                                            *
'* Return: a Clients object                  *
'******************************************************************************
Function LoadByStateOrProvince(ByVal vStateOrProvince As String , Optional ByVal OrderByClause As String = vbNullString , Optional GetChildren As Boolean = False) As Clients
  On Error GoTo Err_LoadByStateOrProvince
  Dim adoRS As New ADODB.Recordset
  Dim strSQL As String
  Dim uClient As Client
  Dim uClients As New Clients

  strSQL = "Select a.Address,a.City,a.ClientID,a.CompanyName,a.ContactFirstName,a.ContactLastName,a.ContactTitle,a.Country,a.FaxNumber,a.Notes,a.PhoneNumber,a.PostalCode,a.StateOrProvince From Clients a Where a.StateOrProvince Like '" & vStateOrProvince & "'" & OrderByClause

  adoRS.Open strSQL, Conn, adOpenForwardOnly, adLockReadOnly
    
  With adoRS
    Do While Not .EOF
      Set uClient = Nothing
      Set uClient = New Client
      uClient.Address= IIF(IsNull(adoRS("Address")), "", adoRS("Address"))
      uClient.City= IIF(IsNull(adoRS("City")), "", adoRS("City"))
      uClient.ClientID= IIF(IsNull(adoRS("ClientID")), 0, adoRS("ClientID"))
      uClient.CompanyName= IIF(IsNull(adoRS("CompanyName")), "", adoRS("CompanyName"))
      uClient.ContactFirstName= IIF(IsNull(adoRS("ContactFirstName")), "", adoRS("ContactFirstName"))
      uClient.ContactLastName= IIF(IsNull(adoRS("ContactLastName")), "", adoRS("ContactLastName"))
      uClient.ContactTitle= IIF(IsNull(adoRS("ContactTitle")), "", adoRS("ContactTitle"))
      uClient.Country= IIF(IsNull(adoRS("Country")), "", adoRS("Country"))
      uClient.FaxNumber= IIF(IsNull(adoRS("FaxNumber")), "", adoRS("FaxNumber"))
      uClient.Notes= IIF(IsNull(adoRS("Notes")), "", adoRS("Notes"))
      uClient.PhoneNumber= IIF(IsNull(adoRS("PhoneNumber")), "", adoRS("PhoneNumber"))
      uClient.PostalCode= IIF(IsNull(adoRS("PostalCode")), "", adoRS("PostalCode"))
      uClient.StateOrProvince= IIF(IsNull(adoRS("StateOrProvince")), "", adoRS("StateOrProvince"))
      uClient.OldClientID = uClient.ClientID
	
      uClient.IsDirty = False 
      uClient.IsNew = False 
      uClient.ReSetBrokenRule False
      uClients.AddExisting uClient, ":" & uClient.ClientID 
      If GetChildren Then uClient.ClientProjects.LoadRelated uClient.ClientID

      .MoveNext
    Loop
    .Close
  End With

  Set LoadByStateOrProvince = uClients
  Exit Function

Err_LoadByStateOrProvince:
  ErrNum = Err.Number
  ErrMsg = Err.Description
  Call ErrHandler(ErrNum, ErrMsg,"Client","LoadByStateOrProvince")
End Function
	


'******************************************************************************
'*                                                                            *
'* Name:    CopyMe                                                            *
'*                                                                            *
'* Purpose: this method make another copy of this object in the memory        *
'*                                                                            *
'* Returns: Another Client.                              *
'*                                                                            *
'******************************************************************************
Public Function CopyMe() As Client
  Dim uClient As New Client

  uClient.Address = m_Address
  uClient.City = m_City
  uClient.ClientID = m_ClientID
  uClient.CompanyName = m_CompanyName
  uClient.ContactFirstName = m_ContactFirstName
  uClient.ContactLastName = m_ContactLastName
  uClient.ContactTitle = m_ContactTitle
  uClient.Country = m_Country
  uClient.FaxNumber = m_FaxNumber
  uClient.Notes = m_Notes
  uClient.PhoneNumber = m_PhoneNumber
  uClient.PostalCode = m_PostalCode
  uClient.StateOrProvince = m_StateOrProvince
  uClient.IsDirty = m_IsDirty
  uClient.IsNew = m_IsNew
  uClient.IsDeleted = m_IsDeleted
  uClient.OldClientID = m_OldClientID

  Dim uClientProject As ClientProject
  Dim oClientProject As ClientProject
  For Each oClientProject In m_ClientProjects
    Set uClientProject = Nothing
    Set uClientProject = New ClientProject
    Set uClientProject = oClientProject.CopyMe
    uClient.ClientProjects.AddExisting uClientProject, m_ClientProjects.Key(oClientProject)
  Next

  Set CopyMe = uClient
End Function     


Private Function COMEXDataSourceSingle_GetData(ByVal Field As Long) As Variant
  On Error Resume Next
  If Field > 0 AND Field <= UBound(m_Fields) + 1 Then     
    COMEXDataSourceSingle_GetData = CallByName(Me, m_Fields(Field-1) & "IncludeLookup" , vbGet)
  	If err<>0 Then COMEXDataSourceSingle_GetData = CallByName(Me, m_Fields(Field-1), vbGet)
  Else
    COMEXDataSourceSingle_GetData = vbNullString
  End If
End Function

Private Function COMEXDataSourceSingle_GetDataByName(ByVal FieldName As String) As Variant
  On Error Resume Next
  COMEXDataSourceSingle_GetDataByName = CallByName(Me, FieldName & "IncludeLookup", vbGet)
  If err<>0 Then COMEXDataSourceSingle_GetDataByName = CallByName(Me, FieldName, vbGet)
End Function

Private Function COMEXDataSourceSingle_GetFieldCount() As Long
  COMEXDataSourceSingle_GetFieldCount = UBound(m_Fields) + 1
End Function

Private Function COMEXDataSourceSingle_GetFieldName(ByVal Field As Long) As String
  If Field > 0 AND Field <= UBound(m_Fields) + 1 Then 
    COMEXDataSourceSingle_GetFieldName = m_Fields(Field - 1)
  Else
    COMEXDataSourceSingle_GetFieldName = vbNullString
  End If
End Function

Private Sub COMEXDataSourceSingle_SetData(ByVal Field As Long, ByVal newData As Variant)     
  If Field > 0 AND Field <= UBound(m_Fields) + 1 Then 
    Select Case m_Fields(Field-1)

      Case "Address"
        Me.Address =  newData
      Case "City"
        Me.City =  newData
      Case "ClientID"
        Me.ClientID =  newData
      Case "CompanyName"
        Me.CompanyName =  newData
      Case "ContactFirstName"
        Me.ContactFirstName =  newData
      Case "ContactLastName"
        Me.ContactLastName =  newData
      Case "ContactTitle"
        Me.ContactTitle =  newData
      Case "Country"
        Me.Country =  newData
      Case "FaxNumber"
        Me.FaxNumber =  newData
      Case "Notes"
        Me.Notes =  newData
      Case "PhoneNumber"
        Me.PhoneNumber =  newData
      Case "PostalCode"
        Me.PostalCode =  newData
      Case "StateOrProvince"
        Me.StateOrProvince =  newData
    End Select
  End If
End Sub  

Private Sub COMEXDataSourceSingle_SetDataByName(ByVal FieldName As string, ByVal newData As Variant)     
  Select Case FieldName

    Case "Address"
        Me.Address =  newData
    Case "City"
        Me.City =  newData
    Case "ClientID"
        Me.ClientID =  newData
    Case "CompanyName"
        Me.CompanyName =  newData
    Case "ContactFirstName"
        Me.ContactFirstName =  newData
    Case "ContactLastName"
        Me.ContactLastName =  newData
    Case "ContactTitle"
        Me.ContactTitle =  newData
    Case "Country"
        Me.Country =  newData
    Case "FaxNumber"
        Me.FaxNumber =  newData
    Case "Notes"
        Me.Notes =  newData
    Case "PhoneNumber"
        Me.PhoneNumber =  newData
    Case "PostalCode"
        Me.PostalCode =  newData
    Case "StateOrProvince"
        Me.StateOrProvince =  newData
  End Select  
End Sub

Private Sub COMEXDataSourceSingle_Delete()
  Call Delete
End Sub 

Private Function COMEXDataSourceSingle_Save() As Boolean
  COMEXDataSourceSingle_Save = Save
End Function 

Private Function COMEXDataSourceSingle_CopyMe() As COMEXDataSourceSingle
  Set COMEXDataSourceSingle_CopyMe = CopyMe
End Function

Private Property Get COMEXDataSourceSingle_IsDeleted() As Boolean
  COMEXDataSourceSingle_IsDeleted = IsDeleted
End Property

⌨️ 快捷键说明

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