Пересмотрите свои нулевые сравнения. В качестве одного примера рассмотрим этот фрагмент из вашего условия If :
Me.Title <> null
Ничто не может быть "не равно" нулю, как ничто не может быть "равно" нулю. Даже другой Null не может быть равен Null (или не равен Null).
Так что, если Me.Title имеет значение Null или содержит ненулевое значение, это выражение вернет значение Null. Вы хотите выражение, которое возвращает либо True, либо False. Используйте функцию IsNull ().
If Not IsNull(Me.Title) Then
'do what you want for a non-Null Title here '
End If
Для вашего требования «открыть это конкретное f_Eval» используйте аргумент WhereCondition с OpenForm Method . Вот пример, скопированный с этой связанной страницы. Он откроет форму с именем Employees и ограничит источник записи формы теми строками, где LastName имеет значение «King».
DoCmd.OpenForm "Employees", , ,"LastName = 'King'"
Таким образом, OpenForm WhereCondition похож на предложение WHERE в запросе без слова WHERE.