Is there an easier & more efficient way to write this code?
Code:
Private Sub cmdClose_Click()
On Error GoTo Err_cmdClose_Click
Dim CurrentRow As Integer
Dim ctlSource As Control
Dim CustID As Integer
Dim myRS As Recordset
Dim myDB As Database
Dim strSQL As String
Dim varCriteria As String
Dim TripID As Integer
Dim Ans As String
'******************************************************************************************************************
'******************************************************************************************************************
Set myDB = CurrentDb
Set ctlSource = Me!CustList
Set myRS = myDB.OpenRecordset("tTripCustomer")
TripID = Me!tcTID
Ans = ""
For intCurrentRow = 1 To ctlSource.ListCount - 1
If ctlSource.Selected(intCurrentRow) Then
CustID = ctlSource.Column(0, intCurrentRow)
varCriteria = "[tcCID]=" & CustID & " AND [tcTID]=" & TripID
If myRS.RecordCount <= 0 Then
MsgBox "No Customers to Edit!"
Else
myRS.FindFirst varCriteria
'tcAmtDue
If IsNull(Me!tcAmtDue) = False Then
If Me!tcAmtDue = 0 Then
Ans = MsgBox("Do you want to set the 'AMOUNT DUE' to $0.00?", vbYesNo, "AMOUNT DUE")
If Ans = 6 Then
myRS.LockEdits = True
myRS.Edit
myRS("tcAmtDue") = 0
myRS.Update
myRS.LockEdits = False
End If
Ans = ""
Else
myRS.LockEdits = True
myRS.Edit
myRS("tcAmtDue") = Me!tcAmtDue
myRS.Update
myRS.LockEdits = False
End If
End If
'tcPytMethod
If IsNull(Me!tcPytMethod) = False Then
myRS.LockEdits = True
myRS.Edit
myRS("tcPytMethod") = Me!tcPytMethod
myRS.Update
myRS.LockEdits = False
End If
'tcDepositAmt
If IsNull(Me!tcDepositAmt) = False Then
If Me!tcDepositAmt = 0 Then
Ans = MsgBox("Do You want to set the 'DEPOSIT AMOUNT' to $0.00?", vbYesNo, "DEPOSIT AMOUNT")
If Ans = 6 Then
myRS.LockEdits = True
myRS.Edit
myRS("tcDepositAmt") = 0
myRS.Update
myRS.LockEdits = False
End If
Ans = ""
Else
myRS.LockEdits = True
myRS.Edit
myRS("tcDepositAmt") = Me!tcDepositAmt
myRS.Update
myRS.LockEdits = False
End If
End If
'tcBrochure
If IsNull(Me!tcBrochure) = False Then
myRS.LockEdits = True
myRS.Edit
myRS("tcBrochure") = Me!tcBrochure
myRS.Update
myRS.LockEdits = False
End If
'tcInvoice1
If IsNull(Me!tcInvoice1) = False Then
myRS.LockEdits = True
myRS.Edit
myRS("tcInvoice1") = Me!tcInvoice1
myRS.Update
myRS.LockEdits = False
End If
'tcRelease
If IsNull(Me!tcRelease) = False Then
myRS.LockEdits = True
myRS.Edit
myRS("tcRelease") = Me!tcRelease
myRS.Update
myRS.LockEdits = False
End If
'tcTravelIns
If IsNull(Me!tcTravelIns) = False Then
myRS.LockEdits = True
myRS.Edit
myRS("tcTravelIns") = Me!tcTravelIns
myRS.Update
myRS.LockEdits = False
End If
'tcVisaApp
If IsNull(Me!tcVisaApp) = False Then
myRS.LockEdits = True
myRS.Edit
myRS("tcVisaApp") = Me!tcVisaApp
myRS.Update
myRS.LockEdits = False
End If
'tcInvoiceF
If IsNull(Me!tcInvoiceF) = False Then
myRS.LockEdits = True
myRS.Edit
myRS("tcInvoiceF") = Me!tcInvoiceF
myRS.Update
myRS.LockEdits = False
End If
'tcVouchers
If IsNull(Me!tcVouchers) = False Then
myRS.LockEdits = True
myRS.Edit
myRS("tcVouchers") = Me!tcVouchers
myRS.Update
myRS.LockEdits = False
End If
'tcFlyShop
If IsNull(Me!tcFlyShop) = False Then
myRS.LockEdits = True
myRS.Edit
myRS("tcFlyShop") = Me!tcFlyShop
myRS.Update
myRS.LockEdits = False
End If
'tcDepositRec
If IsNull(Me!tcDepositRec) = False Then
myRS.LockEdits = True
myRS.Edit
myRS("tcDepositRec") = Me!tcDepositRec
myRS.Update
myRS.LockEdits = False
End If
'tcTrackNoDPyt
If IsNull(Me!tcTrackNoDPyt) = False Then
myRS.LockEdits = True
myRS.Edit
myRS("tcTrackNoDPyt") = Me!tcTrackNoDPyt
myRS.Update
myRS.LockEdits = False
End If
'tcReleaseRec
If IsNull(Me!tcReleaseRec) = False Then
myRS.LockEdits = True
myRS.Edit
myRS("tcReleaseRec") = Me!tcReleaseRec
myRS.Update
myRS.LockEdits = False
End If
'tcFinalPytRec
If IsNull(Me!tcFinalPytRec) = False Then
myRS.LockEdits = True
myRS.Edit
myRS("tcFinalPytRec") = Me!tcFinalPytRec
myRS.Update
myRS.LockEdits = False
End If
'tcTrackNoFPyt
If IsNull(Me!tcTrackNoFPyt) = False Then
myRS.LockEdits = True
myRS.Edit
myRS("tcTrackNoFPyt") = Me!tcTrackNoFPyt
myRS.Update
myRS.LockEdits = False
End If
End If
End If
Next intCurrentRow
'******************************************************************************************************************
'******************************************************************************************************************
' Close Form
DoCmd.Close
' Close DB and RS; Set RS to Nothing
myRS.Close
myDB.Close
Set myRS = Nothing
Exit_cmdClose_Click:
Exit Sub
Err_cmdClose_Click:
MsgBox Err.Description
Resume Exit_cmdClose_Click
End Sub