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]));
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
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;
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..