아래의 예문을 보아 주십시오.
-> 아래의 에디트 박스를 formcreate 이벤트에 넣었습니다.
Edit.Text := FormatDateTime('yyyy',Now )+ '-' ;
결과는 폼 생성시 < 2000- > 으로 나오더군요.
근데 저는 2000-001, 2000-002,.... 이런식으로 DB의 필드에 넣으려고 합니다.
당연히 DB에 넣을 때마다 2000-001,...2000-003식으로 자동으로 숫자가 바뀌어야
하겠지요. 앞의 2000은 그냥 살리면서, 뒤의 001...만 DB에 입력시 마다 바뀌게
하려고 합니다. 어떻게 하면 좋을 까요?
고수분들의 고견을 바랍니다.
>
> 아래의 예문을 보아 주십시오.
> -> 아래의 에디트 박스를 formcreate 이벤트에 넣었습니다.
>
> Edit.Text := FormatDateTime('yyyy',Now )+ '-' ;
>
> 결과는 폼 생성시 < 2000- > 으로 나오더군요.
> 근데 저는 2000-001, 2000-002,.... 이런식으로 DB의 필드에 넣으려고 합니다.
> 당연히 DB에 넣을 때마다 2000-001,...2000-003식으로 자동으로 숫자가 바뀌어야
> 하겠지요. 앞의 2000은 그냥 살리면서, 뒤의 001...만 DB에 입력시 마다 바뀌게
> 하려고 합니다. 어떻게 하면 좋을 까요?
> 고수분들의 고견을 바랍니다.
안녕하세요.
쿼리로 제일 큰 코드를 가져와서 1을 더하면 될 것 같은데요.
function MakeMaxCode:String;
begin
with Query1 do
begin
Close;
sql.Clear;
sql.Add('select max(substring(코드 from 5 for 3)) form 테이블');
Open;
Result:= FormatDateTime('yyyy/',Now)+IntToStr(StrToIntDef(Fields[0].AsString,0))+1;
end;
end;