안녕하세요.
짱굽니다.
똑같은 답변을 찾기 위해 아래를 뒤져 보았더니 똑같은 질문이 있군요...
음...
FindKey()함수를 사용해서 Data를 찾아 내려면 우선 Table의 State가 Edit모드가
되어 있어야 합니다. 또한 파라독스나 디베이스테이블을 사용하면 IndexName
프로퍼티에 key값이 들어 있어야 하겠죠. 혹시 Primary index도 없고 IndexName
프로퍼티도 비워 놓으면 또 다른 에러를 발생 시킬 겁니다.
그럼 위의 에러가 발생하는 것은 말그대로 Table이 edit 모드가 아니기 때문이죠.
다음과 같이
Table1.Edit; //라고 해 주어도 되겠죠...FindKey()이전에요....
하지만 테이블의 Mode가 정화히 Edit모드인지 알아보기 위해
if not (Table1.State in [dsEdit, dsInsert]) then Table1.Edit;
if FindKey(.... //라구 하시면 더욱 좋겠죠? 뭐가 좋을까요????
그리고 이건 알고 계시겠지만 FindKey()의 Result가 True이면 테이블의 커서는
일치하는 레코드로 이동 합니다. False이면 제자리에서 꼼짝마!!! 죠.
그럼 도움이 되었으면 좋겠군요..
좋은 코딩 마니마니 하시길....
|