Q&A

  • Query이벤트중에 OnCalcFields
가뭄에 시달리던 때의 기억이 가물거리듯 오늘은 촉촉한 비가 바닥을 적시고 있네요.

양수기를 보내자던 우리에 마음도 하늘에 닿듯 이제는 기달리던 비가 내려 우리에 농가

에 조금이나마 웃음꽃이 피지않을까 씁쓸한 미소를 짓습니다.

님들도 비가내려서 한걱정 내렸으리라 믿습니다.



구럼 물어볼게요....

쿼리 이벤트중에 OnCalcFields라는 이벤트가 있자나여. 헬파일찾아봤는데 잘이해가 안되

서 이렇게 또 님들에게 수고를 끼칩니다. 어떨때 사용하고 어떻게 사용하는지 잘모르게

떠여..

저가튼 경우에는 그냥 쿼리도 코딩으로 다하고 구러는데 이이벤트를 쓸려면 프러퍼티에

SQL문을 적어놔야하는것 같더군요. 그리고 쿼리를 떠블클릭하면 나오는 필드를 어떻게

사용할려구 이이벤트를 사용하는지 잘~~~

제가 프로그램을 한지도 얼마안되고 제가 짠소스가 아니고 다른님이 짜놓걸 분석하는데

이 부분이 있더군요. 님들에 조언꼭~~ 부탁드릴게요...

구럼 즐건하루되시구요.. 항상 즐코하세요....*^^*

3  COMMENTS
  • Profile
    이성찬 2001.06.19 23:18
    쉬운 예를 들어보죠.



    수량 * 단가 = 금액



    의 필드가 있다면 이때 금액 필드를 CalcField 로 구현하면

    OnCalc 이벤트에 위의 수식을 넣어서 쉽게 구현할 수 있습니다.



    단 처음 쓰시는 분들 조심해야 할 점은,



    1. calc field 이외 필드(Data Field)에는 값을 변경하는

    루틴을 넣지 말것!! => OnCalc 이벤트는 데이타가 변경시마다

    발생하므로 무한 루프 발생.



    2. 같은 이유로 속도 저하 발생

  • Profile
    성더기 2001.06.19 01:47
    머래구래야되나...

    OnCalcFields이벤트는 TQuery나 TTable에서 CalculatedField를 만날때 발생합니다



    그니깐 쿼리나 테이블을 클리하믄 열리는(머라 그러쥐?..기억지..ㅡㅡ;;) 창에서

    오른쪽 버튼을 누르면 New가 있는데 새로운 필드를 만들 수 있습니다.



    원래 테이블에는 없는데 쿼리 컴포넌트나 테이블 컴포는트에서 동적으로 생성시켜주는

    필드이지여...



    근데 이넘의 타입을 Calulated로 해두고 OnCalcFields에서 코딩으로

    값을 넣어 줍니다...



    이해가 가실려나..ㅡㅡ;;; 쩝

    사용법은 아는데 말로 설명 할려니 힘드넹..ㅡㅡ;;

  • Profile
    화랑초보 2001.06.20 02:17
    제가 이해하는게 맞을려나 모르겠는데 암튼 답변감솨함돠..

    먼저 테이블에 없는 구러니까 클라이언트쩍에서 보고싶다는 필드를 하나추가시켰다거

    하면 될런지요..?

    우리는 테이블에 합산테이블은 안만들어놨지만 클라이언트쩍에서 볼때 그냥 임의(동적)

    으로 그냥 필드하나를 생성해서 그쪽에 나타나게 한다는이야기 맞습니까.?

    그렇다면 구지 그럴필요가 있나여? 그냥 쿼리로 날리면 되지않나싶네요....

    암튼 넘 감사하구여 다시이글을 읽는다면 다시한번 답변부탁드려두 될런지..

    전 이벤트를 많이 안써봐서 아니 초보라서 그냥 아는 한도내에서 코딩으로 마무리함돠

    구래서 그런지 편한기능들은 마니 버리고 있다는 생각이 듬니다. 알고 쓰면 훨씬더 강

    력한 델파이로 구현될걸..... 아쉬운 초보델피가...



    성더기 wrote:

    > 머래구래야되나...

    > OnCalcFields이벤트는 TQuery나 TTable에서 CalculatedField를 만날때 발생합니다

    >

    > 그니깐 쿼리나 테이블을 클리하믄 열리는(머라 그러쥐?..기억지..ㅡㅡ;;) 창에서

    > 오른쪽 버튼을 누르면 New가 있는데 새로운 필드를 만들 수 있습니다.

    >

    > 원래 테이블에는 없는데 쿼리 컴포넌트나 테이블 컴포는트에서 동적으로 생성시켜주는

    > 필드이지여...

    >

    > 근데 이넘의 타입을 Calulated로 해두고 OnCalcFields에서 코딩으로

    > 값을 넣어 줍니다...

    >

    > 이해가 가실려나..ㅡㅡ;;; 쩝

    > 사용법은 아는데 말로 설명 할려니 힘드넹..ㅡㅡ;;