Consulta sobre un campo MEMO

Tengo una BD con una tabla que contiene un campo Memo. Necesito crear una consulta (si no es posible, un subformulario), que comprenda todos aquellos registros que tengan una determinada palabra en dicho campo memo.
Ejemplo: Tabla Enfermedades
Campo MEMO: SÍNTOMAS.
Quiero una consulta que al yo escribir algún síntoma (Ej, cabeza), me liste todas las enfermedades que en ese campo memo, figure esa palabra. Lógicamente, esta palabra la iré cambiando según mi necesidad. POr cierto, la palabra "clave" me gustaría meterla a través de un textbox que me surge al poner en la consulta en el apartado Criterio "[CLAVE?].

1 Respuesta

Respuesta
1
Se puede hacer por código, en SQL, pero prueba la manera más fácil y directa e intenta acloparla a tus necesidades.
Crea un consulta con los campos que necesiten de la tabla "Enfermedades".
En los parámetros del campo Memo pon algo como lo siguiente:
Como "*" & [forms]![nombre_formulario_donde se introduce el campo clave]![clave] & "*"
Comprueba si los resultados son los que deseas y luego sólo acoplalo a tus necesidades.
Un saludo

Hola de nuevo.
He probado y no funciona. El formulario que he creado es para que refleje los resultados de la consulta. Si pongo el campo clave, ya me pregunta por el al abrir el form. Pero sigue sin listar nada. ¿Alguna otra posibilidad?.
Gracias de nuevo. Saludos
O de otro modo, ¿me lo podrías indicar en SQL?.
Gracias de nuevo
Vamos a ver, (xxxxxx), sin ningún animo ni de ofender ni de molestar. Lo primero que uno tiene que tener claro es lo que quiere, (a mi no me queda claro).
Según tu primer mensaje entiendo que tienes una tabla: Enfermedades que tiene un campo Memo, llamémosle Clave. (Cómo no lo indicas me lo invento).
Dices: "Quiero una consulta que al yo escribir algún síntoma (Ej, cabeza), me liste todas las enfermedades que en ese campo memo, figure esa palabra"
En una consulta es imposible, no tiene eventos. En un formulario basado en esa consulta, se puede hacer.
Por otra parte : "Si pongo el campo clave, ya me pregunta por el al abrir el form. Pero sigue sin listar nada"
No indicas que es lo que has "puesto"
En base a todo esto, pregunto:
¿No es factible y más fácil que cuando cambias el campo síntoma, o bien directamente, o bien mediante un botón de comando, te muestre un formulario con el resultado de la consulta?
Por otra parte, si hiciste lo que te comente anteriormente, y te pregunta por el campo... es que no está bien expresado en la consulta, ¿algo has puesto mal (basta una coma para que access no lo entienda?
Espero tus aclaraciones.
Gracias Experto, pero no lo pillo.
De acuerdo en que nopueda ser una consulta (pensé hacerlo a través de "Criterios" en Diseño de consulta. Ok.
Genero un nuevo formulario, basado en una nueva consulta que contiene todos los campos. Pero no se como usar el cuadro de control. Entiendo que por un cuadro de texto. Entiendo entonces que al Abrir este formulario, (en principio debe estar en blanco, porque no le he puesto condición de búsqueda), debo rellenar un campo donde indicque que quiero buscar (como dije, p.ej. cabeza), y entonces dacarme todos aquellos registros que en el campo ENFERMEDADES, que es tipo MEmo, aparezca esa palabra en cualquier parte del mismo.
Si vuelvo a tu comentario, ¿cómo o donde puedo cambioar "directamente" la palabra de búsqueda?, para que me muestre ese formulario con el resultado de la consulta.
Muchas gracias de nuevo. Un saludo
Bien, creo que he entendido un poco mejor lo que quieres. Vamos a hacer una cosa sencilla, luego se puede "complicar" lo que uno quiera. (Una vez que se tiene claro el concepto). Los nombres los pongo al azar, sólo para entendernos.
- Creamos una consulta "Busqueda" que contiene todos los campos de la tabla origen
- Creamos un formulario "resultado_busqueda" basado en esa consulta.
- Creamos un formulario "para_buscar" independiente.(Que no tenga origen de datos)
- En el formulario "para_buscar" creamos un control tipo texto que llamaremos "busca".
Un botón de comando "buscar" sin usar el asistente ("varita mágica" desmarcada)
Meteremos como subformulario el formulario "resultado_busqueda".
En las propiedades del botón "buscar" seleccionamos el evento "al hacer click" y hacemos click en los (...) que salen al final a la derecha. Escogemos Editor de código y nos saldrá el editor de Visual Basic con dos lineas ya introducidas.
   Private Sub buscar_Click()   
   End Sub
En medio de esas dos líneas ponemos:
    me. resultado_busqueda. Requery ' aquí tienes que tener cuidado en como ha nombrado al subformulario Access, depende de como lo hayas insertado (Por lo general lo llama "Subformulario_resultado_busqueda o resultado_busqueda_subformulario).
- Nos vamos al diseño de la consulta "Busqueda" y en el campo (columna en una consulta) "SINTOMAS", creo que ese es el nombre del campo memo, en criterios, ponemos:
Como "*" & [forms]![para_buscar]![busca] & "*"
- Cierra y guarda todo.
Si ahora abrimos el formulario "para_buscar" introducimos cabeza y hacemos click en el botón "buscar" en el subformulario veremos todos los registros que en el campo memo tienen la palabra cabeza.
Como te he dicho esto luego se puede ir mejorando, por ejemplo poniendo el subformulario en formato "formulario continuo", mucho más práctico para ver el resultado de una búsqueda, etc, etc.
Un saludo.
Hola experto:
Finalmente, funcionó de maravilla, pero sin tanta "complicación".
Creé el formulario basado en la consulta, en la que me bastó poner en Criterios:
Como "*" & [INTRODUZCA SINTOMA] & "*"
 Así, cuando ejecuto el formulario, me pregunta e introduzco, p.e. CABEZA, y me lista solamente esos que contienen esa palabra. Realmente,  mi atranque estaba en que no supe "enganchar" los<em style="font-weight: bold;"> "*" & [] & "*"-
Me sacaste del apuro. Muchas gracias.
(xxxxxx)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas