여러 레코드의 같은 필드 값을 한꺼번에 수정하고 싶습니다
그런데 커서가 위치한 한곳의 값만이 변경되고 다른것은
변경이 되지 않습니다
detailgrid의 내용이 여러줄인데
한줄 한줄 변경하다가는 날샐것 같은데요..
어떻게 하면 좋져
procedure TFormP1000A.update_modcost;
var i : integer;
begin
for i :=1 to detailgrid.RowCount-1 do // 여기 이줄만 첨가하면 될줄
알았는데 .. 안되나요
커서가 위치한 값 한줄레코드만 바뀌네요..
-.-;;;
with qrmod do
begin
Close;
SQL.Clear;
SQL.Add('update P1100 SET MOD_UNITCOST =:MOD_UNITCOST WHERE ORDNO=:ORDNO AND WRCD=:WRCD');
ParamByName('ORDNO').AsString := MasterGrid.Cells[0,MasterGrid.Row];
ParambyName('MOD_UNITCOST').asfloat := strtofloat(DetailGrid.Cells[7,DetailGrid.Row]);
ParambyName('WRCD').AsString := DetailGrid.Cells[2,DetailGrid.Row];
ExecSql;
end;
showmessage('수정단가가 저장되었습니다');
end;
with detailGrid1.Datasource.Dataset do begin
first;
while not eof do begin
> with qrmod do
> begin
> Close;
> SQL.Clear;
> SQL.Add('update P1100 SET MOD_UNITCOST =:MOD_UNITCOST WHERE ORDNO=:ORDNO AND WRCD=:WRCD');
> ParamByName('ORDNO').AsString := 이건몰겠는데요.
> ParambyName('MOD_UNITCOST').asfloat := fieldbyname('항목명').asfloat
> ParambyName('WRCD').AsString := fieldbyname(항목명).asstring;
> ExecSql;
> end;
next;
end;
end;
즐프하시길
초보자 wrote:
> 여러 레코드의 같은 필드 값을 한꺼번에 수정하고 싶습니다
> 그런데 커서가 위치한 한곳의 값만이 변경되고 다른것은
> 변경이 되지 않습니다
> detailgrid의 내용이 여러줄인데
> 한줄 한줄 변경하다가는 날샐것 같은데요..
> 어떻게 하면 좋져
>
> procedure TFormP1000A.update_modcost;
> var i : integer;
>
> begin
>
> for i :=1 to detailgrid.RowCount-1 do // 여기 이줄만 첨가하면 될줄
> 알았는데 .. 안되나요
> 커서가 위치한 값 한줄레코드만 바뀌네요..
> -.-;;;
>
> with qrmod do
> begin
> Close;
> SQL.Clear;
> SQL.Add('update P1100 SET MOD_UNITCOST =:MOD_UNITCOST WHERE ORDNO=:ORDNO AND WRCD=:WRCD');
> ParamByName('ORDNO').AsString := MasterGrid.Cells[0,MasterGrid.Row];
> ParambyName('MOD_UNITCOST').asfloat := strtofloat(DetailGrid.Cells[7,DetailGrid.Row]);
> ParambyName('WRCD').AsString := DetailGrid.Cells[2,DetailGrid.Row];
> ExecSql;
> end;
> showmessage('수정단가가 저장되었습니다');
> end;
>