Access - Consultas con criterios condicionadas

 
Vista:
sin imagen de perfil
Val: 56
Ha disminuido 1 puesto en Access (en relación al último mes)
Gráfica de Access

Consultas con criterios condicionadas

Publicado por Leandro (21 intervenciones) el 29/08/2018 23:14:01
Estimados escribo nuevamente para evacuar una duda, tengo una Consulta a la cual accedo a través de un formulario, el cual me filtra la consulta.
Consulta de agentes por Servicios, en el Formulario se ingresa el Servicio y la consulta me devuelve todos los agentes de ese Servicio.
La consulta es: quisiera, si se puede, que cuando el campo Servicio del Formulario este vacío, la consulta me muestre todos los agentes sin importar el servicio.
¿Se puede hacer esto?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 20
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Consultas con criterios condicionadas

Publicado por Marcelo (12 intervenciones) el 30/08/2018 15:12:36
Para salir del paso sin usar mucho código haría 2 consultas parecidas una con criterio y la otra sin criterio para filtrar los servicios, luego condicionaría la apertura de cada consulta según el estado del cuadro combinado (supongo que así eliges los Servicios)

If IsNull(CbxIdServicio.Value) Or CbxIdServicio.Value = "" Then

DoCmd.OpenQuery "ConsultaSINSevicioSeleccionado", acViewNormal

Else

DoCmd.OpenQuery "ConsultaCONSevicioSeleccionado", acViewNormal

End If

Hay otras alternativas...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Consultas con criterios condicionadas

Publicado por Anonimo (3316 intervenciones) el 30/08/2018 16:22:09
Si publicas la SQL de esa consulta, es muy probable que sin nada de código obtengas una solución.

Una pista para lograrlo es que el asterisco (*) engloba a todo el conjunto (equivaldría a no aplicar filtro)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 56
Ha disminuido 1 puesto en Access (en relación al último mes)
Gráfica de Access

Consultas con criterios condicionadas

Publicado por Leandro (21 intervenciones) el 01/09/2018 23:16:30
El código SQL de la consulta es:
1
2
3
4
SELECT Agente_Servicio.Servicio, Agente_Servicio.DNI, [Apellidos] & ", " & [Nombres] AS Agente, Profesiones.Profesion, Especialidades.Especialidad, Funciones.Funcion, Escalafones.Ley, Situacion_Revista.Descripcion, Cargos.Id_Grupo, Agentes.IdEGNCH, Agente_Servicio.Fecha_Inicio
FROM Situacion_Revista INNER JOIN (Profesiones INNER JOIN (Funciones INNER JOIN (Especialidades INNER JOIN (Escalafones INNER JOIN (Cargos INNER JOIN ((Agentes INNER JOIN Agente_Servicio ON Agentes.DNI = Agente_Servicio.DNI) INNER JOIN AgenteCargo ON Agentes.DNI = AgenteCargo.DNI) ON Cargos.Id_Cargo = AgenteCargo.IdCargos) ON (Escalafones.Escalafon = Cargos.Id_Escalafon) AND (Escalafones.Escalafon = Cargos.Id_Escalafon)) ON Especialidades.Especialidad = Agentes.Especialidad) ON Funciones.Funcion = Agentes.Funcion) ON Profesiones.Profesion = Agentes.Profesion) ON Situacion_Revista.IdSit_Revista = AgenteCargo.IdSitRev
GROUP BY Agente_Servicio.Servicio, Agente_Servicio.DNI, [Apellidos] & ", " & [Nombres], Profesiones.Profesion, Especialidades.Especialidad, Funciones.Funcion, Escalafones.Ley, Situacion_Revista.Descripcion, Cargos.Id_Grupo, Agentes.IdEGNCH, Agente_Servicio.Fecha_Inicio, Agente_Servicio.Fecha_Fin, AgenteCargo.Fecha_Fin, Agentes.Fecha_Baja
HAVING (((Agente_Servicio.Servicio)=[Formularios]![FormFiltroConsultaAgentesServicios]![ccServicios]));

Tengo un Formulario (en blanco que se llama FormFiltroConsultaAgentesServicios) en donde se ingresa el servicio (ccServicios) que filtra a un subformulario (FormConsultaAgentesServicios que es un Formulario de la Consulta ConsultaAgentesServicios).

Funciona cuando se ingresa un valor a ccServicios, la idea es que cuando este campo este vacío me muestre todos los agentes como si no estuviera filtrando, o usara el *.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar