Q&A

  • Edit중인 Record의 Key값이 중복인지 검사?


TQuery나, TTable에서

Append 또는 Edit중일때 입력중인 Key값이 중복되었는지 알려면

어떻게 합니까?

Locate, FindKey명령을 쓰게되면 State가 dsEdit,dsInsert중이기 때문에

간접적인 post효과가 나타나서 않되고

Table를 하나 더 만들어서 check하면 Edit중인 Record가 검색되는데

이 Record가 Edit중인지, 아니면 다른 record인데 Key값이 변경되어

중복상태인지 모르겠습니다.



제가 수정,추가를 선택하는 방법은

DBGrid에서 검색하다가 DblClick또는 Enter이면 수정mode로 넘어가고

Insert,+를 누르면 추가 모드로 넘어가게 했습니다.



알려주십시요.

1  COMMENTS
  • Profile
    강창석 1999.11.08 23:34
    [권은주] wrote:

    >

    > TQuery나, TTable에서

    > Append 또는 Edit중일때 입력중인 Key값이 중복되었는지 알려면

    > 어떻게 합니까?

    > Locate, FindKey명령을 쓰게되면 State가 dsEdit,dsInsert중이기 때문에

    > 간접적인 post효과가 나타나서 않되고

    > Table를 하나 더 만들어서 check하면 Edit중인 Record가 검색되는데

    > 이 Record가 Edit중인지, 아니면 다른 record인데 Key값이 변경되어

    > 중복상태인지 모르겠습니다.

    >

    > 제가 수정,추가를 선택하는 방법은

    > DBGrid에서 검색하다가 DblClick또는 Enter이면 수정mode로 넘어가고

    > Insert,+를 누르면 추가 모드로 넘어가게 했습니다.

    >

    > 알려주십시요.



    Post전이기 때문에

    다른 Query에서 키값을 WHERE에서 체크하고 Open한다음

    IsNull 프로퍼티로 체크하는게 가장 확실한 방법일것 같은데..

    좀 귀찮긴 하지만.. 경험상 이방법이 가장 확실 했습니다.