Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-12-2005
mrmago mrmago is offline
Miembro
 
Registrado: Dec 2005
Posts: 13
Poder: 0
mrmago Va por buen camino
como filtrar en un dbgrid por una palabra a buscar

Hola, estoy programando y necesito filtrar el contenido de un dbgrid por una palabra que se busque, ya lo logre que filtrara por la palabra de todo el campo, pero necesito filtrar cuando busco una palabra, ejemplo:
busco la palabra foco dentro del texto
"es un foco de alta intencidad"
"el color ambar lo logras con un foco"
"el total de focos son 4"

que me filtre todo lo que contenga foco en el campo
como le puedo hacer?
Responder Con Cita
  #2  
Antiguo 24-12-2005
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: May 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Pues lo más sencillo es con una consulta SQL
Código SQL [-]
 Select *
 From MiTabla
 Where MiCampo Like '%LoQueSea%'

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 24-12-2005
mrmago mrmago is offline
Miembro
 
Registrado: Dec 2005
Posts: 13
Poder: 0
mrmago Va por buen camino
como filtrar en un dbgrid por una palabra a buscar

no me funciona el codigo, estoy trabando en Delphi, mi tabla se llama numeros, el campo DESC_1, en el cual quiero encontrar cual esquier palabra que yo ponga en un campo Edit y que solo me aparescan los datos de todos los campos que contengan esa palabra
gracias por el apoyo
Responder Con Cita
  #4  
Antiguo 24-12-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Registrado
 
Registrado: Apr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 18
vtdeleon Va por buen camino
Saludos

No veo el por que no funciona, mira ver cambiando el % por asterisco(*).
Responder Con Cita
  #5  
Antiguo 24-12-2005
mrmago mrmago is offline
Miembro
 
Registrado: Dec 2005
Posts: 13
Poder: 0
mrmago Va por buen camino
me marca error desde select *, no me reconoce el from
Responder Con Cita
  #6  
Antiguo 24-12-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Registrado
 
Registrado: Apr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 18
vtdeleon Va por buen camino
Saludos



Bueno, dinos los componentes (dataset) que utilizas, la sentencia utilizada (has copy-paste), y el codigo.

Última edición por vtdeleon fecha: 24-12-2005 a las 22:50:18.
Responder Con Cita
  #7  
Antiguo 24-12-2005
mrmago mrmago is offline
Miembro
 
Registrado: Dec 2005
Posts: 13
Poder: 0
mrmago Va por buen camino
tengo la table que se despliega en un dbgrid que tiene los campos:
numero Desc_1 Desc_2
1034 es un foco de alta caja con 12
1035 color ambar de foco caja con 10
1036 conectores de colores individual

si lo filtro con un
numero.filter := 'desc_1'+QuotedStr(edit1.text);
numero.filtered := true;
tengo que teclear esactamente como esta en el campo "es un foco de alta" y esto me trae todos los registros que tenga esta descripcion, pero lo que necesito es que al momento de en el campo 'edit' tecleo foco me traiga todos los registro que tengan la palabra "foco" sin importar lo demas
Responder Con Cita
  #8  
Antiguo 24-12-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Registrado
 
Registrado: Apr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 18
vtdeleon Va por buen camino
Saludos

Creo que estas usando un Table para el caso. Vi por estos lado que se podia hacer esto (no lo he probado)
Código Delphi [-]
numero.filter := 'desc_1'+QuotedStr('%'+edit1.text+'%');
numero.filtered := true;
Poner los signos usando la propiedad Filter.

LA solucion que te ha dado Marcos es para usarlos con Tquery y en su propiedad SQL poner la sentencia dada. Y que a mi parecer es la mejor opcion.
Responder Con Cita
  #9  
Antiguo 27-12-2005
mrmago mrmago is offline
Miembro
 
Registrado: Dec 2005
Posts: 13
Poder: 0
mrmago Va por buen camino
Feliz navidad primero que nada, no me reconoce ni los caracteres '%' ni '*', ya le busque de todas las maneras posibles y nada, me dice que el formato del filtro no es valido
Responder Con Cita
  #10  
Antiguo 29-12-2005
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: Dec 2003
Ubicación: Zamudio
Posts: 1.378
Poder: 16
fjcg02 Va camino a la fama
Buenas a todos, creo que os falta poner

Código:
numero.filter := 'desc_1 LIKE '+QuotedStr('%'+edit1.text+'%');
numero.filtered := true;
Por si acaso, probad con un valor que no utilice like, sindo exactamente el valor del edit igual al valor del campo.

Código:
numero.filter := 'desc_1 = '+QuotedStr(edit1.text);
numero.filtered := true;
Un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #11  
Antiguo 30-12-2005
mrmago mrmago is offline
Miembro
 
Registrado: Dec 2005
Posts: 13
Poder: 0
mrmago Va por buen camino
gracias a todo por el apoyo, las ideas de todo me fueron muy utilies, asi quedo el codigo:
str := 'where num_part+Desc_1+desc_2+desc_3+desc_4 like '+QuotedStr('%' + Edit3.Text + '%');
Query1.close;
Query1.sql.clear;
Query1.sql.add('Select * from "numeros de parte"');
Query1.sql.add(str);
Query1.Open;
Query1.Active := true; {que esto era lo que me faltaba y asociarlo a un DataSource y sobre todo a un DBGrid para que me lo mostrara filtrado }

gracias nuevamente
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 22:13:50.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi