Q&A

  • DB에서 원하는 필드만 퀵리포트로...궁금...^^
안녕하세요...^^

궁금한 점이 있어서 글을 띄움이다...

DB에서 원하는 달의 생일자의 번호,성명,전화번호,주소만을 추출하여 퀵리포트에 뿌릴려고 하는데...

다음의 코딩은 DB에서 Birthday 필드에서 원하는 달의 생일자만 추출하는 것인데 맞는지...?

if문으로 달 비교 후 해당 레코드에 원하는 필드만 퀵리포트로 옮겨야 하는데 잘 모르겠어요...?

그리고 한 레코드를 뿌리고 다음 레코드들을 검색하여 찾았으면...퀵리포트의 다음 줄에 뿌려야 하잖아요

그게 자동적으로 다음 줄로 넘어가는지(퀵리포트에 출력할 때)...아니면 어떤 방법을 취해줘야 합니까...?



Moon := strtoint(BirthdayIn.CmbMoon.Text);



DataModule1.Table1.First;



while not DataModule1.Table1.Eof do

begin

DataModule1.Table1.Edit;

DecodeDate(DataModule1.Table1.fieldbyname('Birthday').asdatetime,Year,Month,Day);

if Month = Moon then

begin



여기에 어떤 내용을.....????



DataModule1.Table1.Next;

end

else DataModule1.Table1.Next;

end; //while



그럼 고수님들의 많은 조언 부탁 드립니다...^^

1  COMMENTS
  • Profile
    강인규 2000.05.29 06:11
    음~ 어렵군요.

    이러한 알고리즘 이었으면 월필드를 따로 만드시는 것이 좋았을 텐데....

    일단 저의 알고리즘은 구현은 되나 정석적인 방법이 아니란것은 아시기바랍니다. 저두 답변 기다려본 기억이 있어 어떻게든 구현만 되면 되는데.... 라구 처절하게 답변을 기다린 기억이 있어... 고수님들이 답변을 주시면 그방법으로 하시구 답변이 없을시 사용하십시요.



    일단 Boolean형의 필드를 하나 만듭니다.



    Moon := strtoint(BirthdayIn.CmbMoon.Text);



    DataModule1.Table1.First;



    while not DataModule1.Table1.Eof do

    begin

    DataModule1.Table1.Edit;

    DecodeDate(DataModule1.Table1.fieldbyname'Birthday')

    .asdatetime,Year,Month,Day);

    if Month = Moon then

    begin

    table1.fieldbyname(새로만든필드).asboolean := true;

    end else

    begin

    table1.fieldbyname(새로만든필드).asboolean := false;

    end;

    DataModule1.Table1.Next;

    end; //while



    table1.fieltered := false;

    table1.filter := '새로만든필드 = true'

    table1.filtered := true;

    table1.first;

    Quickrep1.preview;



    //가급적 테이블은 두개를 쓰시는것이 바람직할거 같네요...



    쿼리를 쓰셔도 되구요





    궁금이 wrote:

    > 안녕하세요...^^

    > 궁금한 점이 있어서 글을 띄움이다...

    > DB에서 원하는 달의 생일자의 번호,성명,전화번호,주소만을 추출하여 퀵리포트에 뿌릴려고 하는데...

    > 다음의 코딩은 DB에서 Birthday 필드에서 원하는 달의 생일자만 추출하는 것인데 맞는지...?

    > if문으로 달 비교 후 해당 레코드에 원하는 필드만 퀵리포트로 옮겨야 하는데 잘 모르겠어요...?

    > 그리고 한 레코드를 뿌리고 다음 레코드들을 검색하여 찾았으면...퀵리포트의 다음 줄에 뿌려야 하잖아요

    > 그게 자동적으로 다음 줄로 넘어가는지(퀵리포트에 출력할 때)...아니면 어떤 방법을 취해줘야 합니까...?

    >

    > Moon := strtoint(BirthdayIn.CmbMoon.Text);

    >

    > DataModule1.Table1.First;

    >

    > while not DataModule1.Table1.Eof do

    > begin

    > DataModule1.Table1.Edit;

    > DecodeDate(DataModule1.Table1.fieldbyname('Birthday').asdatetime,Year,Month,Day);

    > if Month = Moon then

    > begin

    >

    > 여기에 어떤 내용을.....????

    >

    > DataModule1.Table1.Next;

    > end

    > else DataModule1.Table1.Next;

    > end; //while

    >

    > 그럼 고수님들의 많은 조언 부탁 드립니다...^^