Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Tratar los resultados de una consulta sql. (https://www.clubdelphi.com/foros/showthread.php?t=72758)

botones67 10-03-2011 13:57:33

Tratar los resultados de una consulta sql.
 
Hola amigos del foro necesito una ayudita.
Tengo esta consulta simple( SELECT * FROM FACTURAS WHERE REFE= un número deFactura y los resultados los meto en un grid para poder navegar por ellos.
Quisiera que al hacer clic en alguna fila de los resultados pudiera visionar la factura en cuestión. Es decir , llevar el puntero al número de factura dada del fichero facturas para poder visionarla. Creo haber explicado bien el asunto.
Gracias anticipadas.:)

Casimiro Notevi 10-03-2011 14:11:38

Cuando "navegas" por el grid ya estás moviendo el puntero al registro que estás posicionando. Sólo has de tratar los datos como quieras.

oscarac 10-03-2011 14:51:27

Quiza no he entendido bien...

pero en tu consulta
Código Delphi [-]
SELECT * FROM FACTURAS WHERE REFE= un número deFactura
me parece que ubicas solo 1 Factura, el grid solo te mostrara los resultados de ESA factura

es lo que has querido decir?

Chris 10-03-2011 16:03:03

Te refieres a llevar el foco a la columna del Grid donde se muestra el número de factura?

botones67 10-03-2011 19:37:44

Muchas gracias por contestar. Ya di con la solución.
A ver no me expliqué bien, es así: (select * from facturas where pagada=true).
llena el grid con por ejemplo 130 facturas. Yo lo que quería es cliquear sobre una y buscarla en la base de datos.
El siguiente código lo hace.
if not ds1.DataSet.IsEmpty then
begin
if not DataModule2.Facturas.Locate('refe',ds1.DataSet.FieldByName('nºfactura').AsFloat,[]) then ShowMessage('no se encuentra la factura');
close;
end;
else
ShowMessage('no hay facturas');

Muchas gracias a todos.:D

Casimiro Notevi 10-03-2011 19:48:17

Cita:

Empezado por botones67 (Mensaje 393164)
Muchas gracias por contestar. Ya di con la solución.
A ver no me expliqué bien, es así: (select * from facturas where pagada=true).
llena el grid con por ejemplo 130 facturas. Yo lo que quería es cliquear sobre una y buscarla en la base de datos.[..]

No hace falta que busques nada en la BD, ya está buscada, cuando haces "click" en una línea del dbgrid ya estás posicionándote sobre esa factura.

botones67 11-03-2011 13:00:01

Si, pero hay que trabajar con el acceso a campos del query. Te recuerdo que
con el Tquery se crea una tabla virtual de la tabla física.

Gracias por molestaros en contestar.

botones67 12-03-2011 22:45:25

Muchas gracias por contestar. Ya di con la solución.
A ver no me expliqué bien, es así: (select * from facturas where pagada=true).
llena el grid con por ejemplo 130 facturas. Yo lo que quería es cliquear sobre una y buscarla en la base de datos.
El siguiente código lo hace.
i
Código SQL [-]
f not ds1.DataSet.IsEmpty then
    begin
        if not   DataModule2.Facturas.Locate('refe',ds1.DataSet.FieldByName('nºfactura').AsFloat,[]) then ShowMessage('no se encuentra la factura');
      close;
    end;
 else
    ShowMessage('no hay facturas');

Muchas gracias a todos.:D[/quote]

botones67 12-03-2011 22:46:36

]Hola amigos del foro necesito una ayudita.
Tengo esta consulta simple( SELECT * FROM FACTURAS WHERE REFE= un número deFactura y los resultados los meto en un grid para poder navegar por ellos.
Quisiera que al hacer clic en alguna fila de los resultados pudiera visionar la factura en cuestión. Es decir , llevar el puntero al número de factura dada del fichero facturas para poder visionarla. Creo haber explicado bien el asunto.
Gracias anticipadas.:

botones67 12-03-2011 22:48:17

]Muchas gracias por contestar. Ya di con la solución.
A ver no me expliqué bien, es así: (select * from facturas where pagada=true).
llena el grid con por ejemplo 130 facturas. Yo lo que quería es cliquear sobre una y buscarla en la base de datos.
El siguiente código lo hace.
Código Delphi [-]
 if not ds1.DataSet.IsEmpty then
    begin
        if not   DataModule2.Facturas.Locate('refe',ds1.DataSet.FieldByName('nºfactura').AsFloat,[]) then ShowMessage('no se encuentra la factura');
      close; // y voy a la tabla física donde ya estan colocados todos los datos con componentes dbedit, edtext,dbmemo ect....
    end;
 else
    ShowMessage('no hay facturas');

Muchas gracias a todos.:D[/quote][/quote]

botones67 17-03-2011 19:24:03

Ahora quería que tras los resultados en el grid, los campos que fueran numericos , como por ejemplo el total factura se visualizara con el signo del € correspondiente.


Código SQL [-]
with DataModule2.qry1.FieldByName('Total_factura') as TFloatField  do
       begin
          DisplayFormat:=',0.00 €;-,0.00 € '
       end;
Muchas gracias a todos :)


La franja horaria es GMT +2. Ahora son las 05:44:06.

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