안녕하세요...
디비그리드에서..입력된 수량과 단가를 곱해서 금액을 구하는 프로그램이걸랑요.. 제가 sql문을 아직두......
소스올려요..
틀린곳이 많을테니깐 고쳐주세요.
procedure TFrm0402.Table1Item_SuChange(Sender: TField);
begin
with query1 do
begin
close;
sql.clear;
sql.add ('select item_dan item su from buy')+
('where Item_dan * Item_su =: Pgu');
open;
if not eof then
begin
Table1Item_Gu.text := parambyname(pgy);
end;
close;
end;
end;
end;
틀린부분좀 고쳐주세요..
감사합니다..
안녕히계세요..
> 안녕하세요...
> 디비그리드에서..입력된 수량과 단가를 곱해서 금액을 구하는 프로그램이걸랑요.. 제가 sql문을 아직두......
> 소스올려요..
> 틀린곳이 많을테니깐 고쳐주세요.
>
> procedure TFrm0402.Table1Item_SuChange(Sender: TField);
> begin
> with query1 do
> begin
> close;
> sql.clear;
> sql.add ('select item_dan item su from buy')+
> ('where Item_dan * Item_su =: Pgu');
> open;
> if not eof then
> begin
> Table1Item_Gu.text := parambyname(pgy);
> end;
> close;
> end;
> end;
> end;
>
> 틀린부분좀 고쳐주세요..
> 감사합니다..
> 안녕히계세요..
>
수량과 단가를 곱해 금액을 산출하시려면
일단 Calculated Field를 사용하시는 것이 가장 좋은 방법입니다.
일단 DataSet은 수량과 단가만 저장을 합니다.(금액 필드는 필요없슴)
그 후 DataSet에서 Calculate Field를 하나 추가한 후 변수명을
Amnt(금액)으로 정합니다.
그 후 DataSet의 OnCalculate 이벤트에 다음과 같이 코딩하면 자동으로
금액이 계산됩니다.
DataSetAmnt.Value := DataSetQnty.Value * DataSetApri.Value;
가급적이면 실행시 계산되는 필드는 이와 같이 Calculated 필드를 사용하시는
것이 좋은 방법이며 그 외 Lookup Field를 사용하는 방법도 있을 수
있습니다.
자세한 사항은 DB관련 책자에서 Calculated Field, LookUp Field부분을
참고하세요.