![]() |
TQuery y Dbgrid
Hola a todos, mi pregunta es como relacionar una TQuery en un DBgrid.
Porque lo único que tiene el DBgrid es el DataSource, pero me aparecen los DataSource de las Tablas, no de la Query. Gracias |
Hola golf2008, tu Query tiene que estar enlazado a un DataSource y ese DataSource es el que enlazas con tu DBGrid.
Saluditos |
Gracias Caro por tu tiempo, pero lo tengo así configurado.
Tengo un Data Modulo donde están los Datasource y en el formulario el TQuery. Este TQuery está relacionado con el DataSource que está en el DataModulo y el DBGrid con el mismo DataSource. Gracias igual |
|
????????????????????
|
Siguiendo lo apuntado por los compañeros/as te tiene que funcionar, pero incidiendo en lo mismo.
Necesitas un Tquery a este le conectas un DataSource y a éste último tu rejilla. Puedes tener todos los componentes en el formulario o en el DataModulo, pero enlazadas en la forma descrita. Un Saludo. |
En el DM (TDataModule):
TQuery1 Datasource1.Dataset = TQuery1 En el Form (TForm) DBGrid1.Datasource = DM.Datasource1 |
Gracias a todos, pero como dice marcoszorrilla no importa si está el DataModulo o en el Form.
El tema es que no me funciona. Por ejemplo, pongan un TQuery, un DBGrid y un TEdit . En el TEdit ingreso el Código del Cliente, al presionar <enter> ejecuto la query SELECT * FROM clientes WHERE codigo='+Edit.text; Se supone que en el DBGRID el puntero me tiene que quedar apuntando al Cliente del cual ingrese el código. Pero me queda en el primer registro. Gracias igual |
Cita:
Sería bueno que expliques mas sobre lo que quieres hacer. Saluditos |
Caro lo que quiero es que en el DBgrid aparezca el/los registros de la tabla Cliente filtrada por la Query.
Por ejemplo si en el TEdit pongo un código o categoría, quiero que luego de ejecutarse la Query muestre en el DBgrid el/los Clientes que se corresponden con el código o categoría ingresada. Saludos |
Como estas ejecutando tu Query?, te pongo un ejemplo:
Y para la categoria es solo aumentar un or en tu consulta, lo anterior funciona si tu campo codigo es entero, sino fuera entero debes añadir comillas. Saluditos |
Caro gracias por tu tiempo, yo utlizo la segunda opción de consulta.
Pero mas allá de eso no logro mostrar en el DBGrid el resultado de la consulta ejecutada con el TQuery. Básicamente es ese mi problema. Gracias |
Si has hecho las conexiones según lo que te han indicado, es posible que el problema sea que la consulta no devuelva ningún dato.
Por lo que te aconsejo que no pongas ninguna claúsula Where simplemente:
Así podrás ir descartando los fallos que hacen que no te funcione la consulta correctamente. Un Saludo. |
También puedes enviar el archivo .dfm del datamodulo y del form para que lo veamos. Yo creo que el problema está en cómo unes el DataSource con el TQuery y el DBGrid.
|
Por fin funcionó.
El tema es que hay que insertar otro TDataSource para que la consulta se relacione al DBgrid. En total tiene que haber un TTable con su TDataSource. Un TQuery, otro TDataSource (relacionando el TQuery en el Dataset) y el DBGRid relacionado al último TDataSource. Gracias a todos por su tiempo |
| La franja horaria es GMT +2. Ahora son las 12:21:07. |
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