LinkBack Thread Tools Search this Thread Display Modes
Prev Previous Post   Next Post Next
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 101
Default Call to a property is setting all items in collection, not one

I have a class module that has a collection of another class module (MONTH)
that has a collection of a third class module (WBSID) with a property of
ACWP. It seems that in some scenarios, if I call this line in the top level
class:

Me.Month(1).WBSID("ABC123").ACWP = 50

All WBSID with the name property of "ABC123", regardless of which month they
are in, chance to 50, even though I specifically call one month. And I just
want to set the single month's value, not any other month. Below is the code
that refers to this in my classes (sorry for lack of comments, haven't gotten
around to it). Thanks for any help as this is driving me nuts.

Top Level Class:

Private pMonth As New Collection

Property Set Months(S As Collection)
Set pMonth = S
End Property
Property Get Months() As Collection
Set Months = pMonth
End Property
Public Function Month(index As Integer) As clsMonth

If index pMonth.Count Or index < 1 Then
Err.Raise 9
Else
Set Month = pMonth(index)
End If

End Function

Month class:

Private pWBSID As New Collection

Property Set WBSIDs(S As Collection)
Set pWBSID = S
End Property
Property Get WBSIDs() As Collection
Set WBSIDs = pWBSID
End Property
Public Function WBSID(index As Variant) As clsWBSID
If IsNumeric(index) Then
If index pWBSID.Count Or index < 1 Then
Err.Raise 9
Else
Set WBSID = pWBSID(index)
End If
Else

Dim WP As clsWBSID

For Each WP In pWBSID
If UCase(WP.ChargeCode) = UCase(index) Then
Set WBSID = WP
Exit For
End If
Next

End If
End Function

WBSID Class:

Private pACWP As Double
Private pChargeCode As String

Public Property Let ChargeCode(S As String)
pChargeCode = S
End Property
Public Property Get ChargeCode() As String
ChargeCode = pChargeCode
End Property
Public Property Let ACWP(S As Double)
pACWP = Round(S, 1)
End Property
Public Property Get ACWP() As Double
ACWP = pACWP
End Property
--
*********************
J Streger
MS Office Master 2000 ed.
MS Project White Belt 2003

User of MS Office 2003

 
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Setting a collection in a class J Streger Excel Programming 3 May 8th 07 09:13 PM
How find maximum top+height property of a collection of shapes Chet Excel Programming 2 February 20th 07 04:52 PM
Class Collection Add Items keep repeating Kevin Vaughn Excel Programming 3 April 18th 06 10:50 PM
Using a collection as a property GregR Excel Programming 4 August 10th 05 06:02 PM
Clearing all items in a collection Todd Huttenstine Excel Programming 5 August 13th 04 09:45 PM


All times are GMT +1. The time now is 08:30 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"