안녕하세요... 델초보입니다....
급한 마음에 이렇게 글을 올립니다...
edit1,edit2,edit3 이 있습니다... edit1의 내용을 찾고... edit2의 내용을 찾고...
edit3의 내용을 찾을 려고 하는데....
버튼을 클릭을 했을때 내용이 없으면.... 메시지를 띠워... 내용이 없다라고 할려고 합니다....
그런데 ... 없는 내용을 넣으면... 자꾸 에러가 아~ 죽겠어요....
(엑세스를 쓰구요... 테이블과 데이타 소스만 씁니다...)
버튼을 클릭하면...
begin
if Edit1.Text = '' then
begin
Edit1.SetFocus;
end
else if Edit2.Text = '' then
begin
Edit2.SetFocus;
end
else if Edit3.Text = '' then
begin
Edit3.SetFocus;
end;
Table1.Open;
Table1.Filtered := true;
table1.Close;
table1.open;
if table1.FieldByName('상호').AsString <> edit1.text then
begin
showmessage('상호가 없습니다...');
Edit1.SetFocus;
end;
Edit1.Text := '';
Edit2.Text := '';
Edit3.Text := '';
end;
Table1.Filtered := true;
table1.Close;
table1.open;
if table1.FieldByName('상호').AsString <> edit1.text then
begin
showmessage('상호가 없습니다...');
Edit1.SetFocus;
end;
음... table1을 open한 다음에.. 있다 없다 판단은..
table1.eof로 판단하십시오..
물론.. return값은 boolean형입니다..
따라서.. table1을 open한 후에... fieldbyname했는데..
만약, table1의 조회된 data자체가 없다면..
당연히 에러가 나옵니다..
어쨌든.. 님의 소서를 보고서는 어떤 의도였는지 잘 모르겠습니다..
edit1, 2, 3에서 입력을 받은후에..
무슨 액션을 취하면..
table1을 open하구..
무슨 조건을 체크하는 것 같은데...
음.. 정확히는 님의 의도를 파악할 수가 없군여.
어쨌던.. table1.eof를 이용하여..
open후에 data가 존재하는지 부터 확인후에..
fieldbyname을 해 주는게 올바를것이라 생각합니다..
답이 되셨길..
최강의 프로그래머를 위하여~~~