Q&A

  • [급질문]디비그리드의 수량과 단가를 곱해...
안녕하세요...

디비그리드에서..입력된 수량과 단가를 곱해서 금액을 구하는 프로그램이걸랑요.. 제가 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;



틀린부분좀 고쳐주세요..

감사합니다..

안녕히계세요..



1  COMMENTS
  • Profile
    유도삼 1999.08.15 03:42
    왕초보 께서 말씀하시기를...

    > 안녕하세요...

    > 디비그리드에서..입력된 수량과 단가를 곱해서 금액을 구하는 프로그램이걸랑요.. 제가 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부분을

    참고하세요.