' Ch08ActiveXExeServer ' code for frmDispensaryItem.frm Option Explicit Private mDispensaryItems As New CDispensaryItems 'Instantiate the collection Private Sub cmdAdd_Click() 'Add an item to the collection If cboFrameSize.ListIndex <> -1 And cboFrameStyle.ListIndex <> -1 Then mDispensaryItems.Add cboFrameStyle.ListIndex + 1, _ cboFrameSize.ListIndex + 1, _ Val(txtQuantity.Text) Else MsgBox "Enter values for the item.", vbInformation, "Dispensary Items" End If cmdClear_Click 'Clear out form controls End Sub Private Sub cmdClear_Click() 'Clear screen controls cboFrameSize.ListIndex = -1 cboFrameStyle.ListIndex = -1 txtQuantity.Text = "" picDisplay.Cls End Sub Private Sub cmdCount_Click() 'Display the number of objects in the collection Dim strMsg As String strMsg = "The number of Dispensary Items is " & mDispensaryItems.Count MsgBox strMsg, vbInformation, "AVB Dispensary Items" End Sub Private Sub cmdDisplay_Click() 'Display the objects in the collection Dim DisplayItem As CDispensaryItem picDisplay.Cls 'Clear the display and print headings picDisplay.Print "Item Code", "Frame Style", "Frame Size", "Quantity" picDisplay.Print For Each DisplayItem In mDispensaryItems With DisplayItem picDisplay.Print .DispensaryItemCode, .FrameStyle, .FrameSize, _ .Quantity End With Next End Sub Private Sub cmdDisplayItem_Click() 'Display one item from collection Dim strKey As String On Error GoTo HandleError strKey = InputBox("Enter item code to display.", "Display Dispensary Item") picDisplay.Cls 'Clear the display and print headings picDisplay.Print "Item Code", "Frame Style", "Frame Size", "Quantity" picDisplay.Print With mDispensaryItems(strKey) picDisplay.Print .DispensaryItemCode, .FrameSize, .FrameStyle, .Quantity End With cmdRemove_Click_Exit: Exit Sub HandleError: If Err.Number = diItemCodeError Then MsgBox "Invalid Dispensary Item Code", vbInformation, _ "Display Dispensary Item" Else MsgBox "Unexpected Error", vbInformation, "Display Dispensary Item" End If End Sub Private Sub cmdRemove_Click() 'Remove an item Dim strKey As String On Error GoTo HandleError strKey = InputBox("Enter item code to remove.", "Remove Dispensary Item") mDispensaryItems.Remove strKey cmdRemove_Click_Exit: Exit Sub HandleError: If Err.Number = diItemCodeError Then MsgBox "Invalid Dispensary Item Code", vbInformation, _ "Remove Dispensary Item" Else MsgBox "Unexpected Error", vbInformation, "Display Dispensary Item" End If End Sub Private Sub Form_Unload(Cancel As Integer) 'Release object variables Set mDispensaryItems = Nothing End Sub Private Sub mnuFileClose_Click() 'Exit the project Unload Me End Sub