Q&A

  • filter에관해서....
안녕하세요... 델초보입니다....
급한 마음에 이렇게 글을 올립니다...
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;
2  COMMENTS
  • Profile
    김경록 2002.04.03 08:14
      Table1.Open;
      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을 해 주는게 올바를것이라 생각합니다..
    답이 되셨길..


                    최강의 프로그래머를 위하여~~~





  • Profile
    차형석 2002.04.03 19:14
    감사합니다.... 아직 해결은 나지 않았지만... 이렇게 신경을 써줘 정말 감사합니다... 즐거운 하루 되십시오......