Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-07-2010
Lenny Lenny is offline
Miembro
 
Registrado: jun 2007
Posts: 161
Poder: 17
Lenny Va por buen camino
Question Filtro no reconoce N° 9!!!

Estimados, esto si que es extraño y por mas vueltas que le doy no logro entender, les explico:

Tengo una base de datos (Delphi 2010, MySQL, Zeos 7.0.0) en la cual guardo un registro denominado RUT (Rol Unico Tributario, Chile), para poder filtrar tengo un ComboBox en le cual uno elije el criterio por el cual filtrar:

Código Delphi [-]
procedure TCLIENTES.Edit1Change(Sender: TObject);
Var
Valor,Valor1 : String;
begin
     if Edit1.text = '' then
     begin
     TABLAS.TCLIENTES.Filtered := false;
     exit;
     end;
         TABLAS.TCLIENTES.Locate(ComboBox1.Text, Edit1.Text,[loPartialKey,loCaseInsensitive]);
         valor := Edit1.Text;
         Valor1 := Valor;
         inc(valor1[length(Valor1)]);
         TABLAS.TCLIENTES.Filter := ''+ComboBox1.Text+' >= '+QuotedStr(Valor)+ ' and '+ComboBox1.Text+' < ' +QuotedStr(valor1);
         TABLAS.TCLIENTES.Filtered := true;
          end;

end.

Funciona de Maravillas!!! pero... NO FILTRA NINGUN REGISTRO QUE COMIENZE CON 9!!! si me pudieran ayudar estaria bastante agradesido, ya que es lo que me falta para terminar este modulo, de antemano gracias.
Responder Con Cita
  #2  
Antiguo 21-07-2010
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 913
Poder: 23
cloayza Tiene un aura espectacularcloayza Tiene un aura espectacular
Amigo revisando tu codigo el problema esta en esta linea

Código Delphi [-]
inc(valor1[length(Valor1)]);

Aqui lo que estas haciendo es incrementando el valor ascii del ultimo caracter de Valor1...

Ejm:

Valor1='1' -> Al Aplicar inc(valor1[length(Valor1)]) queda Valor1='2';

El problema es que al ser Valor1='9', aplicar inc(valor1[length(Valor1)]) el siguiente valor de Valor1=':';

Por lo tanto tu filtro cuando el rut comienza en 9 queda asi:

Rut >= '9' and Rut < ':'

Al comenzar con los otros digitos (1..8) no sucede esto.

Saludos cordiales
Desde Concepcion-Chile.
Responder Con Cita
  #3  
Antiguo 22-07-2010
Lenny Lenny is offline
Miembro
 
Registrado: jun 2007
Posts: 161
Poder: 17
Lenny Va por buen camino
Cool

Huuuuuuuuu... Te Pasaste!!! le echo un ojo y lo pongo en practica, muchas gracias por responder!!!
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
Delphi no me reconoce instrucciones atirukas Varios 5 16-06-2008 21:06:49
no reconoce uses propias Xana Varios 1 13-03-2007 18:17:55
porque no me reconoce los caracteres "*" ni "%" cuando filtro mrmago Conexión con bases de datos 10 27-01-2006 04:21:16
No me reconoce variable en la consulta JoanKa Varios 6 27-01-2005 15:23:29
No reconoce funciones jhonny PHP 3 15-09-2003 10:05:29


La franja horaria es GMT +2. Ahora son las 16:41:58.


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