Consulta entre fechas más cuadro combinado

Tengo una consulta con una condición entre fechas y un cuadro combinado que es la siguiente

((([Trat Interno].Resp = [Formularios]![FrmVencEntreFechas]![CCdoResp]))) AND ((([Trat Interno].FechaVenc) Between [Formularios]![FrmVencEntreFechas]![TxtFecha1] And [Formularios]![FrmVencEntreFechas]![TxtFecha2]))

Funciona perfecto pero yo quiero que además, cuando no elija ningún Resp en el CCdo me traiga todos los Resp entre las fechas seleccionadas, y aquí es donde no lo puedo lograr.

Agregué un OR pero se invierte la consulta, es decir, me trae todos los Resp entre fechas pero no respeta al que elegí.

2 respuestas

Respuesta
1

Tabaré, si dices que funciona lo creeré pero honestamente no entiendo nada. ¿Un cuadro combinado en una consulta?. ¿Qué un campo Resp sea igual a otro(ccdoresp) y que además sea igual a un valor entre fechas?

De todas formas, tal como lo planteas puedes poner

If not isnull ([ccdores]) then

lo que tenias puesto

else

lo mismo pero solo la instrucción entre fechas

end if

Hola Icue, está bien porque mis preguntas siempre son complicadas (difícil para explicarlas), pero bueno, la cosa es así:

en un formulario (FrmVencEntreFechas) tengos dos TxtBox y un CCdo. En TxtFecha1 pongo la fecha "desde", y en TxtFecha2 la fecha "hasta". En el CuadroCombinado están los Resp que tomo de una lista de valores (son nombres de personas).

Bien, cuando en el formulario pongo las dos fechas y el Resp  corre la consulta (a través de un Botón con evento Me.Requery). Y anda impecable, me trae todos los datos de una tabla que yo elegí que campos quería ver (entre ellos el Resp).

Pero lo que quiero es que si no elijo a ningún Resp en el CCdo (lo deje en blanco) me traiga todos los Resp entre las fechas que introduje.

Lo que vos me escribís es algo como lo que yo quiero, el problema es cómo hago eso en SQL en la consulta ya que no me toma el If

Sería que con una condición la consulta filtra los datos de un Responsable mientras que con la otra filtra todos los Responsables en el mismo periodo de tiempo

Lo que quería decirte es que si el formulario depende de una consulta, a la que llamaremos ConsultaClientes(por poner un nombre), en el evento al hacer clic del botón pongas

If isnull([nombredelcombinado]) then

form.recordsource="select * from consultaclientes where fechavenc between #" & me.txtfecha1 & "# and #" & me.txtfecha2 & "#"

else

form.recordsource="select * from consultaclientes where cdoresp='" & me.ccdoresp & "' and Fechavenc.... lo mismo de arriba

end if

He supuesto que el campo de la consulta origen de la fila del combinado se llama cdoresp

O sea, si el valor del cuadro combinado es nulo(en blanco) entonces que el formulario presente aquellos registros de la consulta ConsultaClientes en que la fecha de vencimiento esté entre las que has escrito en los cuadros de texto txtfecha1 y txtfecha2. Y que en caso de que no sea nulo

Que el origen sean aquellos registro en que el campo cdoresp de la consulta ConsultaClientes sea igual al que has elegido en el combinado y las fechas lo mismo de antes.

Respuesta

Tabaré: Si quieres ver alternativas a la adecuada respuesta que te da Icue, puedes mirar>>

Mis saludos >> Jacinto

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas