Error en los criterios de una consulta |
Responder |
Autor | |
letoy
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Nuevo Unido: 15/Noviembre/2008 Localización: España Estado: Sin conexión Puntos: 34 |
Tema: Error en los criterios de una consulta Enviado: 29/Agosto/2019 a las 22:10 |
Este tema fue cerrado
anteriormente porque creía que estaba resuelto al no dar error de sintaxis con
el ejemplo de Xabi. No da error, pero sigue sin mostrar los registros con
campos sin contenido. Lanzo de nuevo la
consulta pues no he encontrado la forma de desbloquear la consulta anterior,
por lo que no se si de forma correcta vuelvo a lanzar la misma consulta. Hola muy buenas. Mi problema es que tengo un subformulario
con un campo en una tabla que se llama “observaciones” tipo texto con 255
caracteres. Cuando voy a hacer una consulta desde el
campo de texto “obsevaciones”sobre ese campo utilizo el siguiente criterio en
consultas: Como "*" & [Formularios]![Diario
Recordatorios]![Observaciones] & "*" Si el campo tiene texto y cumple el
criterio, funciona perfectamente. Pero si dejo en blanco el campo
observaciones del formulario, muestra todos los registros de la tabla que
tienen texto sea el que sea, como es logico, pero los registros que no tienen
texto no los muestra ¿por que no los incluye?. En resumen mi objetivo es que muestre los
que cumplen el criterio, y si dejo el campo de texto sin contenido en el
formulario, la consulta debe de mostrar todos los registros de la tabla tengan
texto o no. He puesto diferentes cosas en el criterio
O como Es Nulo, "", etc pero no funciona. Me podriais ayudar Un saludo. Ha este tema me contestaron Xabi y Mihura y me apuntaron que
pusiera el siguiente código "*" &
nz([Formularios]![Control Emisiones]![Cuadrocliente];"") & "*" Pero sigue sin mostrar los registros que tienen
el campo sin contenido, como ocurria cuando yo empleaba el código puesto
anteriormente. Muchas gracias. |
|
VIMIPAS
Colaborador Unido: 06/Enero/2006 Localización: ESPAÑA Estado: Sin conexión Puntos: 5462 |
Enviado: 29/Agosto/2019 a las 22:20 |
Hola, buenas noches.
¿Puedes probar esto?: "* ' " & nz([Formularios]![Diario Recordatorios]![Observaciones];"") & " ' *" Y además en la consulta, en el campo de la consulta que toque, ¿puedes poner también el Nz, así:? Nz(campoconsultaqueteocupa) Ya nos cuentas. Saludos.
|
|
Gracias
|
|
VIMIPAS
Colaborador Unido: 06/Enero/2006 Localización: ESPAÑA Estado: Sin conexión Puntos: 5462 |
Enviado: 29/Agosto/2019 a las 22:29 |
Hola de nuevo.
Que soy un enamorado de las "búsquedas" creo que por aquí lo saben todos, y es por ello que te propongo que veas un ejemplo mío (de los muchos que tengo subidos a este foro en "Tus Funciones Favoritas"): Tómatelo con calma y desmenúzalo, sin prisa, ahí tengo como buscarlo todo, absolutamente todo. Evidentemente, tu caso no está, pues no era el objeto de ese estudio el ejemplo que te he puesto, pero si quieres podemos adentrarnos en él (tu caso) cuando termines con esto y vemos a ver como podría quedar resuelto y así serviría para posteriores casos como el tuyo. Saludos.
|
|
Gracias
|
|
letoy
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Nuevo Unido: 15/Noviembre/2008 Localización: España Estado: Sin conexión Puntos: 34 |
Enviado: 29/Agosto/2019 a las 23:05 |
Hola Vimipas He puesto el siguiente código Pero la consulta no muestra ningún registro. Lo de poner Nz([Formularios]![Control Emisiones]![CuadroCliente]) ya lo hice antes pero da error de sintaxis Gracias.
|
|
mounir
Colaborador Unido: 09/Febrero/2009 Localización: Asturias-España Estado: Sin conexión Puntos: 6479 |
Enviado: 29/Agosto/2019 a las 23:09 |
Hola!
Lo que puedes hacer es copiar la SQL de la consulta con criterio y sin el y según se necesite se asigna al origen del registro del formulario y problema solucionado. Editado por mounir - 29/Agosto/2019 a las 23:10 |
|
Un Saludo.
|
|
Mihura
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 06/Mayo/2005 Localización: En la dehesa Estado: Sin conexión Puntos: 13990 |
Enviado: 29/Agosto/2019 a las 23:17 |
Letoy, que lío te estás montando con la construcción de cadenas ...
el argumento es así: ... LIKE '*valor*' es decir la comilla simple va por fuera de los asteriscos. Después cambias el valor por tu parámetro y te quedará así: " LIKE '*" & Nz([Formularios]![Control Emisiones]![CuadroCliente];"") & "*'" Te recomendaría que le echaras un repaso al curso de Olaz Martínez que tenemos en el foro, no tendrías estos problemas con el Access. |
|
letoy
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Nuevo Unido: 15/Noviembre/2008 Localización: España Estado: Sin conexión Puntos: 34 |
Enviado: 30/Agosto/2019 a las 09:36 |
Mihura puede que tenga un poco de lio, pero la comilla simple la puse por dentro porque asi me lo indicaron, pero tu ahora me indicas que por fuera y yo la pongo por fuera, pero sigue sin funcionar.
LIKE ya lo estaba utilizando aunque no lo habia indicado. Mounir no entiendo mucho tu solución que apuntas, hay que tener en cuenta que el valor del campo puede variar una vez este el formulario abierto. Muchas gracias a ambos.
|
|
Mihura
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 06/Mayo/2005 Localización: En la dehesa Estado: Sin conexión Puntos: 13990 |
Enviado: 30/Agosto/2019 a las 10:19 |
Entiendo que Vimipas se despistó con la colocación de las comillas. Lo que te he puesto debe de funcionar: - entorno diseño de consulta: Como '*' & Nz([Formularios]![Control Emisiones]![CuadroCliente];'') & '*' -> son todo comillas simples - vista la consulta en modo SQL: SELECT Numero_cli, Nombre_cli, Apellidos_cli FROM Clientes WHERE Apellidos_cli Like '*' & Nz([Formularios]![Control Emisiones]![CuadroCliente],'') & '*' |
|
mounir
Colaborador Unido: 09/Febrero/2009 Localización: Asturias-España Estado: Sin conexión Puntos: 6479 |
Enviado: 30/Agosto/2019 a las 10:20 |
Hola!
Mi pruepuesta es si el campo está vacío que asigne un origen de registro sin criterio, me explico, mas o menos así:-
Editado por mounir - 30/Agosto/2019 a las 10:28 |
|
Un Saludo.
|
|
VIMIPAS
Colaborador Unido: 06/Enero/2006 Localización: ESPAÑA Estado: Sin conexión Puntos: 5462 |
Enviado: 30/Agosto/2019 a las 20:39 |
Buenas noches a todos.
Efectivamente Mihura me corrige acertadamente. Aquí tengo mas sobre esta materia, expuesta por mi mismo anteriormente: Las comillas van "antes" y "no después". Gracias Mihura. En cuanto a la proposición de Mounir, a mi me parece una solución buena y que seguramente efectiva al 100%. Pero antes habrá que dejar bien claro el concepto de como se "escribe la sintaxis de lo que se persigue en VBA". Access en si mismo es tonto, no sabe distinguir entre las comillas antes o después, somos nosotros los que debemos distinguir esos matices. Saludos.
Editado por VIMIPAS - 30/Agosto/2019 a las 20:41 |
|
Gracias
|
|
Responder | |
Tweet
|
Ir al foro | Permisos de foro Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |