Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Go Back   Foros Club Delphi > Principal > Varios
Register FAQ Members List Calendar Guía de estilo Search Today's Posts Mark Forums Read

Coloboración Paypal con ClubDelphi

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 27/05/2003
superhopi's Avatar
superhopi superhopi is offline
Miembro
 
Join Date: May 2003
Location: Valencia
Posts: 128
Poder: 24
superhopi Va por buen camino
Exclamation problemas con el espacio

Tengo un form que presenta los datos de una tabla en un dbgrid. Para reducir los registros tengo la opcion de hacer un filtrado de los datos, pero tengo un probema; cuando detecta un espacio me sale un mensaje de error diciendo que es un caracter no valido o que entra en conflicto con otros.
¿Cómo puedo hacer que el espacio me lo tenga en cuenta si quiero filtrar algo como "La casa"?
__________________
Si me ves durmiendo no me despiertes, podría estar soñando que soy libre.
Reply With Quote
  #2  
Old 27/05/2003
superhopi's Avatar
superhopi superhopi is offline
Miembro
 
Join Date: May 2003
Location: Valencia
Posts: 128
Poder: 24
superhopi Va por buen camino
Talking

Parece que no sabe nadie como solucionar el problema ^_^
No pasa nada, que no busquen espacios.
__________________
Si me ves durmiendo no me despiertes, podría estar soñando que soy libre.
Reply With Quote
  #3  
Old 27/05/2003
andres1569 andres1569 is offline
Miembro
 
Join Date: May 2003
Posts: 908
Poder: 24
andres1569 Va por buen camino
Hola:

Pues me extraña mucho. Lo he probado y no me da error. ¿Usas la propiedad Filer para filtrar? En ese caso la cadena debes ponerla entre comillas simples (supongo que lo has hecho así), si las pones dobles, al menos en mi caso, me advierte del error, algo así como "Invalid character ..." (quizás sea esto lo que te hace pensar que se refiere al espacio).

Un saludo
Reply With Quote
  #4  
Old 27/05/2003
marcoszorrilla's Avatar
marcoszorrilla marcoszorrilla is offline
Capo
 
Join Date: May 2003
Location: Cantabria - España
Posts: 11,221
Poder: 10
marcoszorrilla Va por buen camino
procedure TForm1.Button1Click(Sender: TObject);
begin
Table1.Filter:='Company ='+QuotedStr(Edit1.Text);
Table1.Filtered:=True;
end;


Si muestras el código que utilizas para hacer el filtrado será más fácil ver donde pueda estar el fallo.

Un Saludo.
Reply With Quote
  #5  
Old 28/05/2003
superhopi's Avatar
superhopi superhopi is offline
Miembro
 
Join Date: May 2003
Location: Valencia
Posts: 128
Poder: 24
superhopi Va por buen camino
Smile

Mirad:
Lo que pretendo hacer es esto:

datos.obras.Filter:=comb+' like %' + conte.Text + '%';

datos--> modulo de datos
obras-->tabla
comb-->comb una variable tipo string que contiene el nombre del campo donde se quiere buscar
conte.text-->es el texto que se quiere buscar

Me sigue dando error si pongo:
- La casa
... sin embargo 'la','casa' o 'lacasa' no me da error.

Muchas gracias de antemano.
__________________
Si me ves durmiendo no me despiertes, podría estar soñando que soy libre.
Reply With Quote
  #6  
Old 28/05/2003
__cadetill __cadetill is offline
Miembro
 
Join Date: May 2003
Posts: 3,387
Poder: 27
__cadetill Va por buen camino
Prueba con esto

Code:
 
var str : string;
begin
    str := '%' + conte.Text + '%';
    datos.obras.Filter:=comb+' like ' + QuotedStr(str);
end;
Espero te sirva
Reply With Quote
  #7  
Old 28/05/2003
marcoszorrilla's Avatar
marcoszorrilla marcoszorrilla is offline
Capo
 
Join Date: May 2003
Location: Cantabria - España
Posts: 11,221
Poder: 10
marcoszorrilla Va por buen camino
Los filtros no aceptan like ni aproximaciones, eso lo tienes que hacer mediante SQL.

O por el contrario utilizar el evento OnFilterRecord del TTable.

Aquí tienes un ejemplo, utilizando la tabla Customers del Alias DbDemos de Delphi.

Necesitas un TTable conectado a dicho alias y a la tabla Customers y un Edit en donde escribiras la cadena a filtrar.

procedure TForm1.Table1FilterRecord(DataSet: TDataSet;
var Accept: Boolean);
var
sp, ss: ShortString;
begin

with DataSet do
begin
//En el Tedit escribimos la cadena a filtrar
sp :=AnsiUpperCase(EdMifiltro.Text);
ss := AnsiUpperCase(FieldByName('Country').asString);
Accept := POS(SP,SS)>0 ;

end;


end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Table1.Filtered:=True;
end;


Un Saludo.
Reply With Quote
  #8  
Old 28/05/2003
Bacterion Bacterion is offline
Miembro
 
Join Date: May 2003
Posts: 91
Poder: 24
Bacterion Va por buen camino
El filtro del TClientDataset (vale, del TCustomX) si que admite likes... yo le hecharía un vistazo.
Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT +2. The time now is 01:52.


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