Я не понимаю, какая форма содержит Command24.Вы можете узнать это, временно изменив Command24_Click.
Private Sub Command24_Click()
Debug.Print "'Me' refers to " & Me.Name
Stop
End Sub
Оператор Stop переведет вас в режим прерывания.Затем вы можете использовать Immediate Window, чтобы исследовать варианты пути объекта, пока не найдете тот, который относится к правильной форме.
Однако, учитывая вашу конкретную ситуацию (небольшой опыт работы с VBA и сжатые сроки), я призываю вас перейти на более простой дизайн формы.Спросите себя, должна ли форма поиска обязательно быть встроена в другую форму на странице в элементе управления вкладкой.
Редактировать : Комментарий о схеме присвоения имен был точным, IMO.Видимо, вы согласны, и намерены изменить на значимые имена позже.Если вы сделаете это сейчас, вы можете упростить устранение неполадок.В частности, неохотно вводите название формы, подобной этой:
Forms!test2
«test2» - плохой выбор для имени формы;конечно, вы будете менять это.Итак, пока используйте «Я» для ссылки на форму, которая содержит вашу командную кнопку.Тогда ваш код не сломается, когда вы переименуете форму.Это еще одна деталь, с которой стоит возиться позже.
Все еще не уверены, насколько хорошо я понимаю детали вашей формы, но я предлагаю вам перейти в режим прерывания после настройки фильтра подчиненной формы и проверить, что вы получили то, что хотели.В «Немедленном окне» попробуйте варианты этого:
? Me.Child16.Form.FilterOn
Я сказал варианты, потому что я скептически отношусь к тому, правильно ли я получил путь объекта.Настройте его по мере необходимости.
Edit2 : после того, как ваш код завершит создание strWhere, распечатайте его в Immediate Window, чтобы вы могли подтвердить, что он содержит то, что вы ожидаете (или отобразить его в MsgBox, если выпредпочитайте).
Debug.Print "strWhere: " & strWhere
Edit3 : Вы строите выражение фильтра с помощью таких выражений:
"( Forms!test2!Child16.Form.[testNUm] < " & Me.Text22
Я бы использовал имя поля висточник записи формы слева от символа <. </p>
"([SomeNumberField] < " & Me.Text22