Q&A

  • DBGRID에서 A,B필드를 곱해서 C에 결과치를 넣기 ??
안녕하세요 ???

다름이 아니라 그리드에서 A,B를 입력하여 옆의 C란에 곱한 값을 뿌려주고자 합니다.

oncalcfields를 사용하라고 했는데...정말로 모르겠네요. 어떻게 정의해서 어떻게

값을 넣어야 하는 지 .....고수님들 부탁드립니다. 힘들셔도 좀 자세히...하수를

위하여 설명 부탁합니다.

2  COMMENTS
  • Profile
    이은정 2000.08.31 11:40
    강길남 wrote:

    > 안녕하세요 ???

    > 다름이 아니라 그리드에서 A,B를 입력하여 옆의 C란에 곱한 값을 뿌려주고자 합니다.

    > oncalcfields를 사용하라고 했는데...정말로 모르겠네요. 어떻게 정의해서 어떻게

    > 값을 넣어야 하는 지 .....고수님들 부탁드립니다. 힘들셔도 좀 자세히...하수를

    > 위하여 설명 부탁합니다.



    DM이나 폼에 있는 테이블이나 쿼리를 더블클릭하면 필드에디터가 나오져?

    거기서 뉴..하시구요..새로만들 필드 이름을 넣으시구요..중간에 라디오 박스에서 calcfield(?) 이걸 선택하세요.. (임으로 새필드의 이름을 C라구 하져..)

    그런 담에 그 테이블(쿼리)에 oncalcfields의 이벤트에다가..



    table.fieldbyname('C').value := table.fieldbyname('A').value * table.fieldbyname('B').value;



    이렇게 함 되여..모..필드의 타입에 따라서...string... integer에러가 나면 알아서 잘 바꿔주시구요..

    그럼...꾸벅



    델파이세상(www.freechal.com/delphiworld)에 이은정(Dorothy)였습니다....

    *^^*







  • Profile
    김계성 2000.08.31 11:40
    강길남 wrote:

    > 안녕하세요 ???

    > 다름이 아니라 그리드에서 A,B를 입력하여 옆의 C란에 곱한 값을 뿌려주고자 합니다.

    > oncalcfields를 사용하라고 했는데...정말로 모르겠네요. 어떻게 정의해서 어떻게

    > 값을 넣어야 하는 지 .....고수님들 부탁드립니다. 힘들셔도 좀 자세히...하수를

    > 위하여 설명 부탁합니다.



    우선 필드는 실수형으로 A, B 두 필드를 잡았다고 가정하구여

    Table에서 가상필드를 생성합니다.

    물론 실수형으로여, FieldType은 Calculated로 잡구여...여기서는 C로 예를 듭니다.



    그런후에...다음과 같이 코딩하면 됩니다.



    procedure TForm1.Table1CalcFields(DataSet: TDataSet);

    begin

    with Table1 do

    begin

    FieldByName('C').AsFloat := FieldByName('A').AsFloat * FieldByName('B').AsFloat;

    end;

    end;



    그럼...