| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Akino Invitado
|
Publicado: Sab 15 Oct, 2005 4:41 pm Asunto: atualizador |
|
|
Bienas!
Tengo una duda, es que quiero hacer que un DBGrid me se vaya actualizando cada vez que inserto una letra en un tedit.
- En la consulta SQL del dbgrid, como me puedo referir a que me busque lo esrito en el tedit pero que todavia no esta completa. O sea, como un ho*.doc en un buscador de windows.
- Es la mejor forma de hacerlo?? Es que tengo una tabla clientes i quiero que a medida que vaya escribiendo me vaya quitando posibles resultados en el grd.
La consulta del grid la ago en el evento keypress del edit.
Muchas gracias |
|
| Volver arriba |
|
 |
alfredo Master

Registrado: 13 Oct 2003Mensajes: 246Ubicación: Valencia Venezuela
|
Publicado: Sab 15 Oct, 2005 6:10 pm Asunto: |
|
|
Hola, puedes lanzar una consulta de la manera siguente:
En el evento OnKeyPress del Edit pones
| Código: | Query1->SQL->Clear();
Query1->SQL->Add("Select NombreCampo from NombreTabla where NombreCampo Like '"+Edit1->Text+"%'");
Query1->Open(); |
Pero no te lo recomiendo a menos que sea para tablas cortas ya que lanzarias una consulta cada vez que se pulse una tecla y se puede poner muy lenta tu aplicacion. Es preferible lanzar la consulta cuando se presione la tecla enter por ejemplo y hacer la consulta de modo que abarque no solo los que empiecen con.. sino los que contengan a..
| Código: |
if(Key==13)
{
Query1->SQL->Clear();
Query1->SQL->Add("Select NombreCampo from NombreTabla where NombreCampo Like '%"+Edit1->Text+"%'");
Query1->Open();
} |
Lo anterior lo podemos refinar un poco si ponemos la DBGrid en un Form independiente y con la propiedad visible a false para mostrarlo solo cuando sea requerido
| Código: |
if(Key==13)
{
Query1->SQL->Clear();
Query1->SQL->Add("Select NombreCampo from NombreTabla where NombreCampo Like '%"+Edit1->Text+"%'");
Query1->Open();
}
if(Query1->RecordCount>=1)
FormGrid->Show(); |
Despues debes proveer una forma de copiar lo que seleccione el usuario al edit, claro en caso que seleccione algo. |
|
| Volver arriba |
|
 |
akino Invitado
|
Publicado: Sab 15 Oct, 2005 10:09 pm Asunto: |
|
|
ok, lo probare. Es que estoy haciendo una aplicacioni es forma del grid es la unica que me se ha ocurrido. Nose de que otra forma lo podria hacer. Mi idea era tambien hacer-lo com la barra de direccion del explorador. Que a medida que vaya escribiendo del mismi edit salga l ke pueda poner. Eso si que nose como hacer-lo.
Gracias! |
|
| Volver arriba |
|
 |
akino Invitado
|
Publicado: Dom 30 Oct, 2005 10:22 pm Asunto: |
|
|
Buenas! He puesto la consulta Select NombreCampo from NombreTabla where NombreCampo Like '"+Edit1->Text+"%' pero hay una cosa.
Cuando pongo la primera letra me lo mostra todo. Es como si fuera un caracter retrazado. Si ponga la segunda, me muestra los resultados de la primera....
Puede ser culpa del LIKE??
gRACIAS |
|
| Volver arriba |
|
 |
Buildero Master


Registrado: 23 Dic 2003Mensajes: 523Ubicación: Puebla, México
|
Publicado: Lun 31 Oct, 2005 3:55 pm Asunto: |
|
|
Prueba tu código en el evento OnKeyUp
Saludos. _________________ Quien hace una pregunta teme parecer un ignorante durante cinco minutos, quien no pregunta se mantiene ignorante toda la vida. |
|
| Volver arriba |
|
 |
|