Usar recordset en una sentencia sql para access (vba)
Estoy desarrollando una macro para access con vba.
Tengo un cuadro combinado (como un combobox) en un formulario. Este formulario consta de varios campos y de varios subformularios. Quiero que al seleccionar un valor del cuadro combinado se filtre todo el formulario (con los subformularios asociados) según ese valor.
Lo había logrado con la propiedad Filter y FilterOn, pero al hacer la consulta salía una pop-up que a mi jefe no le gustaba y me ha dicho que cambie el código.
Ahora en vez de hacerlo con Filter, me he construido la sentencia SQL en VBA pero no se como aplicar el filtro al seleccionar el valor. Creo que la solución estaría en aplicar la propiedad RecordSource, pero en los ejemplos que he encontrado se refieren a aplicarla desde un formulario a un subformulario, no a todo el formulario, incluidos los subformularios y no se muy bien como adaptarla... ¿me podéis ayudar?
Mi código es:
Private Sub comboCruises_Change()
Dim sqlCompletaSelect As String
' Construyo la parte del SELECT de la sentencia SQL
Dim sqlCompletaFrom As String
' Construyo la parte del FROM de la sentencia SQL
Dim where As String
'Construyo la parte del WHERE de la sentencia SQL
where = Me.comboCruises.Value
Dim sqlCompleta As String
'Compongo la sentencia SQL. La he tenido que partir en varias partes porque al ser demasiado larga, me daba error.
sqlCompleta = sqlCompletaSelect & sqlCompletaFrom & where & ";"
'Aquí es donde creo que debería tener el código con RecordSource para aplicar el filtro
End Sub