Q&A

  • 어떤 특정 필드의 특정 레코드에 데이타를 넣고 싶거든요......어떻게???
안녕하십니까, 델파이 관계자 여러분들.......

요즘 계속 날씨가 꿀꿀하죠, 그래도 밝은 마음가지시길.......



제 질문은요.....

도서관리 프로그램에서요, "대여일", "반납예정일", "반납확인"이라는 필드를 두고요,

반납예정일이 지나면 반납확인 필드에 미납이라고 입력을 하려구요.

근데 이 입력을 버튼을 클릭해서요,

반납예정일 전이라면 "반납"이라고 입력이 되게하고, 반납예정일이 지났으면 미납이라

고 입력이 되게 하고싶거든요.

버튼클릭으로 특정레코드에 데이타를 넣을려면 어떻게 해야하는지???????

갈켜주세요~~~~~~~~~~~!

그럼, 여러분들 항상 좋은 하루되세요!!!!

1  COMMENTS
  • Profile
    psh 2000.05.28 21:40
    델_맹 wrote:

    > 안녕하십니까, 델파이 관계자 여러분들.......

    > 요즘 계속 날씨가 꿀꿀하죠, 그래도 밝은 마음가지시길.......

    >

    > 제 질문은요.....

    > 도서관리 프로그램에서요, "대여일", "반납예정일", "반납확인"이라는 필드를 두고요,

    > 반납예정일이 지나면 반납확인 필드에 미납이라고 입력을 하려구요.

    > 근데 이 입력을 버튼을 클릭해서요,

    > 반납예정일 전이라면 "반납"이라고 입력이 되게하고, 반납예정일이 지났으면 미납이라

    > 고 입력이 되게 하고싶거든요.

    > 버튼클릭으로 특정레코드에 데이타를 넣을려면 어떻게 해야하는지???????

    > 갈켜주세요~~~~~~~~~~~!

    > 그럼, 여러분들 항상 좋은 하루되세요!!!!



    아마도 파라독스를 쓰시는 것 같군요. 로컬용 프로그램 같구요.

    원하는 기능을 추가하시려면 먼저 오늘날짜와 반납예정일을 비교해야 겠지요.

    오늘날짜가 반납예정일보다 작거나 같으면 '반납' 크면 '미납'이 되겠군요.

    반납예정일 계산시 시간까지 계산하지 않고 날짜만 가지고 계산한다면

    이렇게 해도 괜찮을 것 같군요.



    프로그램 시작시 대여테이블에서 오늘날짜와 반납예정일을 비교하여 반납,미납을 결정해 줍니다. 이 때는 오늘날짜가 반납예정일보다 큰 경우만 적용하면 되겠구요.

    버튼클릭시 처리도 날짜만 비교하면 되니까 간단하겠군요.

    아래 함수는 온라인상에서 제가 만들어 본 것입니다. 즉석에서 만든 것이므로

    오류가 있을지도 모르겠습니다.(미테스트) 그냥 참고만 하세요.



    //특정일자가 지난 대여항목을 '미납'으로 처리하는 루틴



    procedure TForm1.Proccess_Borrow(D:TDateTime;mark{,b_code}:String);

    begin

    with Query1 do begin

    Close;

    sql.Clear;

    sql.Add('update '대여.db ');

    sql.Add('set');

    sql.Add('반납확인=:n1 ');

    sql.Add('where 반납예정일>:n2');

    //sql.Add('and 대여코드=:n3 '); 특정 대여건에 대해 처리할 경우 추가

    //ParamByname('n3').AsString:= b_code;

    ParamByname('n1').AsString:= mark;

    ParamByname('n2').AsString:= DateToStr(D);

    execSQL;

    end;

    end;



    예를 들어 오늘이 지난 항목을 미납으로 처리하려면

    procedure TForm1.Button1Click(Sender:TObject);

    begin

    Proccess_Borrow(Now,'미납');

    end;





    참고로 날짜는 TDate형이든 String형이든 간에 크다 작다로 비교하시면 됩니다.

    그리고 가능하면 String형으로 만들어 주시는 것이 나중에 처리하기가 편할겁니다.