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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-12-2009
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 23
AzidRain Va camino a la fama
Una recomendación, ese efecto de "speed search" o búsqueda rápida es vistoso pero inútil al final porque el locate solo busca lo que empiece con lo que escribas en el TEdit. Si tu tabla solo tiene unas cuantas filas, al final si puede ser útil, pero si es una tabla con miles de registros no veo el caso e usar un grid para mostrarlas todas si al final el usuario no quiere verlas todas sino una o dos. Cuesta trabajo conceptualizar un diseño en donde los grids se usen únicamente para mostrar resultados de búsquedas y no como la fuente donde el usuario va a buscar. Te pongo un ejemplo, es como si le das al usuario la guía telefónica y le pides que ahi el busque el nombre que desea, cuando esa búsqueda la puede hacer el sistema.

Lo que yo recomiendo casi siempre es usar uno o varios TEdits para pedir al usuario que escriba los criterios de búsqueda. Tratándose de nombres o campos que contienen solo texto le pido que ponga solo la parte que más lo identifique, no necesariamente las letras con las que comience. Por ejemplo si busca "MARTILLO DE UÑA", bastaría conque pusiera "UÑA" o "MARTILL". Lo que hago en el query es hacer un LIKE para que me devuelva todos los registros que contengan esa subcadena. El resultado lo muestro en un grid y de ahi ya puede el usuario seleccionar el que desee ver o editar. Además tenemos la ventaja de que en el grid mostramos únicamente las columnas relevantes no necesariamente todos los campos, pues por ejemplo un registro podría tener que será, unos 40 campos distintos y mostrarlos todos no tendría caso. De esta forma optimizas la velocidad de tu aplicación, el uso de memoría y las querys son mucho más rápidas, más a aún si es un sistema que funciona en línea.

Mi regla de oro para este tipo de casos es traer del servidor la menor cantidad de datos posibles.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #2  
Antiguo 30-12-2009
marcoi marcoi is offline
Registrado
 
Registrado: dic 2009
Ubicación: Veracruz
Posts: 5
Poder: 0
marcoi Va por buen camino
muchas gracias me ayudo mucho lo que me dijeron ya lo pude solucionar
Responder Con Cita
  #3  
Antiguo 31-12-2009
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 23
AzidRain Va camino a la fama
marcoi sería bueno que compartieras tu solución así ayudas a quien tenga el mismo problema que tú.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #4  
Antiguo 31-12-2009
marcoi marcoi is offline
Registrado
 
Registrado: dic 2009
Ubicación: Veracruz
Posts: 5
Poder: 0
marcoi Va por buen camino
mi solucion

mi solucion fue la siguiente programandola en un boton
procedure TForm1.Button6Click(Sender: TObject);
begin
if radiobutton1.Checked =true then
begin
datamodule1.productos.SetKey;
datamodule1.productos.FieldValues['codigo']:=edit1.Text;
if not datamodule1.productos.GotoKey then
begin
messagedlg('NO EXISTE ESTE CODIGO',mtinformation,[mbok],0);
end;
end;
if radiobutton2.Checked= true then
begin
datamodule1.productos.Locate('producto', edit1.Text,[loPartialKey,loCaseInsensitive]);

end;
end;
Responder Con Cita
  #5  
Antiguo 01-01-2010
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 23
AzidRain Va camino a la fama
Excelente solución, solo hay que anotar que para usar GotoKey es necesario que la tabla en cuestión tenga el índice correspondiente sobre el campo de búsqueda, que en tu caso era 'codigo'. Tomando en cuenta este detalle tu solución es la adecuada.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
Respuesta


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
Busqueda De Registros Delphi Firebird jorge arturo le Firebird e Interbase 2 22-07-2008 18:44:13
Busqueda de registros en access Snakerahj Tablas planas 3 29-11-2007 18:53:59
Busqueda de registros con Sql muppett Conexión con bases de datos 8 24-09-2007 00:40:35
por que duplicidad de registros con clientdataset sin ingresar registros ...mysql Arturo MySQL 3 05-09-2006 18:39:37
Novato (Busqueda de registros con TEdit y DBGrid) enecumene Conexión con bases de datos 3 27-05-2006 20:04:12


La franja horaria es GMT +2. Ahora son las 22:31:04.


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