Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-02-2013
novato_erick novato_erick is offline
Miembro
 
Registrado: ago 2010
Ubicación: Panamá
Posts: 396
Poder: 14
novato_erick Va por buen camino
buscar registros de un ClientDataSet a otro clientDataSet

Hola chicos como estan:

Tengo dos ClientDataSet

cdsConsultaVentaFactura el cual me trae todas las ventas durante un periodo de fechas.

cdsConsultarArancel el cual me trae un todos los aranceles existente en mi db con su respectivo campo en comun en los ClientDataSet llamado Cod_barra

en fin desearia saber si es posible

una fraccion de mi codigo es asi:

Código Delphi [-]

procedure TfrmPrincipal.btnBuscarArancelClick(Sender: TObject);
var
  i, icv: integer;
begin
  begin
    with dmConecta.qConsultaVentaFecha do
    begin
      Close;
      ParamByName('FechaInicio').AsDate := dtpInicio.Date;
      ParamByName('FechaFin').AsDate := dtpFinal.Date;
      open;
    end;
    dmlogica.cdsConsultaFacturaFecha.open;
  end;
   dmLogica.cdsInventarioConsulta.open;
       begin
        with dmConecta.qConsultarArancel do
        begin
          Open;
        end;
          dmlogica.cdsConsultarArancel.Open;
          i := dmlogica.cdsConsultarArancel.RecordCount;
          edit2.Text := inttostr(i);
     end;
         dmlogica.cdsConsultarArancel.First;
         for i := 1 to dmlogica.cdsConsultarArancel.RecordCount do
       begin
         dmlogica.cdsConsultaFacturaFecha.First;
         CodBarra := dmlogica.cdsConsultaFacturaFechaCODIGO_ARTICULO.AsString;
         icv := dmLogica.cdsConsultaFacturaFecha.RecordCount;
         Edit3.Text := IntToStr(icv);
    // para conocer en el edit la cantidad de registros devueltos
         dmlogica.cdsConsultaFacturaFecha.First;
         for icv := 1 to dmlogica.cdsConsultaFacturaFecha.RecordCount do
        begin
         with dmconecta.qConsultaArticuloVenta do
         begin
           Close;
           ParamByName('CodBarra').AsString := CodBarra;
           ParamByName('CodArancel').AsString :=
         end;
end;

saludos

novato_erick
Responder Con Cita
  #2  
Antiguo 02-02-2013
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
Cita:
Empezado por novato_erick Ver Mensaje
Tengo dos ClientDataSet

cdsConsultaVentaFactura el cual me trae todas las ventas durante un periodo de fechas.

cdsConsultarArancel el cual me trae un todos los aranceles existente en mi db con su respectivo campo en comun en los ClientDataSet llamado Cod_barra

en fin desearia saber si es posible ... ????
Hola.

No puedo captar la idea, olvidaste mencionar sobre que posibilidad estas consultando.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 02-02-2013
novato_erick novato_erick is offline
Miembro
 
Registrado: ago 2010
Ubicación: Panamá
Posts: 396
Poder: 14
novato_erick Va por buen camino
hola eficsa:

Cita:
No puedo captar la idea, olvidaste mencionar sobre que posibilidad estas consultando.
Tengo en una tabla llamada inventario con los datos de los articulos el cual esta codigo_barra, codigo3, nombre, nombre2 y otros campos mas respecto al articulo

realice una consulta que me trajera una consulta de nombre2 con codigo3 de dicha tabla. ejemplo:

Código SQL [-]
Select Distinct Nombre2, Codigo3 From Inventario Where Nombre2 is not null and Codigo3 is not null
order by Nombre2

Eso lo guarde en un ClientDataSet llamado cdsConsultarArancel.

ahora tengo un Query con parametros de fecha de busqueda que llama todas las ventas de ese periodo y lo guarda en otro ClientDataSet llamado cdsConsultaVentaFecha.

ahora tengo la informacion en memoria de esas consultas en los dos ClientDataSet y en fin si es posible hacer la búsqueda con los componentes en memoria en vez de utilizar este metodo que tengo a continuación ya que es muy lento.

Código Delphi [-]
procedure TfrmSecundario.Button1Click(Sender: TObject);
 Var
 i: integer;
  begin
  //Activamos nuestro timer para el progressbar
    timer1.Enabled := True;
  //Iniciamos Consulta guardandolo en la variable
    CodArancel := trim(Edit1.Text);
    dmLogica.cdsInventarioConsulta.Close;
    with dmconecta.qConsultaArancel do
    begin
      Close;
      ParamByName('Arancel').Asstring := CodArancel; //Aqui siempre el usuario tiene que conocer el código del arancel mientras este ya esta en la db
      open;
    end;
    NomArancel := dmconecta.qConsultaArancelNOMBRE2.AsString;
    dmLogica.cdsInventarioConsulta.open;
    i := dmLogica.cdsInventarioConsulta.RecordCount; //me trae todos los artículos que tengan ese código de arancel para saber cuantos hay y así poder hacer el ciclo FOR
    Edit2.Text := IntToStr(i);
    pstatus := strtoint(edit2.Text);
    // para conocer en el edit la cantidad de registros devueltos
  end;
  dmLogica.cdsInventarioConsulta.First;
  for i := 1 to dmLogica.cdsInventarioConsulta.RecordCount do
  begin
    dmLogica.cdsConsultaVentaFacturas.Close;
    begin
      CodBarra := dmLogica.cdsInventarioConsultaCOD_BARRAS.Asstring; // aquí busca en venta articulo por articulo de los n registros encontrados 
      NomArancel := dmLogica.cdsInventarioConsultaNOMBRE2.Asstring;
      with dmconecta.qConsultaVentaFactura do
      begin
        Close;
        ParamByName('Codigo').Asstring := CodBarra;
        ParamByName('FechaInicio').AsDateTime := dtpInicioFecha.DateTime;
        ParamByName('FechaFin').AsDateTime := dtpFinalFecha.DateTime;
        open;
      end;
      dmLogica.cdsInventarioConsulta.Next;
      //Pasa al siguiente registro abriendo el ClientDataSet
      dmLogica.cdsConsultaVentaFacturas.open;
      //Activa el progressbar utilizando el valor de la variable e incrementandolo + 1
      ProgressBar1.Position := i + 1;
      Sleep(10);
      Application.ProcessMessages;
    end;
       dmLogica.cdsAgregaValorFacturas.AppendData
      (dmLogica.cdsConsultaVentaFacturas.Data, True); // si aqui encuentra alguno en la consulta de venta hace un append... para mandarme 
  end;
  edtCodArancel.Text := CodArancel;
  edtNomArancel.Text := NomArancel;
  //realiza Calculos con procedimientos
  registros_vendidos;
  trae_peso;
  //Desactiva el Timer para el progresbar al terminar el recorrido de los progressbar.max = pstatus
  timer1.Enabled := false;
  end;
end;

agradezco cualquier ayuda para mejorar los resultados sean rapidos... cabe mencionar que utilizo dos conexiones diferentes ya que los articulos estan en la db llamada inventario y otra ventas en firebird.

Saludos
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
Insercción de registros en clientdataset briast Conexión con bases de datos 9 30-05-2017 17:18:23
eliminar registros del ClientDataSet _CALI Varios 7 21-05-2011 09:21:27
Buscar registro por fecha utilizando filtro de ClientDataSet radiohead Conexión con bases de datos 8 31-08-2007 10:10:40
por que duplicidad de registros con clientdataset sin ingresar registros ...mysql Arturo MySQL 3 05-09-2006 18:39:37
Copiar Campos de un ClientDataSet a Otro linsua Conexión con bases de datos 4 06-11-2003 21:25:00


La franja horaria es GMT +2. Ahora son las 18:24:27.


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