Dim lviCurrentPort As New ListViewItem Dim dblTotalValue As Double = 0 Dim strTicker, strPrice, strShares, strBasis, strValue, strTotalValue, strTickerList As String Dim dblPrice, dblshares, dblBasis, dblValue As Double Dim intStockCOunt, intListCount As Integer Dim exactMatch As Boolean Dim intRow As Integer = 0 ' If the user leaves one of the fields blank, it will produce an error and give focus to that specific ' field. Private Sub btnAddStock_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAddStock.Click If txtTicker.Text = "" Then MessageBox.Show("Oops.. you left Ticker blank", "Ticker Blank") txtTicker.Focus() ElseIf txtShares.Text = "" Then MessageBox.Show("Oops..you left Shares blank", "Shares Blank") txtShares.Focus() ElseIf txtPrice.Text = "" Then MessageBox.Show("Oops..you left Price blank", "Price Blank") txtPrice.Focus() End If 'Line 510 ensures that the three fields are not blank. Do While txtTicker.Text.ToString <> "" And txtShares.Text.ToString <> "" And txtPrice.Text.ToString <> "" ' Converts the number entered in the Price field to a double data type. dblPrice = Convert.ToDouble(txtPrice.Text) ' Converts the number entered in the Shares field to a double data type. dblshares = Convert.ToDouble(txtShares.Text) ' Creates a variable by multiplying Price * Shares dblBasis = dblPrice * dblshares ' Creates a variable by multiplying Price & Shares dblValue = dblPrice * dblshares ' Creates a variable by adding Total Value & Value dblTotalValue = dblTotalValue + dblValue ' Converts the Basis field to a string strBasis = Convert.ToString(dblBasis) ' Converts the Value field to a string strValue = Convert.ToString(dblValue) ' Converts the Total Value field to a string strTotalValue = Convert.ToString(dblTotalValue) ' Creates a new list view item called lviCurrentPort with the first item ' being the Ticker field. lviCurrentPort = New ListViewItem(txtTicker.Text) ' Adds the Basis subitem and converts it to a Currency. lviCurrentPort.SubItems.Add(Format$(strBasis, "Currency")) ' Adds the Shares sub item. lviCurrentPort.SubItems.Add(txtShares.Text) ' Adds the Price sub item and converts it to a Currency. lviCurrentPort.SubItems.Add(Format$(txtPrice.Text, "Currency")) ' Adds the Value sub item and converts it to a Currency. lviCurrentPort.SubItems.Add(Format$(strValue, "Currency")) ' Loop that check each item in the list view box. intListCount = Convert.ToInt32(lstCurrentPort.Items.Count) For intRow = 0 To intListCount - 1 ' If the text in the Ticker field matches any Item in the list view box, an error ' message will display and focus will be given to the Ticker field. strTicker = Convert.ToString(txtTicker.Text) strTickerList = Convert.ToString(lstCurrentPort.Items(intRow).Text) If strTicker = strTickerList Then MessageBox.Show("Duplicate Detected") txtTicker.Text = "" txtShares.Text = "" txtPrice.Text = "" txtTicker.Focus() Else exactMatch = False End If Next If exactMatch = False Then ' Takes the listviewitem created with all the items & subitems and adds it to the ' List View Box called lstCurrentPort lstCurrentPort.Items.Add(lviCurrentPort) ' Once a duplicate is not found, these lines of code will run. txtTotalValue.Text = Format$(strTotalValue, "Currency") txtTicker.Text = "" txtShares.Text = "" txtPrice.Text = "" ' If the lines of code is greater than 10, an error message will display. If lstCurrentPort.Items.Count > 10 Then MessageBox.Show("Trial Version only allows 10 entries") End If End If Loop End Sub