Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   traer registros de dos consulta con ClientDataSet (https://www.clubdelphi.com/foros/showthread.php?t=81625)

novato_erick 30-11-2012 22:43:47

traer registros de dos consulta con ClientDataSet
 
Estimados Señores:

me gustaría saber si es posible ir agregando datos proveniente de dos consultas diferentes (cada uno con su respectivo ClientDataSet) a un tercer ClientDataSet.

aquí esta mi código ejemplo:

Código Delphi [-]
procedure TfrmPrincipal.btnBuscaArancelClick(Sender: TObject);

var
i : integer;
CodBarra, CodArancel, NomArancel: string;

begin

     begin
         CodArancel := trim(edit1.Text);
         dmLogica.cdsInventarioConsulta.Close;
           with dmConecta.qConsultaArancel do
             begin
               close;
               ParamByName('Arancel').AsString := CodArancel;
               open;
              end;
         dmLogica.cdsInventarioConsulta.Open; // Aqui pongo los datos traidos desde mi primera consulta al ClientDataSet
         i := dmlogica.cdsInventarioConsulta.RecordCount; // realizo un conteo de registro para crear mas adelante un ciclo For
         edit2.Text := IntToStr(i);    // para conocer en el edit la cantidad de registros devueltos no es relevante
     end;

     dmlogica.cdsInventarioConsulta.First; //Para colocarme en el primer registro
      for I := 1 to dmlogica.cdsInventarioConsulta.RecordCount do //Empiezo mi ciclo For a partir del total de Registro traido de la base de datos
    begin
     dmlogica.cdsConsultaVenta.Close; //Cierro cdsConsultaVenta
          begin
          CodBarra := dmlogica.cdsInventarioConsultaCOD_BARRAS.AsString;
          NomArancel := dmLogica.cdsInventarioConsultaNOMBRE2.AsString;
           with dmConecta.qConsultaVenta do
            begin
              Close;
              ParamByName('COD').AsString := CodBarra;
              ParamByName('FechaInicio').AsDateTime := dtpInicio.DateTime;
              ParamByName('FechaFin').AsDateTime := dtpFinal.DateTime;
              Open;
            end;
            dmLogica.cdsConsultaVenta.Open; //Abro mi cdsConsultaVenta en teoria para ir mostrando cada consulta realizado por el ciclo For.
            dmlogica.cdsInventarioConsulta.Next;
            dmLogica.cdsAgregaValor.AppendData(dmlogica.cdsConsultaVenta.Data, True);//Aqui es donde pretendo que cada vez que realizaba una consulta me agregaria en mi cdsAgregaValor las consultas
          end;                                                                                                      //Realizadas en mi ciclo For
    end;
end;

En fin utilizo el debug y hace el ciclo pero el problema que el cdsConsultaVenta no hace nada y al final el tercer ClientDataSet llamado cdsAgregaValor no captura nada...

Es posible hacerlo?



Saludos

novato_erick


La franja horaria es GMT +2. Ahora son las 18:39:25.

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