안녕하세요...
다름이 아니라 아래의 소스를 사용할때 있어서 문제점을 여줘보고 싶습니다.
버튼을 클릭시 age,sex필드의 값이 나오긴 나오는데, 다른 폼으로 갔다가 다시 오면
이전에 나왔던 age,sex필드의 값이 나오지 않아 다시 클릭을 하면 나오게 되는데
이런경우 어떻게 하면 되는지??? 소스를 보시고 좀 손 좀 봐주세요...
(프로그램 실행과 동시에 age,sex의 필드에 값이 들어가던지, 아니면 버튼을 클릭시 age,sex필드에 값이 들어가 있으면 좋겠는데....
고수님 부탁드립니다.
procedure TForm27.Button6Click(Sender: TObject);
var
yy,mmdd,nowyy,nowmmdd:String;
reply:string;
begin
Table1.First;
While not Table1.EOF do
begin
yy:=copy(Table1.fieldByName('주민등록번호').Asstring,1,2);
mmdd:= copy(Table1.fieldByName('주민등록번호').Asstring,3,4);
reply:=copy(Table1.fieldByName('주민등록번호').Asstring,8,1);
if (reply='1')or(reply='2')then
yy:='19'+yy
else if (reply='3')or(reply='4')then
yy:='20'+yy
else
begin
ShowMessage('오류~~~~~^^*');
exit;
end;
Table1.Edit;
nowyy:=formatDateTime('yyyy',Date);
nowmmdd:=FormatDateTime('mm',Date)+formatDateTime('dd',Date);
if nowmmdd<=mmdd then
table1.fieldbyname('age').asinteger:=(strtoint(nowyy)-strtoint(yy)-1)
else
table1.fieldbyname('age').asinteger:=(strtoint(nowyy)-strtoint(yy));
table1.post;
if (reply='1')or(reply='3') then
begin
table1.edit;
table1.fieldbyname('sex').asstring:='남자'
end
else if (reply='2') or (reply='4') then
begin
table1.edit;
table1.fieldbyname('sex').asstring:='여자'
end
else
showmessage('오류~~~^^*');
table1.post;
table1.next;
end;
table1.first;
end;