안녕하세요 이상석입니다.
다름이 아니오라 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.
--------------------------------------------------------------------
begin
//DBGrid1.SetFocus
DBGrid1.Setfocus; <---이 부분입니다.
end;
//위의 코드는 Jumin.Text의 범호에 해당하는 사람의 Row가 Select되도록 하는 것인 듯한데... 방법이 틀린것 같습니다.
Locate라는 Method를 써 보심이 어떨까요.
다음.
if not DMtwt.QueryZumin.Locate('Juminno',Jumin.Text,[]) then
begin
ShowMessage('자료가 없습니다.');
end;