Как я понял Вы пытаетесь ввести в таблицу со стороны многие значение которого нет в главной таблице. Не рекомендую делать посимвольную проверку т.к фамилии могут быть Сахаров,Сахаревич,Сахарович ну и т.д,
Фамилия же Иванов повторится пренепременно, поэтому в поле со списком надо выводить что-то уникальное (например серию и номер паспорта)
Если все так вот пример (естественно для творческого подхода):
Private Sub кодТипа_NotInList(NewData As String, Response As Integer)
' Добавляет новый тип при вводе с клавиатуры
' в поле со списком "кодТипа"
Dim intNewCategory As Integer, intTruncateName As Integer, strTitle As String, intMsgDialog As Integer
'выводит окно сообщения с приглашением подтвердить
'добавление нового типа
strTitle = "Тип отсутствует в списке"
intMsgDialog = vbYesNo + vbQuestion + vbDefaultButton1
intNewCategory = MsgBox("Добавить новый тип?", intMsgDialog, strTitle)
If intNewCategory = vbYes Then
' Удаляет новое имя из поля кодТипа, позволяя выполнить
' обновление элемента управления при возвращении в форму.
DoCmd.RunCommand acCmdUndo
' открывает форму "ДобавлениеТипа".
DoCmd.OpenForm "ДобавлениеТипа", acNormal, , , acAdd, acDialog, NewData
' продолжение без вывода стандартного сообщения.
Response = acDataErrAdded
End If
End SubА событие "отсутствие в списке" есть у поля со списком куда вводим значение