'Class Name: CDispensaryItems
Option Explicit
Private mDispensaryItems As Collection
Public Enum diError
diItemCodeError = vbObjectError + 512 + 1
End Enum
Private Sub Class_Initialize()
'Create the collection object
Set mDispensaryItems = New Collection
End Sub
Private Sub Class_Terminate()
'Release the collection reference
Set mDispensaryItems = Nothing
End Sub
Private Function NextDispensaryItemCode() As String
'Assign the next DispensaryItemCode
Static intDispensaryItemCode As Integer
intDispensaryItemCode = intDispensaryItemCode + 1
NextDispensaryItemCode = Trim(Str(intDispensaryItemCode)) 'Convert to string
End Function
Public Sub Add(ByVal intFrameStyle As Integer, ByVal intFrameSize As Integer, _
ByVal intQuantity As Integer)
'Add a new member to the collection
'Object variable to hold the new object
Dim NewDispensaryItem As New CDispensaryItem
With NewDispensaryItem 'Set up the properties for the new object
'Call the function to assign the next key
.DispensaryItemCode = NextDispensaryItemCode
.FrameStyle = intFrameStyle
.FrameSize = intFrameSize
.Quantity = intQuantity
mDispensaryItems.Add NewDispensaryItem, .DispensaryItemCode
End With
End Sub
Public Sub Remove(ByVal strKey As String)
'Remove a member from the collection
On Error GoTo HandleError
mDispensaryItems.Remove strKey
Remove_Exit:
Exit Sub
HandleError:
Err.Raise diItemCodeError, "CDispensaryItems", "Invalid dispensary item key"
End Sub
Public Function Item(ByVal strKey As String) As CDispensaryItem
'Return one member from the collection
On Error GoTo HandleError
Set Item = mDispensaryItems.Item(strKey)
Item_Exit:
Exit Function
HandleError:
Err.Raise diItemCodeError, "CDispensaryItems", "Invalid dispensary item key"
End Function
Public Property Get Count() As Long
'Return the number of members in the collection
Count = mDispensaryItems.Count
End Property
Public Function NewEnum()
'Allow for the For Each...Next enumeration
Set NewEnum = mDispensaryItems.[_NewEnum]
End Function