Q&A

  • DBGrid에 포커스가 가는 방법....
안녕하세요 이상석입니다.

다름이 아니오라 SQL문을 이용하여 주민등록번호로 삶을 찾는 창을

만들었습니다. 그런데 주민등록 번호로 찾은것 같은에 DBGrid1에 해당

되는 사람에 포커스를 가지게 하려고하는데 안되더군요.

DBGrid1.Setfocus; 라고하면 안되는데 어떻게 해야하나요?

아래 소스입니다. 부탁 드립니다.

그럼 20000....

---------------------------------------------------------------------

unit ZuminSearch;



interface



uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

StdCtrls, ExtCtrls, Mask, Buttons, Grids, DBGrids;



type

TFormZuminSearch = class(TForm)

Panel1: TPanel;

Panel2: TPanel;

Label1: TLabel;

MEJumin: TMaskEdit;

BtnSearch: TBitBtn;

DBGrid1: TDBGrid;

BtnClose: TBitBtn;

procedure BtnCloseClick(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure BtnSearchClick(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;



var

FormZuminSearch: TFormZuminSearch;



implementation



{$R *.DFM}



uses

DM_TWT, twtMain;



procedure TFormZuminSearch.BtnCloseClick(Sender: TObject);

begin

close;

end;



procedure TFormZuminSearch.FormClose(Sender: TObject;

var Action: TCloseAction);

begin

Action := caFree;

end;



procedure TFormZuminSearch.BtnSearchClick(Sender: TObject);



begin

if Length(MEJumin.Text) = 0 Then

begin

Application.MessageBox('공란입니다. 주민등록번호를 넣어주세요','확인',MB_OK);

Exit;

end

else

begin

//DMtwt.TblExam.FindNearest([MEZumin.Text]);

//DBGrid1.SelectedField := TblExamSIZE;

//DBGrid1.SetFocus;

with DMtwt.QueryZumin do

begin

DisableControls;

close;

SQL.Clear;

SQL.Add('Select Juminno From Exam');

SQL.Add('Where Juminno= "' + MEJumin.Text + '" ');

//SQL.Add('And Juminno like "'+MEZumin.Text+'" ');

//Sql.ADD('Select ID From User ');

//Sql.Add('Where ID= "' + EditID.Text + '" ');

Open;

EnableControls;

end;





if DMtwt.QueryZumin.FieldByName('Juminno').asstring = MEJumin.Text Then

begin

//DBGrid1.SetFocus

DBGrid1.Setfocus; <---이 부분입니다.

end

else

begin

twtMainForm.MainBar.Panels[2].Text := '데이타가 존재하지 않습니다';

Application.MessageBox('데이타가 존재하지 않습니다','확인',MB_OK);

Exit;

end

end;

end;



end.

--------------------------------------------------------------------

3  COMMENTS
  • Profile
    redhead 1999.06.01 04:56
    if DMtwt.QueryZumin.FieldByName('Juminno').asstring = Jumin.Text Then

    begin

    //DBGrid1.SetFocus

    DBGrid1.Setfocus; <---이 부분입니다.

    end;





    //위의 코드는 Jumin.Text의 범호에 해당하는 사람의 Row가 Select되도록 하는 것인 듯한데... 방법이 틀린것 같습니다.



    Locate라는 Method를 써 보심이 어떨까요.

    다음.

    if not DMtwt.QueryZumin.Locate('Juminno',Jumin.Text,[]) then

    begin

    ShowMessage('자료가 없습니다.');

    end;

  • Profile
    이상석 1999.06.01 08:40
    redhead 께서 말씀하시기를...

    > if DMtwt.QueryZumin.FieldByName('Juminno').asstring = Jumin.Text Then

    > begin

    > //DBGrid1.SetFocus

    > DBGrid1.Setfocus; <---이 부분입니다.

    > end;

    >

    >

    > //위의 코드는 Jumin.Text의 범호에 해당하는 사람의 Row가 Select되도록 하는 것인 듯한데... 방법이 틀린것 같습니다.

    >

    > Locate라는 Method를 써 보심이 어떨까요.

    > 다음.

    > if not DMtwt.QueryZumin.Locate('Juminno',Jumin.Text,[]) then

    > begin

    > ShowMessage('자료가 없습니다.');

    > end;

    안녕하세요 이상석입니다.

    많은 도움이 되었습니다. 그런데 제가 원하는 것은요,

    어.. 그러니까 Jumin.Text의 값을 테이블에서 똑같은 것이 있으면

    DBGrid에서 보면 맨 좌측에 보면 화살표가 나오는데,

    그 화살표가 표시할 수 있도록하는 것입니다.

    해보니까 화살표가 안가니 메인 윈도우에 DBGrid도 안움직이고,

    찾는 것이 실패했네요. 다시알려주세요. 감사합니다.

    그럼 20000....

  • Profile
    redhead 1999.06.01 18:40
    이상석 께서 말씀하시기를...

    > redhead 께서 말씀하시기를...

    > > if DMtwt.QueryZumin.FieldByName('Juminno').asstring = Jumin.Text Then

    > > begin

    > > //DBGrid1.SetFocus

    > > DBGrid1.Setfocus; <---이 부분입니다.

    > > end;

    > >

    > >

    > > //위의 코드는 Jumin.Text의 범호에 해당하는 사람의 Row가 Select되도록 하는 것인 듯한데... 방법이 틀린것 같습니다.

    > >

    > > Locate라는 Method를 써 보심이 어떨까요.

    > > 다음.

    > > if not DMtwt.QueryZumin.Locate('Juminno',Jumin.Text,[]) then

    > > begin

    > > ShowMessage('자료가 없습니다.');

    > > end;

    > 안녕하세요 이상석입니다.

    > 많은 도움이 되었습니다. 그런데 제가 원하는 것은요,

    > 어.. 그러니까 Jumin.Text의 값을 테이블에서 똑같은 것이 있으면

    > DBGrid에서 보면 맨 좌측에 보면 화살표가 나오는데,

    > 그 화살표가 표시할 수 있도록하는 것입니다.

    > 해보니까 화살표가 안가니 메인 윈도우에 DBGrid도 안움직이고,

    > 찾는 것이 실패했네요. 다시알려주세요. 감사합니다.

    > 그럼 20000....



    그렇담

    위의 방법이 정확합니다. ^^

    • 최재형
    • 1999.06.01 08:04
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 전철호
      1999.06.02 02:39
      조민경 께서 말씀하시기를... > > 최재형 께서 말씀하시기를... > > 안녕하세요. > > 혼자서 고민하다...
    • 박형진
    • 1999.06.01 06:34
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 글쎄요.
      1999.06.01 19:34
      박형진 께서 말씀하시기를... > 프로그램과 일치하지 않는 해상도에서 실행시켰을때 해상도를 프로그램에 ...
    • 구창민
      1999.06.01 06:26
      이승윤 께서 말씀하시기를... > Button1 := TButton.Create(Self); > Button1.Caption := 'Button1'; > ...
    • 이승윤
      1999.06.01 22:20
      질문에 답해 주셔서 정말로 감사합니다. 덕분에 막히 속히 훤하게 뚤린것 같습니다. 질문했던 문제가 해...
    • 이상석
    • 1999.06.01 04:22
    • 3 COMMENTS
    • /
    • 0 LIKES
    • redhead
      1999.06.01 04:56
      if DMtwt.QueryZumin.FieldByName('Juminno').asstring = Jumin.Text Then begin ...
    • 이상석
      1999.06.01 08:40
      redhead 께서 말씀하시기를... > if DMtwt.QueryZumin.FieldByName('Juminno').asstring = Jumin...
    • redhead
      1999.06.01 18:40
      이상석 께서 말씀하시기를... > redhead 께서 말씀하시기를... > > if DMtwt.QueryZumin.FieldBy...
    • Heaven
    • 1999.06.01 04:05
    • 2 COMMENTS
    • /
    • 0 LIKES
    • redhead
      1999.06.01 05:04
      Heaven 께서 말씀하시기를... > 안녕하세요... > > 이렇게 자주 질문을 드리는군요. > 제가 FieldEdit...
    • Heaven
      1999.06.01 20:58
      고맙습니다. redhead님... 답변 잘 보았습니다. 해주신대로 Post를 하니 변경이 됩니다. 그런데, 에디...
    • 김성관
    • 1999.05.31 23:29
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.06.01 02:32
      각각의 유닛에서 서로 참조하려고 해서 그런것입니다. 소스의 맨위 Uses 절을 보셔서 두개의 유닛이 서로 ...
    • 배수영
    • 1999.05.31 23:09
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.06.01 00:34
      배수영 께서 말씀하시기를... > 아래는 제가 작성한 32bit dll file(omin32.dll)의 함수를 선언부분입니다...
    • Heaven
    • 1999.05.31 21:14
    • 2 COMMENTS
    • /
    • 0 LIKES
    • rambo
      1999.06.01 01:19
      Heaven 께서 말씀하시기를... > 안녕하세요... > 항상 도움을 받는군요.. > > 다름이 아니라..Date형...
    • Heaven
      1999.06.01 04:07
      안녕하세요. 답변해 주셔서 고맙습니다.. 문제를 해결했네요.. 그럼..
    • july
    • 1999.05.31 19:44
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 이현신
    • 1999.05.31 19:20
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 글쎄요.
      1999.06.01 01:30
      이현신 께서 말씀하시기를... > 어떤 시스템의 고유의 시리얼이나 스트링을 구할수는 없나요?.. > 하드의...
    • 김영대
      1999.05.31 21:05
      이현신 께서 말씀하시기를... > 어떤 시스템의 고유의 시리얼이나 스트링을 구할수는 없나요?.. > 하드의...
    • 1999.05.31 20:41
      정성호 께서 말씀하시기를... > 안녕하세요.. 꾸벅 ^^ > > 하나 여쭤볼게 있어서 이리 글을 올립니다....
    • 1999.05.31 20:43
      정성호 께서 말씀하시기를... > 안녕하세요...^^ 꾸벅... > > 여러가지로 부족한 점이 많아서 이리 글...
    • 북해
    • 1999.05.31 18:09
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김영대
      1999.05.31 20:17
      북해 께서 말씀하시기를... > 안녕하세요. Calendar의 특정날짜에 제가 원하는 그래픽을 표시해 넣고 싶은...
    • 하명훈
    • 1999.05.31 15:10
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 1999.05.31 20:48
      하명훈 께서 말씀하시기를... > delphi3.0으로 db를 엑세스하는 프린트폼을 Quick Report로 만들었습니다...
    • 한 재
    • 1999.05.31 14:49
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 김태균
      1999.05.31 18:02
      내용을 보니 체인지 이벤트가 일어날 때 combo의 내용에 들어 있는 파일의 이름을 불러서 메모에 내용을...
    • 1999.05.31 17:56
      한 재 께서 말씀하시기를... > 가르쳐주신 것을 바탕으로 맹글어봤는데 컴파일이 안되는군요. > 문제...