Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #20  
Antiguo 09-06-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola
Vamos a resolver esto paso a paso:
1- Tienes que filtrar o un dato (interger) o un dato (string) en el mismo adotable.
2- Tratamos de usar OR pero se niega.
Entonces lo podemos atacar por otro lado, definiendo el filtro dependiendo de si es uno u otro:
Primero creamos una variable global, esta la colocamos publica:
Código Delphi [-]
 public
    { Public declarations }
   tipo: integer;
Esta variable nos servira para que guarde simplemente un numero.
Ahora nos colocaremos en el evento onKeyPress del edit (edtBuscar) que es el que da el dato al filtro.
En ese evento colocamos esto:
Código Delphi [-]
if (Key in ['0'..'9',#8]) then
  begin
  Tipo:= 1;
  end
  else
  Tipo:= 0;
Esto lo que hace es simplemente indicar si escribimos numeros o letras, de ser numeros el valor de Tipo sera 1 de lo contrario 0.
Bien ahora si hacemos el filtro:
Código Delphi [-]
procedure TfrmTicket.btnBuscarClick(Sender: TObject);
var
   Filtro : String;
begin
  ADOTableTicket.Filtered := False; // desconectamos el filtro

  if edtBuscar.Text <> '' then // si no esta vacío
  begin

  If Tipo = 1 then begin // si tipo es igual a 1 filtra por el tiquet (integer)
  Filtro := 'TicketID Like '+edtBuscar.Text;
  end;

  If Tipo = 0 then begin // si tipo es igual a 0 filtra por el usuario (string)
  Filtro := 'Usuario Like '''+ edtBuscar.Text + '*''';
  end;

  ADOTableTicket.Filter := Filtro; // obtiene el filtro
  ADOTableTicket.Filtered := True // lo Filtro

  End;
end;
Bien, creo que es un codigo mas claro.
Primero definimos si queremos filtrar por numeros o letras.
Segundo con el valor generado en la variable hacemos o un filtro u otro.
Espero que si no te sirve por lo menos ayas aprendido algo mas, aunque sea sencillo.
Saludos
__________________
Siempre Novato
Responder Con Cita
 


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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como calcular el resto de dividir un string numerico veronica Varios 3 26-09-2005 13:35:18
Ayuda por favor... Urge..!! manuel Suarez MS SQL Server 2 22-07-2005 23:15:27
Relacion campo numérico vs campo string JorgeBec Varios 1 11-04-2005 18:26:51
Me Urge Un Programador ADRIAN_2004 API de Windows 1 27-10-2004 19:38:51
urge. apagar windows XP mrmanuel API de Windows 3 06-09-2003 05:09:24


La franja horaria es GMT +2. Ahora son las 22:11:03.


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