Hola Icue, gracias por la respuesta tan rápida.
El filtro me funciona bien, y los subformularios (sin el filtro también), es cuando aplico el filtro que se me desordenan.
Podria provar de añadir el order by, pero no se dónde dado que cada subformulario se ordena por campos distintos. Yo lo que quiero es que no me pierdan el orden que tenian.
Te paso el filtro que uso y como tengo configurado uno de mis subformularios:
Mi filtro:
Private Sub Familia_Click()
'Creo una variable para guardar el filtro por Familia
sFiltro As String
Dim sFamilia As String
'Construyo la cadena para filtrar por Familia
If Not IsNull(Me.Familia) And Me.Familia <> "" Then
sFamilia = "Familia LIKE '" & Me.Familia & "'"
Else
sFamilia = ""
End If
Me.Subfamilia.Requery
' construyo el filtro final que se enviará al subformulario.
If sFamilia <> "" Then
sFiltro = sFamilia
End If
'Y a partir de aquí, si la variable sFiltro no está vacía se la aplico al subformulario
If sFiltro <> "" Then
'Asigno la varaible a la propiedad Filter del subformulario
Me.Form.Filter = sFiltro
'Le digo al subformulario que active el filtro que previamente he asignado.
Me.Form.FilterOn = True
Else
Me.Form.FilterOn = False
End If
End Sub
Y uno de mis subformularios:
Gracias.