Q&A

  • edit에 자동으로 증가하는 숫자를 넣으려고 합니다.


아래의 예문을 보아 주십시오.

-> 아래의 에디트 박스를 formcreate 이벤트에 넣었습니다.



Edit.Text := FormatDateTime('yyyy',Now )+ '-' ;



결과는 폼 생성시 < 2000- > 으로 나오더군요.

근데 저는 2000-001, 2000-002,.... 이런식으로 DB의 필드에 넣으려고 합니다.

당연히 DB에 넣을 때마다 2000-001,...2000-003식으로 자동으로 숫자가 바뀌어야

하겠지요. 앞의 2000은 그냥 살리면서, 뒤의 001...만 DB에 입력시 마다 바뀌게

하려고 합니다. 어떻게 하면 좋을 까요?

고수분들의 고견을 바랍니다.

1  COMMENTS
  • Profile
    parkisu 2000.10.14 09:49
    delpo wrote:

    >

    > 아래의 예문을 보아 주십시오.

    > -> 아래의 에디트 박스를 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;