Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Copiar registro de una Tabla a otra Tabla, sin repetirse (https://www.clubdelphi.com/foros/showthread.php?t=45235)

Vales08 10-04-2013 23:49:04

Muchas gracias Neftali
Bueno les comento que logre hacer lo que necesitaba gracias a ustedes, agregue una linea mas al codigo para evitar que me pasen los registros repetidos.. Le dejo el codigo por si a alguien le llega a hacer falta..
Ahi les va:
Código Delphi [-]
var
i, alim, plan: Integer;
begin
if Grilla_plan_a.SelectedRows.Count > 0 then
  begin
    with Grilla_plan_a.DataSource.DataSet do
      begin
        for i := 0 to Grilla_plan_a.SelectedRows.Count-1 do
          begin
            GotoBookmark(Pointer(Grilla_plan_a.SelectedRows.Items[i]));
             //para evitar la repetición de los registros a pasar
            alim:=DM.DSET_alimID_ALIM.Value;
            plan:=DM.DSET_plan_alimID_PLAN_A.Value;
            if (DM.Q_plan_y_alim.Locate('ID_ALIM; ID_PLAN', VarArrayOf([alim, plan]), []))then
              begin
                ShowMessage('El alimento ya ah sido cargado');
              end
              else
                begin
                  //Abro la tabla pra realizar la inserción y asigno los valores
                  DM.DSET_plan_y_alim.Append;
                  DM.DSET_plan_y_alimESTADO.Value:=0;
                  DM.DSET_plan_y_alimID_ALIM.Value:=DM.DSET_alimID_ALIM.Value;
                  DM.DSET_plan_y_alimID_PLAN.Value:=DM.DSET_plan_alimID_PLAN_A.Value;
                  DM.DSET_plan_y_alim.Post;
                end;
          end;
      end;
  end;
   // esto para que la Grilla2 me vaya mostrando los registros que voy pasando(alimentos) que pertenezcan al plan asignado.
   DM.Q_plan_y_alim.SQL.Clear;
   DM.Q_plan_y_alim.SQL.Add('select * from PLAN_Y_ALIM where ID_PLAN=:name and ESTADO=0');
   DM.Q_plan_y_alim.ParamByName('name').AsInteger:=DM.DSET_plan_y_alimID_PLAN.Value;
   DM.Q_plan_y_alim.Open;
   DM.DSET_plan_y_alim.Open;

A mi me funciona de maravilla..
Muchisimas gracias por sus aportes, me fueron de gran ayuda..

Neftali [Germán.Estévez] 11-04-2013 10:07:36

Gracias por compartir el código final.

^\||/

Vales08 11-04-2013 15:29:11

No es nada... Yo siempre busco ayuda de los demás y es bueno poder compartir lo que uno hizo para ayudar tambien con lo que uno aprende..
Siempre a alguien le hace falta..

Saludos.-


La franja horaria es GMT +2. Ahora son las 01:30:22.

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