Public Sub AddToList(strFormName, strItem, NewData, Response) '--------------------------------------------------------------------------------------- ' Procedure : AddToList ' Date : 10/31/2004 Revised ' Author : Arvin Meyer ' Purpose : Generic Not In List Code ' Usage : AddToList "YourFormName", "YourComboItem" NewData, Response '--------------------------------------------------------------------------------------- On Error GoTo Error_Handler Dim intNewItem As Integer Dim strMsgText As String Dim intMsgArg As Integer Dim strTitle As String strMsgText = "This " & strItem & " is not in the list. Do you want to add a new " & strItem & "?" intMsgArg = vbYesNo + vbQuestion + vbDefaultButton1 strTitle = "Not In This List" intNewItem = MsgBox(strMsgText, intMsgArg, strTitle) If intNewItem = vbYes Then DoCmd.RunCommand acCmdUndo DoCmd.OpenForm strFormName, acNormal, , , acFormAdd, acDialog, NewData Response = acDataErrAdded End If Exit_Here: Exit Sub Error_Handler: Call ErrorLog("basUtilities", "AddToList") Resume Exit_Here End Sub Public Function ErrorLog(objName As String, routineName As String) Dim db As DAO.Database Set db = CurrentDb Open "C:\Error.log" For Append As #1 Print #1, Format(Now, "mm/dd/yyyy, hh:nn:ss") & ", " & db.Name & vbCrLf & _ "An error occured in: " & objName & ", Procedure: " & routineName & vbCrLf & _ "User: " & CurrentUser() & ", Error#: " & Err.Number & ": " & Err.Description Close #1 End Function To use the code, enter a single line in the NotInList event: Private Sub cboCustomerID_NotInList(NewData As String, Response As Integer) AddToList "frmCustomers", "Customer", NewData, Response End Sub Then in frmCustomers, make the first control in the tab order the field with the NewData and use the following: Private Sub txtCustomerName_GotFocus() On Error Resume Next If Me.NewRecord = True Then Me.txtCustomerName = Me.OpenArgs Me.txtCustomerName.SelStart = Me.txtCustomerName.SelLength + 1 End If End Sub