Q&A

  • DBGrid에서 필드값의 합계를 마지막에 보여줄 수 있을까요?
안녕하세요.
늘 질문에 대해 친절한 답변 감사히 생각합니다.

DBGrid에서 필드값들의 누계를 마지막줄에 보여주려고 하는데 가능한가요.
Query문을 이용하여 DBGrid와 연결했구요.
제가 생각하기에는 이벤트를 이용하면 될것같은데
가능은 한지,가능하다면 어떻게............

  
6  COMMENTS
  • Profile
    염상철 2002.06.25 19:36
    DBGRIDEH 컴포넌트 써보세여..
    프로포티 보면..
    합계자동으로 구 해서..맨밑에 나오게 하는 기능있어여..
  • Profile
    머슴 2002.06.21 19:20
    델파이는  DbGrid에서 필드값의 합계를 마지막에 보여주는 기능을

    제공하지 않는것으로 알고 있습니다.(파워빌더는 이러한 기능을

    제공합니다)

    따라서 코딩으로 해결 방법/DB로 해결하는 방법이 있습니다.

    코딩은 DBGrid와 별로로 DbGrid밑에 Editbox계열의 컴퍼넌트를 놓고

    보여주는 방법이 있습니다..

    누적은  누적할 지역변수를 선언후에...  onCalcFields이벤트등 적당한 이벤

    트에서  그 변수를 누적해  마지막에 editbox로 보여주면 될것 같습니다.


    아니면 쿼리로 해결을 해야하는데... DB가 뭐냐에 따라서 달라집니다.

    (오라클의 경우:사실 오라클밖에 모름)

    오라클인 경우 8.1.5버전(?) 이하에서는  임시테이블을 이용하여

    복제하는 방법으로 해결을 합니다..

    오라클의 8.1.6(?)버전이상의 경우에는 Rollup이란 함수를 제공합니다.

    <샘플예>

    SELECT DECODE(GROUPING(dname), 1, 'All Departments',dname)
                    AS dname,
                  DECODE(GROUPING(job), 1, 'All Jobs', job) AS job,
                  COUNT(*) "Total Empl",
                   AVG(sal) * 12 "Average Sal"
      FROM EMP, DEPT
      WHERE DEPT.DEPTNO = EMP.DEPTNO
    GROUP BY ROLLUP (DNAME, JOB);

    도움이 될란지 모르겠네요... 그람 즐코하세요...




      











  • Profile
    홍길동 2002.06.21 02:38


  • Profile
    KDDG_ZZOM 2002.06.21 07:31
    카데시안 곱을 이용해서 쿼리에서 해결할수도 있습니다...
    말로설명하기에는 좀... 그냥 참고만 하세요...
    아니면 데이터베이스 솔루션이란 책이 있는데... 한번 구해서 보세요...
    많은 도움이 될것같네요...


  • Profile
    홍길동 2002.06.21 03:06
  • Profile
    오소영 2002.06.21 02:54