I modified Save event based on your suggestion.
Code:
Private Sub btnSaveClose_Click()
Dim d As DAO.Database
Dim r As DAO.Recordset
'Caption ?Save" or :Close"??
If Me.btnSaveClose.Caption = "Close" Then
'close form
DoCmd.Close acForm, Me.Name
Else
Set d = CurrentDb
Set r = d.OpenRecordset("tblRequests", dbOpenDynaset, dbInconsistent)
With Me
If Len(Trim(Me.cboDevice)) > 0 And Me.cboDevice <> 0 Then
!DeviceID = Me.cboDevice
End If
If Len(Trim(Me.txtReqDate)) > 0 Then
!RequestDate = Me.txtReqDate
End If
If Len(Trim(Me.cboDepartment)) > 0 Then
!DepartmentID = Me.cboDepartment
End If
If Len(Trim(Me.txtFirstName)) > 0 Then
!FirstName = Me.txtFirstName
End If
If Len(Trim(Me.txtLastName)) > 0 Then
!LastName = Me.txtLastName
End If
If Nz(Me.txtTicketNo, 0) > 0 Then
!TicketNo = Me.txtTicketNo
End If
If Nz(Me.txtAmount, 0) > 0 Then
!Amount = Me.txtAmount
End If
If Len(Trim(Me.cboLocation)) > 0 And Me.cboLocation <> 0 Then
!LocationID = Me.cboLocation
End If
If VerifyFields Then
!DeviceID = Me.cboDevice
!RequestDate = Me.txtReqDate
!FirstName = Me.txtFirstName
!LastName = Me.txtLastName
!DepartmentID = Me.cboDepartment
!TicketNo = Me.txtTicketNo
!Amount = Me.txtAmount
!LocationID = Me.cboLocation
r.Close
'clear controls
With Me
Me.cboBrand = Null
Me.cboDeviceType = Null
Me.cboFacility = Null
Me.cboBuilding = Null
Me.cboWing = Null
Me.cboFloor = Null
End With
DoCmd.GoToRecord , , acNewRec
Set r = Nothing
Set d = Nothing
Else
MsgBox "Please fill in the highlighted fields."
End If
End With
End If
Form_fInventory.lstRequest.Requery
Form_fInventory.lstRequest = Me.RequestID
End Sub
Is now looks correct?
Thanks