Q&A

  • 꼭좀 도와 주세요!!!!!!!! 휴~ ~
paradox 에서 전표번호를 자동으로 부여 하는 필드를 만들고 싶은데

앞에 4자리는 년도 뒤에 5자리는 번호00001 부터 자동증감하는
2  COMMENTS
  • Profile
    강인규 2000.03.05 02:13
    신규입력시 구현하는 방법이 나을 듯 합니다.



    단순히 일련번호를 부여하는 것 이라면....



    신규입력시 오늘날짜를 불러와서 확인시켜줍니다.

    dateedit1.date := now;

    년도에해당하는 네자리를 짤라서

    nun := copy(dateedit1.text,1,4);

    만일 2000년이라면 200000001에서 200099999까지 필터를 합니다.

    ipno를 확인하기 위한 테이블이 하나 필요합니다.

    firstnum := non +'00001';

    lastnum := non + '99999';

    IpnocreateT.Filtered := false;

    IpnocreateT.Filter:='Ipno >= '''+firstnum+''' and (Ipno <= '''+lastnum+''')';

    IpnocreateT.Filtered := true;

    IpnocreateT.Last;

    만일 레코드카운트가 0이면

    if table1.recordcount = 0 then

    table1ipno.value := nun+'00001'

    200000001을 부여하고,아니면....

    else

    table1ipno.value :=inttostr(strtoint(IpnocreateTIpNo.value)+1);

    테이블을 라스트시킨 후 일련번호를 숫자형으로 변환 후 +1하시구(일련번호가 문자열이라

    면) 다시 문자형으로 변환 후 수정 폼을 보여줍니다.



    일련번호는 수정되면 안되겠죠?

    enabled속성을 false로 주셔야 합니다.



    초보맨 wrote:

    > paradox 에서 전표번호를 자동으로 부여 하는 필드를 만들고 싶은데

    > 앞에 4자리는 년도 뒤에 5자리는 번호00001 부터 자동증감하는
  • Profile
    하얀까마귀 2000.03.04 21:20
    안녕하세요 하얀까마귀 입니다.



    그런건 그냥 Query Component또는 Table Component의 Before Post Event에서 만들어

    주세요 그게 제일 간단하죠...



    입력할때 구하는건 피하는게 좋고요... 저장하기 바로 직전에 하시는게 좋습니다.



    그런데 이렇게 하더라도 before post에서

    select max(전포번호) from 전표

    wehre 전표일자 = :일자

    하신값이 중복이 안된다고는 볼수 없거든요???

    그래서 중복이 발생할 경우 다시 구하도록 하던지 아니면..

    before Insert Trigger로 만드는 것도 좋을 겁니다.

    그럼.. 즐거운 시간 되세요..

    - 하얀까마귀 -