Option Explicit
Dim WithEvents frmNewPers As Access.Form
Dim WithEvents frmEditPers As Access.Form
Private Sub cboNameSelect_KeyDown(KeyCode As Integer, Shift As Integer)
Me.cboNameSelect.Dropdown
End Sub
Private Sub cboNameSelect_NotInList(NewData As String, Response As Integer)
If MsgBox("The name you entered is not in the current database. Add new person?", vbYesNo, "Name not in database") _
= vbYes Then DoCmd.OpenForm "EnterNewPerson", , , , acFormAdd, acWindowNormal
Response = acDataErrContinue
Set frmNewPers = Forms("EnterNewPerson")
frmNewPers.OnClose = "[Event Procedure]"
If Me.Dirty Then Me.Undo
End Sub
Private Sub cmdEditPerson_Click()
DoCmd.OpenForm "EditPerson", acNormal, , "PersonID = Forms!EditItem!SubFrmEditAssociatedPerson.Form!PersonIDFK", acFormEdit, acWindowNormal
Set frmEditPers = Forms("EditPerson")
frmEditPers.OnClose = "[Event Procedure]"
End Sub
Private Sub cboRecordSearch_AfterUpdate()
Dim Criteria As String
Criteria = Me.cboRecordSearch
DoCmd.GoToControl "FamilyName"
DoCmd.GoToRecord acActiveDataObject, , acFirst
DoCmd.FindRecord Criteria, acAnywhere, , acSearchAll, , acCurrent
Me.cboNameSelect.SetFocus
Me.cboRecordSearch = ""
End Sub
Private Sub Form_Error(DataErr As Integer, Response As Integer)
Select Case DataErr
Case Is = 3022
Err.Clear
Response = acDataErrContinue
If MsgBox("Person already selected", vbOKOnly) = vbOK Then Me.Undo
End Select
End Sub
Private Sub cmdAddNewPerson_Click()
Me.txtName.Undo
Me.cboNameSelect.Undo
DoCmd.OpenForm "EnterNewPerson", , , , acFormAdd
Set frmNewPers = Forms("EnterNewPerson")
frmNewPers.OnClose = "[Event Procedure]"
End Sub
Private Sub CmdSortSubfrmAZ_Click()
Me.OrderBy = "FamilyName, GivenName"
Me.OrderByOn = True
End Sub
Private Sub txtName_Enter()
Me.cboNameSelect.SetFocus
End Sub
Private Sub frmNewPers_Close()
Me.cboNameSelect.Requery
Me.cboNameSelect = frmNewPers.PersonID
Me.PageNumbers.SetFocus
End Sub
Private Sub frmEditPers_Close()
Me.cboNameSelect.Requery
Me.PageNumbers.SetFocus
End Sub