Фильтрация подчиненной формы по текстовому полю с оператором Like (DAO и ADO)
Где: 
      Me!txtSearch = Текстовое поле с искомым текстом  
      Me!objSubForm.Form = ссылка на обьект - Подчиненная форма  
"Вешаем" все это на событие AfterUpdate - поля с искомым текстом ... 
 
 
 Private Sub txtSearch_AfterUpdate() Dim val As Variant Dim strFilter As String On Error GoTo txtSearch_AfterUpdateErr     val = Me!txtSearch          If IsNull(val) = False Then  
 
         Me!objSubForm.Form.FilterOn = False          
 
         strFilter = "[Имя поля по которому ищем] Like '*" & val & "*'" 
 
                  Me!objSubForm.Form.Filter = strFilter         Me!objSubForm.Form.FilterOn = True         Me!objSubForm.SetFocus     Else                  Me!objSubForm.Form.Filter = ""         Me!objSubForm.Form.FilterOn = False         Me!objSubForm.SetFocus     End If 
 
 
 
 txtSearch_AfterUpdateBye:     Exit Sub 
 
 txtSearch_AfterUpdateErr:     MsgBox "Error " & Err.Number & vbCrLf & Err.Description & vbCrLf & _     "in procedure txtSearch_AfterUpdate", vbCritical, "Error!"     Resume txtSearch_AfterUpdateBye End Sub 
 
 
 
 
 
 
  
 
 
Private Sub txtSearch_AfterUpdate() '-------------------------------------------------------------------------- Dim val As Variant, strFilter$      On Error GoTo txtSearch_AfterUpdate_Err          val = Me!txtSearch          With Me!objSubForm.Form              If IsNull(val) = False Then              strFilter = "part_code Like '*" & val & "*' OR part_name Like '*" & val & "*'"             .Recordset.Filter = adFilterNone             .Recordset.Filter = strFilter         Else             .Recordset.Filter = adFilterNone         End If         Set .Recordset = .Recordset     End With 
 
 txtSearch_AfterUpdate_Bye:     Exit Sub 
 
 txtSearch_AfterUpdate_Err:     MsgBox "Ошибка " & Err.Number & vbCrLf & Err.Description & vbCrLf & "в процедуре: txtSearch_AfterUpdate", vbCritical, "Error"     Resume txtSearch_AfterUpdate_Bye End Sub 
 
 
  
	 |