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 Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-02-2008
fpirovani fpirovani is offline
Miembro
 
Registrado: feb 2008
Ubicación: Entre Rios, Argentina
Posts: 24
Poder: 0
fpirovani Va por buen camino
Búsquedas a través de TTable

holaaaa q tal?
Estoy necesitando filtrar registros de una tabla, Pero al intentar aplicar el filtro me de un error.

Yo lo estoy haciendo de esta forma: (este ejemplo lo encontre en el foro, igualmente yo ya lo estaba haciendo de esta forma)
Código Delphi [-]
 
procedure TForm1.EFiltroChange(Sender: TObject);
begin
if not (EFiltro.text = '') then
begin
DM.TTable.Filtered := False;
DM.TTable.Filter := '' + 'CAMPO' + ' Like ' + QuotedStr(EFiltro.text + '%')
DM.TTable.Filtered := True;
end
else
DM.TTable.Filtered := False;
end;
En mi base de datos el campo que quiero filtrar se llama NOMBRE, y suponiendo que en el edit escribo el texto: Ce
Me da el mensaje: Clientes field 'Ce' not found (la tabla se llama Clientes)
Segun lo q veo, esta tomando como nombre del campo el texto q escribo en el Edit.

Se les ocure en que le puedo estar errando?
ahaha, por si no se an dado cuenta, soy re principiante en esto.

Última edición por marcoszorrilla fecha: 11-02-2008 a las 14:53:02.
Responder Con Cita
  #2  
Antiguo 11-02-2008
Avatar de felipe88
[felipe88] felipe88 is offline
Miembro Premium
 
Registrado: may 2007
Ubicación: Mi Valle del Cauca... Colombia!!!
Posts: 1.120
Poder: 18
felipe88 Va por buen camino
Hola bienvenido ya leiste la guia de estilo ?
Deberias ser un poco mas explicito en tu problema... cual es el error, que moto de BD tienes...
Seria mas facil asi para poderte ayudar, no crees...

Saludos
__________________
Web
Responder Con Cita
  #3  
Antiguo 11-02-2008
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 21
enecumene Va por buen camino
Prueba de esta manera:

Código Delphi [-]
procedure TForm1.EFiltroChange(Sender: TObject);
begin
if not (EFiltro.text = '') then
begin
DM.TTable.Filtered := False;
DM.TTable.Filter := 'Clientes Like ''' + EFiltro.Text + '*''';
DM.TTable.Filtered := True;
end
else
DM.TTable.Filtered := False;
end;

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #4  
Antiguo 11-02-2008
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
Cita:
Empezado por enecumene Ver Mensaje
Prueba de esta manera:

Código Delphi [-]procedure TForm1.EFiltroChange(Sender: TObject);
begin if not (EFiltro.text = '') then begin DM.TTable.Filtered := False; DM.TTable.Filter := 'Clientes Like ''' + EFiltro.Text + '*'''; DM.TTable.Filtered := True; end else DM.TTable.Filtered := False; end;


Saludos.
A como sutilmente lo dice el compañero enecumene, el error puede radicar en los caracteres comodines que se utilizan, Algunos utilizan * y ? y otros como firebird utilizan el % que es tu caso según veo en tu actual código. De todos modos fpirovani, repito lo que dijo felipe, es necesario, saber cuál es el motor de datos que estás utilizando.

Saludos.
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #5  
Antiguo 12-02-2008
fpirovani fpirovani is offline
Miembro
 
Registrado: feb 2008
Ubicación: Entre Rios, Argentina
Posts: 24
Poder: 0
fpirovani Va por buen camino
Cita:
Empezado por D&W Ver Mensaje
A como sutilmente lo dice el compañero enecumene, el error puede radicar en los caracteres comodines que se utilizan, Algunos utilizan * y ? y otros como firebird utilizan el % que es tu caso según veo en tu actual código. De todos modos fpirovani, repito lo que dijo felipe, es necesario, saber cuál es el motor de datos que estás utilizando.

Saludos.
Disculpen q no me sepa explicar bien, es q recien estoy arrancando en eso, y no tengo mucha idea.
Buscando en la ayuda encontre esto sobre TDataSet.Filter: Field comparisons are not supported against local tables (Paradox, dBASE, Access, FoxPro).
Y cuando yo cree la tabla Clientes, (tabla esta bien dicho?) la cree como Paradox 7.
Voy a tener q cambiar a otro tipo de "tabla" (no se si esta bien dicho)
Que me recomiendan ustedes?

Desde ya muchas gracias! y espero pronto ponerme a tono con la terminologia y demas cosas.
Responder Con Cita
  #6  
Antiguo 12-02-2008
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
Cita:
Empezado por fpirovani Ver Mensaje
... Buscando en la ayuda encontre esto sobre TDataSet.Filter: Field comparisons are not supported against local tables (Paradox, dBASE, Access, FoxPro).
y demas cosas...
Lo que dice la ayuda se refiere a comparaciones directas entre campos, por ej.
Cita:
Campo1 > Campo2
Según viendo la ayuda en delphi tu código debería de quedar de esta forma:
Código Delphi [-]
DM.Table.Filter := 'CAMPO = ' quotedStr(EFiltro.Text + '*');
¿Cómo hacer para que esto funcione? Bien, la ayuda de delphi dice los siguiente:
Cita:
wildcard for partial comparisons (FilterOptions must include foPartialCompare)
Saludos.
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #7  
Antiguo 12-02-2008
fpirovani fpirovani is offline
Miembro
 
Registrado: feb 2008
Ubicación: Entre Rios, Argentina
Posts: 24
Poder: 0
fpirovani Va por buen camino
Cita:
Empezado por D&W Ver Mensaje
Lo que dice la ayuda se refiere a comparaciones directas entre campos, por ej.


Según viendo la ayuda en delphi tu código debería de quedar de esta forma:

Código Delphi [-]
DM.Table.Filter := 'CAMPO = ' quotedStr(EFiltro.Text + '*');




¿Cómo hacer para que esto funcione? Bien, la ayuda de delphi dice los siguiente:


Saludos.
Probe de la forma que me dijiste, y tampoco me funciona. Ahora no me da error, pero no encuentra nada.
La verdad q se m acabaron las ideas, no deberia ser algon tan complicado.

Les explico lo que estoy haciendo:
Tengo una tabla de la cual quiero filtrar registros segun el texto que el usuario vaya ingresando en un edit. La taba se llama T_Clientes y el campo sobre el que quiero aplicar el filtro de llama Ape_Nom.
En el evento OnChange del edit tengo el siguiente codigo:

T_Clientes.Filtered := False;
T_Clientes.Filter := 'Ape_Nom = ' + quotedStr(EFiltro.Text+ '*');
T_Clientes.Filtered := True;

Cuando escribo cualquier cosa en el edit, directamente no me muestra nada.
Por ejemplo: si en el edit escribo la letra J, en el TDBGrid me tendria q mostrar los registros en los cuales el campo Ape_Nom comienzan con J (Jose, Juan, etc...) pero directamente me desaparecen todos los registros.

Espero que se entienda lo que quise decir.
Saludos a todos, y desde ya muchas gracias!
Responder Con Cita
  #8  
Antiguo 12-02-2008
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 21
enecumene Va por buen camino
deberia ser asi:

Código Delphi [-]
T_Clientes.Filtered := False;
T_Clientes.Filter := 'Ape_Nom Like ''' +EFiltro.Text+ '*''');
T_Clientes.Filtered := True;

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.

Última edición por enecumene fecha: 12-02-2008 a las 21:37:41.
Responder Con Cita
  #9  
Antiguo 12-02-2008
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
fpirovani, podrías postear el tipo y el mensaje del error. Los msg de errores no se inventaron solo para decir "hay un problema" sino también para ayudarte a resolverlo.

Saludos.
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
Respuesta



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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
¿Busquedas? jona-182 Conexión con bases de datos 2 20-12-2006 20:50:58
Busquedas yhoho SQL 2 17-02-2005 15:29:40
Búsquedas a través de TTable y/o TQuery y resultado en DBGrid nax Conexión con bases de datos 5 11-02-2005 05:08:55
comodines en busquedas con TTable ksellas Conexión con bases de datos 4 13-01-2005 15:23:10
busquedas chuley Varios 6 01-08-2003 22:31:41


La franja horaria es GMT +2. Ahora son las 01:34:11.


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