Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-07-2003
Walterdf Walterdf is offline
Miembro
 
Registrado: may 2003
Ubicación: Buenos Aires
Posts: 152
Poder: 22
Walterdf Va por buen camino
Autocompletar en un Edit

Hola
Tengo una aplicación que maneja una base de datos y en la búsqueda de datos necesito que cuando el usuario vaya ingresando lo que quiere buscar, el DbEdit (o lo que sea) se vaya autocompletando con los datos existentes en la base.
Intenté hacerlo con un DbLookupComboBox y funciona pero no muestra lo que yo voy escribiendo y además muestra registros repetidos.
¿Hay alguna forma de hacer esto?
Saludos y gracias.

Walter
Responder Con Cita
  #2  
Antiguo 16-07-2003
ramiretor ramiretor is offline
Miembro
 
Registrado: may 2003
Ubicación: México
Posts: 196
Poder: 21
ramiretor Va por buen camino
Hola:

Sí es posible hacer lo que quieres . Yo entiendo que tienes un control DBedit y un control DBGrid que te va a ir acercando al registro que quieres encontrar. Lo que tienes que hacer es en el evento KeyPress del DBEdit ir actualizando la consulta para que cada vez que aprieten una tecla le pongas esa condición a la consulta. No recuerdo muy bien si se tiene que poner la propiedad keyPreview a true de la forma pero puedes probar.

Salu2 y espero te sirva
__________________
Ernesto R.
Responder Con Cita
  #3  
Antiguo 17-07-2003
Walterdf Walterdf is offline
Miembro
 
Registrado: may 2003
Ubicación: Buenos Aires
Posts: 152
Poder: 22
Walterdf Va por buen camino
Hola Ernesto
Muchas gracias por responderme.
No me quedó muy claro lo que tendría que hacer, me gustaría que me expliques un poco mas porfavor.
Un abrazo.
Walter
Responder Con Cita
  #4  
Antiguo 17-07-2003
ramiretor ramiretor is offline
Miembro
 
Registrado: may 2003
Ubicación: México
Posts: 196
Poder: 21
ramiretor Va por buen camino
Holas:

Bueno como te dije me imagino que tienes un TDBEdit ( o TEdit) y un TDBGrid que mostrará los resultados, conectas un TDataSource al Tquery y al DBGrid. En el evento onkeyPress del Edit escribirías algo como:

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin

with query do
begin
Close;
Clear;
SQL.ADD('select "nombrecampos" from "nombretabla" where
"nombrecampo" like ' + edit1.text)
Open;

end;

end;

y eso es todo. Bueno aqui me parece que el problema es que no toma en cuenta el primer caracter, por lo que te aconsejo le eches un ojo al metodo onKeydown para que lo tome en cuenta. Recuerda tb que al query se le puede pasar ese valor como parámetro. Ahh y una cosa mas para que los campos no se te repitan, necesitas poner despues del Select la palabra distinct y seguir con la lista de campos.

Salu2 y espero te sirva


;
__________________
Ernesto R.
Responder Con Cita
  #5  
Antiguo 18-07-2003
Walterdf Walterdf is offline
Miembro
 
Registrado: may 2003
Ubicación: Buenos Aires
Posts: 152
Poder: 22
Walterdf Va por buen camino
Ernesto, muchas gracias por tu molestia en responderme.
Quería decirte que tus sugerencias me fueron de mucha utilidad.
Un abrazo y gracias nuevamente.
Saludos.
Walter
Responder Con Cita
  #6  
Antiguo 22-12-2005
Elfoscuro Elfoscuro is offline
Miembro
 
Registrado: mar 2005
Posts: 59
Poder: 20
Elfoscuro Va por buen camino
Hola

He intentado usar la solución propuesta, pero me pasa una cosa curiosa con el query. Si pongo en el SQL la linea:

Código:
SELECT * FROM "_Ruta a mi BBDD" MiBBDD

Me saca todos los registros de la tabla, pero si la sustituyo por:

Código:
SELECT Campo1,Campo2,...,UltimoCampo
FROM ""_Ruta a mi BBDD" MiBBDD
WHERE  Campo1 LIKE 'Valor'
No me saca ningún registro. Lo he probado en el SQL Wizard, y no saca nada tampoco. Si uso '=' en lugar de 'like' va bien, pero no consigo el efecto deseado, ya que no me saca registros hasta que 'Valor' sea igual a algún registro.

En la form tengo un query, un table, y dos datasource, conectados como sigue:

DataSource2 <- Query <- DataSource1 <- Table

No se si es necesario conectarlas así, si está mal, agradecería un consejillo sobre el tema de las conexiones, que creo que siempre lo hago un poco "a boleo".

Saludos del elfo
Responder Con Cita
  #7  
Antiguo 22-12-2005
Avatar de ElDioni
[ElDioni] ElDioni is offline
Miembro Premium
 
Registrado: jul 2005
Ubicación: Murcia (España)
Posts: 935
Poder: 19
ElDioni Va por buen camino
mira aqui http://www.clubdelphi.com/foros/showthread.php?t=14913
Responder Con Cita
  #8  
Antiguo 22-12-2005
Delfino Delfino is offline
Miembro
 
Registrado: jul 2003
Ubicación: Madrid
Posts: 974
Poder: 21
Delfino Va por buen camino
mira el componente JvDBLookupEdit de la JVCL
__________________
¿Microsoft? No, gracias..
Responder Con Cita
  #9  
Antiguo 23-12-2005
Elfoscuro Elfoscuro is offline
Miembro
 
Registrado: mar 2005
Posts: 59
Poder: 20
Elfoscuro Va por buen camino
Muchas gracias. Probaré las JVCL. Le he pegado un vistazo a la demo y hay varias cosas MUY interesantes.

Además, es freeware, no?

Saludos del elfo
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


La franja horaria es GMT +2. Ahora son las 04:21:15.


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