Access - SUPER URGENTE!!!!

 
Vista:

SUPER URGENTE!!!!

Publicado por Leonardo Micheli (17 intervenciones) el 29/04/2003 16:43:38
Hola, mi incoveniente surge cuando desde un formulario de access paso como parametro hacia una consulta, por ejemplo, la fecha de vencimiento de una cinta magnetica (en donde a veces puede tener fecha y otra veces no). El query que estoy haciendo en la consulta es el siguiente, donde uso el comando like para que se consulta solo una parte de la fecha o bien toda la fecha:

Select * from mainframe
where [mainframe].[vence] like ([Formularios]!
[ConsultaPorCampos]![Texto1])

lo que sucede que este query me trae todo menos los nulos cuando al texto1 le asigno el valor "*". Me gustaria saber para solucionar este problema.
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
Imágen de perfil de Alejandro

SUPER URGENTE!!!!

Publicado por Alejandro (4142 intervenciones) el 27/04/2023 23:40:51
Para solucionar este problema, puedes utilizar la función IIf() en la consulta para verificar si el parámetro recibido es nulo y, en ese caso, reemplazarlo por un valor que contenga todos los registros. Por ejemplo:

1
2
Select * from mainframe
where [mainframe].[vence] Like IIf(IsNull([Formularios]![ConsultaPorCampos]![Texto1]), "*", [Formularios]![ConsultaPorCampos]![Texto1])

La función IsNull() verifica si el parámetro recibido es nulo. Si es así, entonces el valor devuelto por la función será True y se reemplazará por el comodín "*". Si el parámetro no es nulo, entonces se utilizará el valor proporcionado por el parámetro.

De esta manera, la consulta incluirá los registros que coincidan con la fecha especificada en el parámetro o todos los registros si el parámetro es nulo.
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