Pregunta: | 31110 - BUSCAR UN TEXTO EN UNA BASE DE DATOS |
Autor: | Cruz Alfredo Vasquez Ceja |
Tengo una base de datos de productos, con tres campos, ejemplo:
codigo : 3FI001 concepto: Filete hereford a las brasas precio: 80 introduzco un texo a buscar ejemplo: "hereford" o tal vez "brasas" y lo que necesito es buscar en la base de datos, todos lo articulos que contengan "hereford", o la palabra que teclee. ojo, esta palabra puede estar esta dentro o al final, incluso al principio del concepto de mi base. find, seek, dbseed, set softseek, solo me funcionan cuando la palabra que busto esta al principio de la cadena, e indexado por el campo concepto. A ver cerebritos, quien me puede ayudar, se lo agradecere mucho, gracias. |
Respuesta: | José Luis Cadena Rojas |
Hola Alfredo, te saltaste una de las mas basicas busquedas en clipper, que es el LOCATE.
Aqui va un ejemplo de como utilizarlo: ... ..... nom_aux=space(20) @ 10,10 GET nom_aux PICT '!!!!!!!!!!!!!!!!!!!!' READ aux=TRIM(nom_aux) LOCATE FOR aux $ UPPER(concepto) ...... .... .. con eso ya puedes crear un ciclo para que siga buscando los siguientes registros que puedan existir. Tambien puedes crear una base de datos auxiliar y luego visualizarla con browse o algo similar. Recuerda que tienes que abrir tu base de datos sin indice. Si tienes alguna duda me avisas y te preparo alguna ventana de ejemplo. José Luis |
Respuesta: | Sandro Dorado |
Tienes que hacer una búsqueda secuencial utilizando la funcion AT()
Por ejemplo Locate for AT("brasas",concepto)>0 y te va a localizar el registro que contenga la palabra brasas dentro del campo concepto. Ojala sea lo que andas buscando. Adios. |
Respuesta: | Gustavo Daniel Vallejos |
Mirá, lo que tenes que hacer es un filtro del literal que estàs buscando en este caso intruducís la palabra "hereford" en un campo x y luego hacés el filtrado. Ej:
cX:="hereford" nLongitud:=20 && o la longitud del campo CONCEPTO set filter to at(left(cX,nLongitud),field->concepto) <> 0 esto hará que filtre todos los registros que contenga la palabra "hereford" en dicha tabla.- |
Respuesta: | Luis Gutierrez |
Hola Cruz Alfredo espero te sirva esto:
LOCATE for \'hereford\'$nom_articulo nom_articulo= al campo de tu bd hereford=al articulo que intentas buscar es un poco rudiementario pero cumple con la mision espero que te sea util |