Ver Mensaje Individual
  #3  
Antiguo 24-10-2016
jose001 jose001 is offline
Miembro
NULL
 
Registrado: jul 2016
Posts: 13
Reputación: 0
jose001 Va por buen camino
gracias

Cita:
Empezado por wilcg Ver Mensaje
Prueba de esta manera,

Usa un Query para cada DBGrid.

// Filtrar todas la ventas que cumplen la condicion de busqueda
Código Delphi [-]
    with QueryVentas do
    begin
      Close;
      SQL.Clear;
      SQL.Add('SELECT * FROM ventas '+
         ' WHERE fecha_venta BETWEEN '+
         QuotedStr(FormatDateTime( 'yyyy/mm/dd',edtFInicio.Date ))+
         ' AND '+ QuotedStr(FormatDateTime( 'yyyy/mm/dd',edtFFin.Date ))+
         ' ORDER BY id_venta DESC ');
      Open;
      if RecNo < 1 then
        Close;
   end;

Ahora en el el evento OnDataChange del Datasouce vinculado a las ventas, este codigo.

// Filtrar detalles de acuerdo a la venta
Código Delphi [-]
  with QueryVentas do
  begin
    if (Active = True) AND (RecNo > 0) then
      jIdVenta := FieldByName('id_venta').Value;

   QueryDetalles.Close;
   QueryDetalles.SQL.Clear;
   QueryDetalles.SQL.Add('SELECT * FROM detalle_venta '+
     ' WHERE id_venta = :ID ');
   QueryDetalles.ParamByName('ID').Value := jIdVenta;
   QueryDetalles.Open;
   if QueryDetalles.RecNo < 1 then
     QueryDetalles.Close;
  end;

Esto hará que que conforme selecciones un registro de venta te mostrará los detalles en el DBGrid detalles de venta.
Espero que te sirva,
gracias por tomarte el tiempo en ayudarme. Mira resulta que probe tu codigo y a la hora de abrir el listado me queda los 2 dbgrid vacios
Responder Con Cita