Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-12-2021
kainchu3102 kainchu3102 is offline
Miembro
 
Registrado: jul 2021
Posts: 79
Poder: 3
kainchu3102 Va por buen camino
pasar datos a Stringrid

Hola buenas tardes quisiera hacer una consulta estoy estancado con algo, necesito su ayuda,
consulta:
Como puedo hacer para llevar datos de un fdquery a un StringGrid
por ejemplo llevar detalles de una venta a un stringrid media un ID

Código Delphi [-]
Var

j :Integer;
begin
    for J := 0  to FORMABMVENTA.SGVENTAS.ColCount  do
  begin
      with MDBRIONES.FDQSEL_DET_VEN2 Do
      Begin
      SQL.Clear;
      SQL.Add('SELECT can_det FROM detalle_venta WHERE id_ven_det = :ID_DETS');
      ParamByName('ID_DETS').AsInteger := ID_VENTA;
      open;

      FORMABMVENTA.SGVENTAS.Cells[0, j]:= MDBRIONES.FDQSEL_DET_VEN2.Fields.FieldByName('can_det').AsString ;
     //FORMABMVENTA.SGVENTAS.Cells[j,FORMABMVENTA.SGVENTAS.RowCount -i] := MDBRIONES.FDQSEL_DET_VEN2.Fields.FieldByName('can_det').AsString ;
     end;
    end;
        FORMABMVENTA.ShowModal;
end;



eh intentado algo asi pero solo me carga una sola fila y son varias en realidad. mcuhas gracias desde ya y un saludo cordial.
Responder Con Cita
  #2  
Antiguo 12-12-2021
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Creo que buscas algo así:
Código Delphi [-]
...
var
  j: Integer;
begin
   FDQuery.Close;
   FDQuery.SQL.Text := 'SELECT COUNT(*) AS CONT FROM detalle_venta';
   FDQuery.Active := True;
   StringGrid1.RowCount := FDQuery.FieldByName('CONT').AsInteger;

   FDQuery.Close;
   FDQuery.SQL.Clear;
   FDQuery.SQL.Add('SELECT can_det FROM detalle_venta');
   FDQuery.SQL.Add('WHERE id_ven_det = :ID_DETS');
   FDQuery.ParamByName('ID_DETS').AsInteger := ID_VENTA;
   FDQuery.Active := True;

   j := StringGrid1.FixedRows;
   while not FDQuery.Eof do
   begin
     StringGrid1.Cells[0, j] := FDQuery.FieldByName('can_det').AsString;
     FDQuery.Next;
     Inc(j);
   end;
  ...

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 12-12-2021 a las 22:09:15.
Responder Con Cita
  #3  
Antiguo 12-12-2021
kainchu3102 kainchu3102 is offline
Miembro
 
Registrado: jul 2021
Posts: 79
Poder: 3
kainchu3102 Va por buen camino
Hola Esfisa Muchas gracias por responder, pero creo mas que un listado es esto lo que necesito que se vayan varios registro de una misma ID.
y lo estoy haciendo todo mal
Código Delphi [-]
   for J := 0  to FORMABMVENTA.SGVENTAS.RowCount  do
        begin
 with MDBRIONES.FDQSEL_DET_VEN2 Do
      Begin
      SQL.Clear;
      SQL.Add('SELECT can_det, esp_det, tip_det, alt_det, anc_det, lar_det FROM detalle_venta WHERE id_ven_det = :ID_DETS');
      ParamByName('ID_DETS').AsInteger := ID_VENTA;
      open;

     FORMABMVENTA.SGVENTAS.Cells[0, j]:= MDBRIONES.FDQSEL_DET_VEN2.Fields.FieldByName('can_det').AsString ;
     FORMABMVENTA.SGVENTAS.Cells[1, j]:= MDBRIONES.FDQSEL_DET_VEN2.Fields.FieldByName('esp_det').AsString ;
     FORMABMVENTA.SGVENTAS.Cells[2, j]:= MDBRIONES.FDQSEL_DET_VEN2.Fields.FieldByName('tip_det').AsString ;
     FORMABMVENTA.SGVENTAS.Cells[3, j]:= MDBRIONES.FDQSEL_DET_VEN2.Fields.FieldByName('alt_det').AsString ;
     FORMABMVENTA.SGVENTAS.Cells[4, j]:= MDBRIONES.FDQSEL_DET_VEN2.Fields.FieldByName('anc_det').AsString ;
     FORMABMVENTA.SGVENTAS.Cells[5, j]:= MDBRIONES.FDQSEL_DET_VEN2.Fields.FieldByName('lar_det').AsString ;

      FORMABMVENTA.ShowModal;

no lo lo estoy entendiendo al codigo, perdon poser tan novato
Responder Con Cita
  #4  
Antiguo 13-12-2021
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

No tienes por que disculparte, pero si no es un listado no entiendo que es lo que pretendes hacer sobre el StringGrid.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #5  
Antiguo 13-12-2021
kainchu3102 kainchu3102 is offline
Miembro
 
Registrado: jul 2021
Posts: 79
Poder: 3
kainchu3102 Va por buen camino
Seria llevar registros de una tabla de base de datos a un stringgrid por ejemplo

id_det , id_ven_det , cant_det , esp_det, tip_det
1, 1, 100, afata, tabla
2, 1, 50, afata, tabla
3, 3, 100, cedro , tablon
4 , 3, 200, cebil, tablon

es simplemente llevar desde una llamada de FDQuery todos los registros de las misma id_ven_det

EJEMPLO para llevar una StringGrid
id_ven_det, cant_det , esp_det, tip_det
1, 100 , afata, tabla ,
1, 50 , afata , tabla,

Espero haberme hecho entender o sino estoy en el infierno muchas gracias Ecfisa.
Responder Con Cita
  #6  
Antiguo 13-12-2021
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Entonces sólo agrega los demás campos al código que publiqué inicialmente (1).
Código Delphi [-]
var
  j: Integer;
begin
   FDQuery.Close;
   FDQuery.SQL.Text := 'SELECT COUNT(*) AS CONT FROM detalle_venta';
   FDQuery.Active := True;
   StringGrid1.RowCount := FDQuery.FieldByName('CONT').AsInteger;

   FDQuery.Close;
   FDQuery.SQL.Clear;
   FDQuery.SQL.Add('SELECT can_det, esp_det, tip_det, alt_det, anc_det, lar_det FROM detalle_venta');   
   FDQuery.SQL.Add('WHERE id_ven_det = :ID_DETS');
   FDQuery.ParamByName('ID_DETS').AsInteger := ID_VENTA;
   FDQuery.Active := True;

   j := StringGrid1.FixedRows;
   while not FDQuery.Eof do
   begin
     StringGrid1.Cells[0, j] := FDQuery.FieldByName('can_det').AsString;
     StringGrid1.Cells[1, j] := FDQuery.FieldByName('esp_det').AsString; // (1)
     StringGrid1.Cells[2, j] := FDQuery.FieldByName('tip_det').AsString;
     StringGrid1.Cells[3, j] := FDQuery.FieldByName('alt_det').AsString;
     StringGrid1.Cells[4, j] := FDQuery.FieldByName('anc_det').AsString;
     StringGrid1.Cells[5, j] := FDQuery.FieldByName('lar_det').AsString;    
     FDQuery.Next;
     Inc(j);
   end;
   ...
Y claro, cambia los nombres "StringGrid1" y "FDQuery" por tus nombres de StringGrid y FDQuery respectivamente.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #7  
Antiguo 13-12-2021
manelb manelb is offline
Miembro
 
Registrado: mar 2017
Posts: 280
Poder: 8
manelb Va por buen camino
¿Tiene que ser un TStringGrid necesariamente ?

Lo digo por que un TDBGrid te haría lo mismo y simplemente en el where de la consulta o en el Filter de FDQuery podrias filtrar los registros que quieres visualizar.

Saludos a todos...
Responder Con Cita
  #8  
Antiguo 14-12-2021
kainchu3102 kainchu3102 is offline
Miembro
 
Registrado: jul 2021
Posts: 79
Poder: 3
kainchu3102 Va por buen camino
Si es necesario por ahi iria el detalle de una por si quiere modificar eliminar o subir otro producto para la venta pero nose si se podria hacer con un cliclo for
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
StrinGrid desde dos fuentes de Datos o Dgrid webmasterplc SQL 4 06-10-2020 10:32:28
Pasar datos de un Stringrid a un memo CarlosAlberto Varios 3 21-02-2017 13:35:24
StrinGrid se puede poner color a los datos CarlosAlberto Varios 3 03-11-2011 01:09:43
pasar los nombres de los campos de una tabla a un StrinGrid ingabraham Varios 6 01-02-2010 13:44:17
Como pasar datos de una hoja de Excel a Bases de Datos de Paradox Goyo OOP 1 06-02-2007 01:57:20


La franja horaria es GMT +2. Ahora son las 20:08:07.


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