Hacer una búsqueda con caracteres en blanco
Publicado por Jose (1 intervención) el 16/08/2005 13:14:09
Muy wenas a todos,
mirad tengo un problema con una búsqueda que estoy haciendo en access, me pasa lo siguiente:
He echo un buscador para mi BD, el problema que tengo es que tengo ke darles a los campos de búsqueda del formulario un valor inicial, que es "*" , para que si sólo relleno un campo en todos los demás me muestre un "lo que sea" (para eso pongo el *). Por ejemplo: el valor inicial del campo municipio es: "*" y así con todos.
Para completar esto en la BD, en los campos vacíos los relleno con un "-", para que me los muestre ya que si tienen algo los campos son distintos de BLANCO o NULL. Este formulario lleva los datos recogidos a una consulta, os la paso por si acaso:
-----------------------------------------------------------------------------------------------------------------------
SELECT [catalogo bienes inmuebles].[catalogo loc], [catalogo bienes inmuebles].[denominación loc], [catalogo bienes inmuebles].MUNICIPIO, [catalogo bienes inmuebles].[tipo de bien], [catalogo bienes inmuebles].[expediente loc], [catalogo bienes inmuebles].[expediente loc2]
FROM [catalogo bienes inmuebles]
WHERE ((([catalogo bienes inmuebles].[catalogo loc]) Like [Formularios]![for1]![catalogo loc]) AND (([catalogo bienes inmuebles].[denominación loc]) Like "*" & [Formularios]![for1]![denominación loc] & "*") AND (([catalogo bienes inmuebles].MUNICIPIO) Like [Formularios]![for1]![MUNICIPIO]) AND (([catalogo bienes inmuebles].[tipo de bien]) Like "*" & [Formularios]![for1]![tipo de bien] & "*") AND (([catalogo bienes inmuebles].[expediente loc]) Like [Formularios]![for1]![expediente loc]) AND (([catalogo bienes inmuebles].[expediente loc2]) Like [Formularios]![for1]![expediente loc2]));
--------------------------------------------------------------------------------------------------------------------------
Fijaos en los LIKE que al lado les pongo "*" para depurar el problema de los campos en blanco.
Bueno y e aquí el problema:
Lo que me piden que haga es quitar del formulario el valor inicial ( "*" ), y el comodín que pongo en la BD ( " -" ), con lo que estéticamente queda mejor, pero no tengo ni idea de como hacer que funcione sin usar el comodín *.¿Cómo lo hago?, ¿con código Visual Basic?, ¿alguna función MSQL?.
mirad tengo un problema con una búsqueda que estoy haciendo en access, me pasa lo siguiente:
He echo un buscador para mi BD, el problema que tengo es que tengo ke darles a los campos de búsqueda del formulario un valor inicial, que es "*" , para que si sólo relleno un campo en todos los demás me muestre un "lo que sea" (para eso pongo el *). Por ejemplo: el valor inicial del campo municipio es: "*" y así con todos.
Para completar esto en la BD, en los campos vacíos los relleno con un "-", para que me los muestre ya que si tienen algo los campos son distintos de BLANCO o NULL. Este formulario lleva los datos recogidos a una consulta, os la paso por si acaso:
-----------------------------------------------------------------------------------------------------------------------
SELECT [catalogo bienes inmuebles].[catalogo loc], [catalogo bienes inmuebles].[denominación loc], [catalogo bienes inmuebles].MUNICIPIO, [catalogo bienes inmuebles].[tipo de bien], [catalogo bienes inmuebles].[expediente loc], [catalogo bienes inmuebles].[expediente loc2]
FROM [catalogo bienes inmuebles]
WHERE ((([catalogo bienes inmuebles].[catalogo loc]) Like [Formularios]![for1]![catalogo loc]) AND (([catalogo bienes inmuebles].[denominación loc]) Like "*" & [Formularios]![for1]![denominación loc] & "*") AND (([catalogo bienes inmuebles].MUNICIPIO) Like [Formularios]![for1]![MUNICIPIO]) AND (([catalogo bienes inmuebles].[tipo de bien]) Like "*" & [Formularios]![for1]![tipo de bien] & "*") AND (([catalogo bienes inmuebles].[expediente loc]) Like [Formularios]![for1]![expediente loc]) AND (([catalogo bienes inmuebles].[expediente loc2]) Like [Formularios]![for1]![expediente loc2]));
--------------------------------------------------------------------------------------------------------------------------
Fijaos en los LIKE que al lado les pongo "*" para depurar el problema de los campos en blanco.
Bueno y e aquí el problema:
Lo que me piden que haga es quitar del formulario el valor inicial ( "*" ), y el comodín que pongo en la BD ( " -" ), con lo que estéticamente queda mejor, pero no tengo ni idea de como hacer que funcione sin usar el comodín *.¿Cómo lo hago?, ¿con código Visual Basic?, ¿alguna función MSQL?.
Valora esta pregunta
0