College Park Auto Repair
College Park Auto Repair
The application is used by a fictitious company used to process car repair orders for customers
who bring their cars to the shop. The application mostly uses only text boxes and buttons.
1. Start Microsoft Visual Basic and create a new Windows Application named
CollegeParkAutoRepair3
2. In the Solution Explorer, right-click Form1.vb and click Rename
3. Type RepairOrders.vb and press Enter twice
4. Design the form as follows:
Ado.Net – Data Binding
Page | 2
TextBox TxtCustomerName
Label Address:
TextBox TxtAddress
Label City:
TextBox TxtCity
Label State:
TextBox TxtState
TextBox TxtZIPCode
Label Make/Model:
TextBox TxtMake
Page | 3
TextBox TxtModel
Label Year:
TextBox TxtYear
Problem
Label
Description:
Scrollbars: Vertical
TextBox TxtProblemDescription
Multiline: True
Label Qty
TextBox TxtPart1Name
TextBox TxtPart2Name
TextBox TxtPart3Name
TextBox TxtPart4Name
TextBox TxtPart5Name
Label Price
TextBox TxtJobDescription1
TextBox TxtJobDescription2
TextBox TxtJobDescription3
TextBox TxtJobDescription4
TextBox TxtJobDescription5
Label %
Label Recommendations:
Scrollbars: Vertical
TextBox TxtRecommendations
Multiline: True
Label Receipt #:
TextBox TxtReceiptNumber
Imports System.Data.SqlClient
Connect.Open()
Command.ExecuteNonQuery()
Connect.Open()
Command.ExecuteNonQuery()
MsgBox("A table named RepairOrders has been created")
End Using
End Sub
Handles BtnNewRepairOrder.Click
' This code is used to reset the form
TxtReceiptNumber.Text = "" : TxtCustomerName.Text = ""
TxtAddress.Text = "" : TxtCity.Text = ""
TxtState.Text = "" : TxtZIPCode.Text = ""
TxtCustomerName.Focus()
End Sub
14. Under the above End Sub line, create the following procedure:
Try
Quantity1 = CInt(TxtQuantity1.Text)
Catch ex As Exception
MsgBox("Invalid Quantity")
TxtQuantity1.Text = "0"
TxtQuantity1.Focus()
End Try
End If
Try
Quantity2 = CInt(TxtQuantity2.Text)
Catch ex As Exception
MsgBox("Invalid Quantity")
TxtQuantity2.Text = "0"
TxtQuantity2.Focus()
End Try
End If
TxtUnitPrice3.Text = "0.00"
TxtQuantity3.Text = "0"
TxtSubTotal3.Text = "0.00"
UnitPrice3 = 0.0
Else
Try
UnitPrice3 = CDbl(TxtUnitPrice3.Text) Page | 10
Catch ex As Exception
MsgBox("Invalid Unit Price")
TxtUnitPrice3.Text = "0.00"
TxtUnitPrice3.Focus()
End Try
Try
Quantity3 = CInt(TxtQuantity3.Text)
Catch ex As Exception
MsgBox("Invalid Quantity")
TxtQuantity3.Text = "0"
TxtQuantity3.Focus()
End Try
End If
Try
Quantity4 = CInt(TxtQuantity4.Text)
Catch ex As Exception
MsgBox("Invalid Quantity")
TxtQuantity4.Text = "0"
TxtQuantity4.Focus()
End Try
End If
TxtUnitPrice5.Focus()
End Try
Try
Quantity5 = CInt(TxtQuantity5.Text)
Catch ex As Exception
MsgBox("Invalid Quantity") Page | 11
TxtQuantity5.Text = "0"
TxtQuantity5.Focus()
End Try
End If
' Don't bill the customer for a job that is not specified
If TxtJobDescription1.Text = "" Then
TxtJobPrice1.Text = "0.00"
JobPrice1 = 0.0
Else
Try
JobPrice1 = CDbl(TxtJobPrice1.Text)
Catch ex As Exception
Else
Try
JobPrice4 = CDbl(TxtJobPrice4.Text)
Catch ex As Exception
MsgBox("Invalid Job Price")
TxtJobPrice4.Text = "0.00"
TxtJobPrice4.Focus() Page | 12
End Try
End If
Try
JobPrice5 = CDbl(TxtJobPrice5.Text)
Catch ex As Exception
MsgBox("Invalid Job Price")
TxtJobPrice5.Text = "0.00"
TxtJobPrice5.Focus()
End Try
End If
TxtSubTotal1.Text = FormatCurrency(SubTotal1)
TxtSubTotal2.Text = FormatCurrency(SubTotal2)
TxtSubTotal3.Text = FormatCurrency(SubTotal3)
TxtSubTotal4.Text = FormatCurrency(SubTotal4)
TxtSubTotal5.Text = FormatCurrency(SubTotal5)
Try
TaxRate = CDbl(TxtTaxRate.Text)
Catch ex As Exception
MsgBox("Invalid Tax Rate")
TxtTaxRate.Text = "7.75"
TxtTaxRate.Focus()
End Try
TxtTotalParts.Text = FormatCurrency(TotalParts)
TxtTotalLabor.Text = FormatCurrency(TotalLabor)
Ado.Net – Data Binding
TxtTaxAmount.Text = FormatCurrency(TaxAmount)
TxtTotalOrder.Text = FormatCurrency(TotalOrder)
End Sub
15. Under the above End Sub line, implement the following event:
Page | 13
Private Sub ControlLeave(ByVal sender As Object, _
ByVal e As EventArgs) _
Handles TxtUnitPrice1.Leave, _
TxtUnitPrice2.Leave, _
TxtUnitPrice3.Leave, _
TxtUnitPrice4.Leave, _
TxtUnitPrice5.Leave, _
TxtQuantity1.Leave, _
TxtQuantity2.Leave, _
TxtQuantity3.Leave, _
TxtQuantity4.Leave, _
TxtQuantity5.Leave, _
TxtJobPrice1.Leave, _
TxtJobPrice2.Leave, _
TxtJobPrice3.Leave, _
TxtJobPrice4.Leave, _
TxtJobPrice5.Leave, _
TxtTaxRate.Leave
' When one of the above controls looses focus, (re)calculate the
order
CalculateOrder()
End Sub
Connect.Open()
cmdCleaningOrders.ExecuteNonQuery()
MsgBox("The record has been saved")
BtnNewRepairOrder_Click(sender, e)
End Using
End Sub
If strReceiptNumber.Length = 0 Then
MsgBox("You open a repair order, " & _
"enter its receipt number and click Open.")
Exit Sub
End If
"Integrated Security=yes")
Connect.Open()
While rdrRepairOrder.Read()
TxtCustomerName.Text = rdrRepairOrder.GetString(1)
TxtAddress.Text = rdrRepairOrder.GetString(2)
TxtCity.Text = rdrRepairOrder.GetString(3)
TxtState.Text = rdrRepairOrder.GetString(4)
TxtZIPCode.Text = rdrRepairOrder.GetString(5)
TxtMake.Text = rdrRepairOrder.GetString(6)
TxtModel.Text = rdrRepairOrder.GetString(7)
TxtCarYear.Text = rdrRepairOrder.GetSqlInt16(8).ToString()
TxtProblemDescription.Text = rdrRepairOrder.GetString(9)
TxtPart1Name.Text = rdrRepairOrder.GetString(10)
TxtUnitPrice1.Text = rdrRepairOrder.GetSqlMoney(11).ToString()
TxtQuantity1.Text = rdrRepairOrder.GetSqlByte(12).ToString()
TxtSubTotal1.Text = rdrRepairOrder.GetSqlMoney(13).ToString()
TxtPart2Name.Text = rdrRepairOrder.GetString(14)
TxtUnitPrice2.Text = rdrRepairOrder.GetSqlMoney(15).ToString()
TxtQuantity2.Text = rdrRepairOrder.GetSqlByte(16).ToString()
TxtSubTotal2.Text = rdrRepairOrder.GetSqlMoney(17).ToString()
TxtPart3Name.Text = rdrRepairOrder.GetString(18)
TxtUnitPrice3.Text = rdrRepairOrder.GetSqlMoney(19).ToString()
TxtQuantity3.Text = rdrRepairOrder.GetSqlByte(20).ToString()
TxtSubTotal3.Text = rdrRepairOrder.GetSqlMoney(21).ToString()
TxtPart4Name.Text = rdrRepairOrder.GetString(22)
TxtUnitPrice4.Text = rdrRepairOrder.GetSqlMoney(23).ToString()
TxtQuantity4.Text = rdrRepairOrder.GetSqlByte(24).ToString()
TxtSubTotal4.Text = rdrRepairOrder.GetSqlMoney(25).ToString()
TxtPart5Name.Text = rdrRepairOrder.GetString(26)
TxtUnitPrice5.Text = rdrRepairOrder.GetSqlMoney(27).ToString()
TxtQuantity5.Text = rdrRepairOrder.GetSqlByte(28).ToString()
TxtSubTotal5.Text = rdrRepairOrder.GetSqlMoney(29).ToString()
TxtJobDescription1.Text = rdrRepairOrder.GetString(30)
TxtJobPrice1.Text = rdrRepairOrder.GetSqlMoney(31).ToString()
TxtJobDescription2.Text = rdrRepairOrder.GetString(32)
TxtJobPrice2.Text = rdrRepairOrder.GetSqlMoney(33).ToString()
TxtJobDescription3.Text = rdrRepairOrder.GetString(34)
TxtJobPrice3.Text = rdrRepairOrder.GetSqlMoney(35).ToString()
Ado.Net – Data Binding
TxtJobDescription4.Text = rdrRepairOrder.GetString(36)
TxtJobPrice4.Text = rdrRepairOrder.GetSqlMoney(37).ToString()
TxtJobDescription5.Text = rdrRepairOrder.GetString(38)
TxtJobPrice5.Text = rdrRepairOrder.GetSqlMoney(39).ToString()
TxtTotalParts.Text = rdrRepairOrder.GetSqlMoney(40).ToString()
TxtTotalLabor.Text = rdrRepairOrder.GetSqlMoney(41).ToString() Page | 17
TxtTaxRate.Text = rdrRepairOrder.GetSqlDecimal(42).ToString()
TxtTaxAmount.Text = rdrRepairOrder.GetSqlMoney(43).ToString()
TxtTotalOrder.Text = rdrRepairOrder.GetSqlMoney(44).ToString()
TxtRecommendations.Text = rdrRepairOrder.GetString(45)
End While
rdrRepairOrder.Close()
End Using
End Sub
Page | 18