Q&A

  • DBGrid에서 Group 별로 합해야 하는데
주문번호  주문ID  판매금액 카드수수료(주문번호 총금액*2%)
1 300       401     1,000            480
2 300       402    20,000  
3 300       403     3,000  
4 302       404    50,000          1,040
5 302       405    2,000  


주문ID 별로 조회를 해서 DBGrid에 보여줄때 카드수수료는 주문번호별로
금액을 합해서 주문번호별로 한번만 보여줘야 하거든요.
쿼리에서 가져오기는 힘들거 같고 CalcFields에서 계산을 해야될것
같은데 생각이 나질 않네요.
여러분의 조언을 부탁합니다.
2  COMMENTS
  • Profile
    정정호 2002.03.26 19:44
    procedure TForm1.Table1CalcFields(DataSet: TDataSet);
    var SUM: LongInt
        FS: string;
    begin
    //똑같은 테이블(Table2)을하나 미리 더 맹그시고
      with Table2 do begin
        FS := Table1.Fields[0].asString;
        if FindKey([FS])and(Recno = Table1.Recno)then begin
          SUM := 0;
          while Eof do begin
            if Fields[0].asString = FS then
              SUM := SUM + Fields[2].asInteger
            else
              Break;
            Next;
          end;
          if SUM > 0 then
            Table1.Fields[3].asInteger := Trunc(SUM * 0.02);
        end;
      end;
    end;


  • Profile
    BlueSea 2002.03.27 21:25