Filtrar con dos Criterios Formulario y Subformulario Access VBA

Deseo abrir un formulario con filtro de dos criterios con una no tengo problema, pero la segunda no se me ocurre como hacerla. Uno es el filtro por usuario y el otro es la fecha pero que se encuentra en un subformulario.

DoCmd.OpenForm "frm_AgendaMedica", , Id = Codigo And Forms![frm_AgendaMedica]![frm_AgendaMedica1]![Fecha] = Date,

¿Alguien sabe cómo podría hacerlo?

2 respuestas

Respuesta
2

Si los nombres son los que citas >> los criterios ponlos así

"Id = " & Codigo & " AND " & "Forms![frm_AgendaMedica]![frm_AgendaMedica1]!Fecha = " & Date

Mis saludos >> Jacinto

No te cuento, no me filtra ninguno de los campos y no entiendo por qué, alguna otra idea?

Sin conocer el conjunto, de forma aislada es difícil aventurar una solución.

¿Te abre el Formulario? y si es así ¿Qué te muestra? Saludos >> Jacinto

Si me abre pero no filtra ningún campo, estoy abriéndolo desde una ventana de acceso de usuarios, el campo código lo he declarado así:

Dim Codigo As Integer
Codigo = DLookup("Id", "tbl_Medicos", "Usuario = '" & Me.txtUsuario.Value & "'")
DoCmd.Close
DoCmd.OpenForm "frm_AgendaMedica", , "Id = " & Codigo & " AND " & "Forms![frm_AgendaMedica]![frm_AgendaMedica1]!Fecha = " & Date

Ya he logrado filtrar por el Id, estaba cometiendo el error de cerrar antes el formulario del login, pero no filtra la fecha.  Creo que leí en algún lado que las fechas deben ir con ##, pero no lo recuerdo bien o es en sql.

Sin acabar de ver el tema en su contexto, para el formato de fechas y la construcción de los Filtros, te propongo el siguiente código un poco desglosado, para un mejor seguimiento en el Paso a Paso.

Dim Frm As Form
Dim Codigo As Integer
Dim FiltroFecha As String, FiltroTotal As String
Codigo = DLookup("Id", "tbl_Medicos", "Usuario = '" & Me.txtUsuario.Value & "'")
SetFrm =  Forms![frm_AgendaMedica]![frm_AgendaMedica1].Form
FiltroFecha = "#" & Format(Nz(Frm.Fecha, #1/1/1900#), "mm/dd/yyyy") & "#" = "#" & Format(Date, "mm/dd/yyyy") & "#"
FiltroTotal = Codigo & “ AND “ FiltroFecha
DoCmd.OpenForm "frm_AgendaMedica", , FiltroTotal
Set Frm = Nothing

Espero te ayude. Ya me contarás. Saludos >> Jacinto

Respuesta
2

Ponlo como forms! Nombreformulario! Nombresubformulario.form! Fecha

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas