Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Tablas planas
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-05-2004
RyAr RyAr is offline
Miembro
 
Registrado: oct 2003
Posts: 74
Poder: 23
RyAr Va por buen camino
Buenas, gracias por tu codigo me ha ayudado a aclararme como atacar la base de datos, pero el problema es que en el grid no me "filtra".

Yo teniendo ya todo hecho en Delphi añado un TQuery al form, y en Datasource le digo el Datasource1 que es el que esta linkado con Table1. Posteriormente le añado el codigo SQL al TQuery:

Código SQL [-]
select * from agenda where Nombre like :nombre

Y posteriormente en un boton buscar añado este codigo en el evento onclick:

Código Delphi [-]
Query.Close;
Query.ParamByName('nombre').AsString := '%' + Edit1.Text + '%';
Query.Open;

Y luego en un boton de cerrar busqueda añado esto:

Código Delphi [-]
Query.Close;

Con esto deberia "filtrarme en el DBGrid", no??, tambien he probado en el codigo del final del boton de buscar añadir un DBGrid.refresh y tampoco. Me extraña porque el codigo no da error, simplemnte en el DBGrid se quedan lso mismos datos sin hacer nada.

Saludos, y gracias
Responder Con Cita
  #2  
Antiguo 15-05-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 27
__cadetill Va por buen camino
No me ha terminado de quedar claro si tienes el Query unido al Grid mediante el DataSource o no.

Si no lo tienes unido, haz la unición, sino, no te servirá de nada lanzar la Query

Si lo tienes unido.... realmente no te "filtra"? Debería hacerlo!! O el problema está en "quitar el filtro"?
Responder Con Cita
  #3  
Antiguo 15-05-2004
RyAr RyAr is offline
Miembro
 
Registrado: oct 2003
Posts: 74
Poder: 23
RyAr Va por buen camino
Buenas, tengo una tabla a la cual le digo donde esta la tabla, y el nombre de la tabla de paradox que es agenda.db, luego pongo un datasource al que le doy en dataset el nombre de la tabla. Luego en el TQuery en dataset le doy el datasouerce, y lo mismo en el DBGrid, ya que yo veo los datos en el grid, pero al buscar no "filtran".

He probado a poner una opcion del grid de filtered a tru, pero tampoco "filtra".

Otra prueba que he ehcho es en el TQyery hacer una consulta simple tipo select * from agenda where nombre = 'Pepe' y al ejecutar query.open tampoco se "filtraba" en el grid.

Estoy ya medio loco xDDDDDDDDD

Saludos
Responder Con Cita
  #4  
Antiguo 15-05-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 27
__cadetill Va por buen camino
Creo que el problema que tienes es de enlace de componentes

Sería lo siguiente:

TDBGrid (datasource) -> TDataSource (dataset) -> TQuery

Lo que hay entre paréntesis es la propiedad que se ha de usar para enlazar con el siguiente componentes

El TQuery no ha de ir enlazado a ningún lado y, el TTable te sobraría
Responder Con Cita
  #5  
Antiguo 15-05-2004
RyAr RyAr is offline
Miembro
 
Registrado: oct 2003
Posts: 74
Poder: 23
RyAr Va por buen camino
Efectivamente era eso, muchas gracias por tu paciencia. Ahora para que em muestra la tabla antes de ejecutar la consulta lo unico que he de hacer es cam,biar el datasource a la tabla, y luego al query.

Saludos, y muchas gracias
Responder Con Cita
  #6  
Antiguo 16-05-2004
RyAr RyAr is offline
Miembro
 
Registrado: oct 2003
Posts: 74
Poder: 23
RyAr Va por buen camino
Buenas, he estado probando para cuando una consulta no devuelve filas, y he probado esta codigo:

Código Delphi [-]
If Query.RowsAffected  = 0 then begin
ShowMessage ('No hay datos en la consulta.');
end;

El problema es que siempre me sale el mensaje hasta cuando hay resultados en la consulta, ¿no es asi?.

Saludos, y gracias
Responder Con Cita
  #7  
Antiguo 16-05-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 27
__cadetill Va por buen camino
Prueba con Query.IsEmpty
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


La franja horaria es GMT +2. Ahora son las 18:31:57.


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