Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-10-2011
Parsec Parsec is offline
Miembro
 
Registrado: abr 2006
Posts: 143
Poder: 19
Parsec Va por buen camino
Problemas con Filter en una Tabla

Hola a tod@s,

quiero que a medida que voy escribiendo en un edit vaya realizando una búsqueda utilizando 'LIKE' , este es el código que utilizo:
Cita:
Table1.Filtered:= False;
Table1.Filter:= '(Paciente) LIKE ' + QuotedStr('%' + Edit1.Text + '%');
Table1.Filtered:= True;
Me da un error: 'Operation not applicable'.

He estado leyendo por los foros y deberían de funcionar perfectamente, utlizo Delphi 7 y Paradox).

Saludos
Responder Con Cita
  #2  
Antiguo 08-10-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
No se de paradox pero prueba asi:
Alguna servirá.

Código Delphi [-]
Table1.Filtered:= False;
Table1.Filter:= 'Paciente LIKE ' +QuotedStr(Edit1.Text);
Table1.Filtered:= True;

Código Delphi [-]
Table1.Filtered:= False;
Table1.Filter:= 'Paciente LIKE  %'+QuotedStr(Edit1.Text)+'%';
Table1.Filtered:= True;

Código Delphi [-]
Table1.Filtered:= False;
Table1.Filter:= 'Paciente LIKE  '+Edit1.Text+'%''';
Table1.Filtered:= True;

Código Delphi [-]
Table1.Filtered:= False;
Table1.Filter:= 'Paciente LIKE  '+Edit1.Text+'*''';
Table1.Filtered:= True;

Código Delphi [-]
Table1.Filtered:= False;
Table1.Filter:= 'Paciente LIKE  %'+Edit1.Text+'%';
Table1.Filtered:= True;

Saludos
__________________
Siempre Novato
Responder Con Cita
  #3  
Antiguo 08-10-2011
Parsec Parsec is offline
Miembro
 
Registrado: abr 2006
Posts: 143
Poder: 19
Parsec Va por buen camino
Hola Caral,
no han funcionado, el error hay veces que cambia y dice que el valor que escribo en el edit no es un campo de la tabla.
La cuestión es que quiero filtrar una tabla y poder modificar sus datos, Lo he intentado con un Query pero los datos que muestra en el dbgrid no me deja modificarlos.

saludos
Responder Con Cita
  #4  
Antiguo 08-10-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
El campo es integer, float, string , que tipo es ?.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #5  
Antiguo 08-10-2011
Parsec Parsec is offline
Miembro
 
Registrado: abr 2006
Posts: 143
Poder: 19
Parsec Va por buen camino
El campo es string
Responder Con Cita
  #6  
Antiguo 08-10-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Pues no se.
La verdad es que he puesto prácticamente todas las formas de hacerlo, me extraña que no funcione alguna de ellas.
Me parece que el error debe estar por otro lado.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #7  
Antiguo 08-10-2011
Parsec Parsec is offline
Miembro
 
Registrado: abr 2006
Posts: 143
Poder: 19
Parsec Va por buen camino
Gracias, le dedicaré algo más de tiempo a ver si puedo resolver algo.

Saludos
Responder Con Cita
  #8  
Antiguo 08-10-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Pon el programa y la bd en un zip y lo subes (quitale el exe).
A ver si puedo hacer algo.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #9  
Antiguo 08-10-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Otra alternativa es usar un TQuery:
Código Delphi [-]
procedure TForm1.Edit1Change(Sender: TObject);
begin
  with Query1 do
  begin
    Close;
    SQL.Text:= 'SELECT * FROM TU_TABLA WHERE TU_CAMPO LIKE :DATO';
    ParamByName('DATO').AsString:= '%' + Edit1.Text + '%';
    Open;
  end;
end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #10  
Antiguo 08-10-2011
Parsec Parsec is offline
Miembro
 
Registrado: abr 2006
Posts: 143
Poder: 19
Parsec Va por buen camino
Solucionado!!!!

Me he tenido que pegar un MOVIDON!!!!, os explico.....
El problema radica en que filtro datos de una tabla a través de un Query y los datos que presento en un Dbgrid no me los deja modificar, intenté utilizar los 'Filter' sobre la propia tabla pero la instrucción 'LIKE' no se por que motivo no la reconoce y me da un error de 'Operation not applicable', pues bien he hecho los siguiente:

He utilizado un Tquery, UpdateSql y un DataSource.

Propiedades a cambiar en el Tquery:

RequestLive = False;
UpdateObject= UpdateSQL;
CachedUpdates= True;

Y he introducido la sentencia SQL en UpdateSQl que me permita modificar los campos que yo quiera, en este ejemplo solo voy a permitir modificar el campo Importe Factura:
Cita:
update VISITAS
set
Importefactura = :Importefactura
where
Importefactura = :OLD_Importefactura
Con esta configuración puedo modificar el campo 'Importe Factura' en el Dbgrid, pero ojo!!!!.....no actualiza la BBDD, es una modificación temporal.
Para que actualice la BBDD he insertado un botón y le he agregado el siguiente código:
Cita:
procedure TForm1.Button1Click(Sender: TObject);
begin
try
Query1.ApplyUpdates; // aplico los cambios
Query1.Refresh;
except
Showmessage('No es posible actualizar');
end;
Query1.CommitUpdates; // Limpio los cambios locales
end;
Y solucionado.

Señores me voy a correr un rato....en el buen sentido de la palabra claro!, correr a pie!!!

Saludos y espero que esto sirva a alguien.
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
Problemas con Filter y ADOQuery martinc5 Conexión con bases de datos 1 13-05-2008 17:42:08
Problemas con Filter RoyTan Conexión con bases de datos 6 06-01-2008 11:26:23
Problemas con filter vroa74 Conexión con bases de datos 15 27-06-2007 04:55:08
Filter con tabla DBASE en red Jose_Pérez Conexión con bases de datos 3 30-09-2003 12:23:28
Problemas FILTER javiermorales SQL 2 08-09-2003 08:26:09


La franja horaria es GMT +2. Ahora son las 02:05:54.


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