I am new with access database and our database having rounding issues can any one help me here is the Query.
Can any one tell me when i add to total why my total is wrong like one digit up or down.
Code:
Private Sub ComputeInvoice(ciArg As String)
If IsNull(Me.[CustomerID]) Then
MsgBox ("Customer ID required!")
Exit Sub
End If
Dim SUBTOTAL As Double
Dim MATERIALCOST As Double
Dim HOURSTOTAL As Double
Dim TAX As Double
Dim MyDB As Database, MyRS As Recordset
Set MyDB = DBEngine.Workspaces(0).Databases(0)
Set MyRS = MyDB.OpenRecordset("tblcustomers", dbOpenTable)
MyRS.Index = "CustomerID"
MyRS.Seek "=", Me![CustomerID]
Me![CustomerID] = MyRS![CustomerID]
Me!LABORRATE = MyRS![LABORRATE]
MyRS.Close
SUBTOTAL = 0
MATERIALCOST = 0
HOURSTOTAL = 0
'MsgBox Val(materialcost)
If Not IsNull(Me![MAT1]) Then MATERIALCOST = MATERIALCOST + Me!MAT1
If Not IsNull(Me![MAT2]) Then MATERIALCOST = MATERIALCOST + Me!MAT2
If Not IsNull(Me![MAT3]) Then MATERIALCOST = MATERIALCOST + Me!MAT3
If Not IsNull(Me![MAT4]) Then MATERIALCOST = MATERIALCOST + Me!MAT4
If Not IsNull(Me![MAT5]) Then MATERIALCOST = MATERIALCOST + Me!MAT5
If Not IsNull(Me![MAT6]) Then MATERIALCOST = MATERIALCOST + Me!MAT6
If Not IsNull(Me![MAT7]) Then MATERIALCOST = MATERIALCOST + Me!MAT7
If Not IsNull(Me![MAT8]) Then MATERIALCOST = MATERIALCOST + Me!MAT8
If Not IsNull(Me![MAT9]) Then MATERIALCOST = MATERIALCOST + Me!MAT9
If Not IsNull(Me![MAT10]) Then MATERIALCOST = MATERIALCOST + Me!MAT10
If Not IsNull(Me![MAT11]) Then MATERIALCOST = MATERIALCOST + Me!MAT11
If Not IsNull(Me![MAT12]) Then MATERIALCOST = MATERIALCOST + Me!MAT12
If Not IsNull(Me![MAT13]) Then MATERIALCOST = MATERIALCOST + Me!MAT13
If Not IsNull(Me![MAT14]) Then MATERIALCOST = MATERIALCOST + Me!MAT14
If Not IsNull(Me![MAT15]) Then MATERIALCOST = MATERIALCOST + Me!MAT15
If Not IsNull(Me![HOUR1]) Then HOURSTOTAL = HOURSTOTAL + Me!HOUR1
If Not IsNull(Me![HOUR2]) Then HOURSTOTAL = HOURSTOTAL + Me!HOUR2
If Not IsNull(Me![HOUR3]) Then HOURSTOTAL = HOURSTOTAL + Me!HOUR3
If Not IsNull(Me![HOUR4]) Then HOURSTOTAL = HOURSTOTAL + Me!HOUR4
If Not IsNull(Me![HOUR5]) Then HOURSTOTAL = HOURSTOTAL + Me!HOUR5
If Not IsNull(Me![HOUR6]) Then HOURSTOTAL = HOURSTOTAL + Me!HOUR6
If Not IsNull(Me![HOUR7]) Then HOURSTOTAL = HOURSTOTAL + Me!HOUR7
If Not IsNull(Me![HOUR8]) Then HOURSTOTAL = HOURSTOTAL + Me!HOUR8
If Not IsNull(Me![HOUR9]) Then HOURSTOTAL = HOURSTOTAL + Me!HOUR9
If Not IsNull(Me![HOUR10]) Then HOURSTOTAL = HOURSTOTAL + Me!HOUR10
If Not IsNull(Me![HOUR11]) Then HOURSTOTAL = HOURSTOTAL + Me!HOUR11
If Not IsNull(Me![HOUR12]) Then HOURSTOTAL = HOURSTOTAL + Me!HOUR12
If Not IsNull(Me![HOUR13]) Then HOURSTOTAL = HOURSTOTAL + Me!HOUR13
If Not IsNull(Me![HOUR14]) Then HOURSTOTAL = HOURSTOTAL + Me!HOUR14
If Not IsNull(Me![HOUR15]) Then HOURSTOTAL = HOURSTOTAL + Me!HOUR15
Me!totalmaterial = Round(MATERIALCOST, 2)
Me!totalhours = Round(HOURSTOTAL, 2)
Me!totalcost = Round(HOURSTOTAL * LABORRATE, 2)
SUBTOTAL = Round((HOURSTOTAL * LABORRATE), 2) + MATERIALCOST
If Me!TYPE = "LR" Then Me!totalhours = Round((HOURSTOTAL * 1.5), 2)
If Me!TYPE = "LR" Then Me!totalcost = Round((HOURSTOTAL * 73), 2)
If Me!TYPE = "LR" Then SUBTOTAL = Round((HOURSTOTAL * 73), 2) + MATERIALCOST
TAX = 0
Me!invoicetotal = SUBTOTAL + TAX
If ciArg = "C" Then
Exit Sub
Comment