안녕하세요.
데이터베이스 프로그램을 짜는 데 잘 모르는 부분이 있어서요..
dbedit 가 세개가 있구여. 각각에는 이름, 주소, 전화번호 가 기입됩니다.
실행중에 dbedit1 의 내용을 바꾸고 엔터를 치면 검색을 해서
dbedit2와 3에는 그사람의 주소와 전화번호로 바뀌게 하고 싶어요.
근데 이부분이 잘 안되여...
procedure TForm1.DBEdit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=vk_return then
table1.locate('name',dbedit1.text,[locaseinsensitive]);
end;
이렇게 하면 아무런 반응도 안보여요..--;
별도의 Tedit 를 써서 하면 되지만 위의 방법대로 해보고 싶어요.
꼭 도와주세요..
> 안녕하세요.
> 데이터베이스 프로그램을 짜는 데 잘 모르는 부분이 있어서요..
>
> dbedit 가 세개가 있구여. 각각에는 이름, 주소, 전화번호 가 기입됩니다.
> 실행중에 dbedit1 의 내용을 바꾸고 엔터를 치면 검색을 해서
> dbedit2와 3에는 그사람의 주소와 전화번호로 바뀌게 하고 싶어요.
> 근데 이부분이 잘 안되여...
>
> procedure TForm1.DBEdit1KeyDown(Sender: TObject; var Key: Word;
> Shift: TShiftState);
> begin
> if key=vk_return then
> table1.locate('name',dbedit1.text,[locaseinsensitive]);> 별도의 Tedit 를 써서 하면 되지만 위의 방법대로 해보고 싶어요.
> 꼭 도와주세요..
> end;
>
> 이렇게 하면 아무런 반응도 안보여요..--;
Index가 잡히지 않았나 봅니다.
그리고 인덱스가 있다면
table1.findkey([dbedit1.text]);
이렇게 하는것이 더 좋은듯...
그리고 질문에 애매모호한 부분이 있는데요..
dbedit에서 바로 쓰면 findkey하는 순간 table은 cancel상태로 돌아가구
원래dbedit있던 내용으로 돌아가버리기 때문에 과연 될까...하는 생각입니다.