Q&A

  • 퀵리포트에서 테이블자료 쿼리자료 출력하기
안녕하세요.

맨날 신세만 지네요.

공부 많이 해서 나두 답변 올려 도움이 되었음 좋겠네요



앞에서 질문을 드려 답을 받았는데 여전히 풀리지 않네요.



mast table에 고객에 대한 주소를 전부다 넣어 놓지 않고 기타 주소만 저장하고 시도명, 구명, 동명, 리명 등을 우편번호를 이용하고 있습니다.



즉 mast table



고객이름 우편번호1 우편번호2 기타주소

-------------------------------------------------------

김아무개 600 010 120번지 우성아파트 5-202



그리고 woo table에서



우편번호1 우편번호2 시도명 시군구명 행정동명 리명

------------------------------------------------------------------------

600 010 부산 중구 대청동



이런 식으로 있는데요.



제가 원하는 것은 퀵리포트에 고객의 이름과 함께 주소를 대장으로 출력하고자 한는 겁니다.



그럴려면 일단 고객이름과 기타주소는 그대로 가져오면 되는데 시도, 구, 동명이

문제 입니다.



리포트 출력모양



고객이름 주 소

------------------------------------------------------

김아무개 시도명? 구명? 행정동명? ---- 이 부분이 문제

기타주소





var

str1, str2, str3 : string;

woo_1, woo_2 : string;

sidon_p, digungun_p, ln_p, hjdn_p : string;

begin

dm1.Table1.Open;

dm1.Query1.Close;

dm1.Query1.SQL.Clear;

woo_1 := dm1.Table1.FieldByName('woo1').AsString;

woo_2 := dm1.Table1.fieldbyname('woo2').AsString;



str1 := ' ';

str1 := 'select sidon as sidon_p, sigungun as sigungun_p, hjdn as hjdn_p, ln as ln_p from woo where woo1 = :woo_1 and woo2 = :woo_2 ';

dm1.Query1.SQL.Add(str1);

dm1.Query1.ParamByName('woo_1').AsString := dm1.Table1.fieldbyname('woo1').AsString;

dm1.Query1.ParamByName('woo_2').AsString := dm1.Table1.fieldbyname('woo2').AsString;

dm1.Query1.Open;



qrdbtext4.DataField := sidon_p; //제가 해본 방법인데 에러네요.

(여기서 qrdbtext4 는 시도명이 출력될 퀵리포트상

의 dbtext 입니다.)



아시겠지만 여기서 dm1은 table, query 등을 모아놓은 것이구요

table1은 mast table 을 가르키는 것입니다.



어떻하죠? 어떻게 하면 시도명, 구명, 동명을 출력할 수 있을 까요?



선배님들의 가르침을 기다립니다.

6  COMMENTS
  • Profile
    하기 2001.06.06 01:11
    한가지 Table을 쓰신다면.. Paradox에서 쓸수 있는 방법을 하나 말쓸드릴까요?? ^^;

    우선 Mast Table을 QuickReport에다 연결하시고요...

    원하시는 내용(Mast에 있는 내용)을 DetailBand에 놓으시고

    [고객이름 기타주소]를 QRDBLabel로 놓으시고요

    중간에 그냥 QRLabel를 놓으세요...

    고객이름 QRLabel 기타주소 이렇게...

    그런다음 아마도 woo table은 Master Key가 우편번호1,우편번호2 로 잡혀 있을것

    같은데... DetailBand의 Before Event에서 바로 출력될때마다 찾아 주시면되죠

    [[[

    if wooTable.FindKey([우편번호1,우편번호2]) = True then

    begin

    QRLabel.Caption := woTable.FieldByName('시도명').AsString +

    woTable.FieldByName('시군구명').AsString +

    woTable.FieldByName(행정동명').AsString;

    end;

    ]]]

    이런식으로요...

    Wootable의 Key가 다르다면 Query로 Select하셔서 해당하는 내용을 사용하셔도

    되고요... 음 내가 적어내려가고도 어렵군요... 잘 하실수 있을것 같은데...

    낼은 쉬는날 그럼... 즐코하세요...





    강영미 wrote:

    > 안녕하세요.

    > 맨날 신세만 지네요.

    > 공부 많이 해서 나두 답변 올려 도움이 되었음 좋겠네요

    >

    > 앞에서 질문을 드려 답을 받았는데 여전히 풀리지 않네요.

    >

    > mast table에 고객에 대한 주소를 전부다 넣어 놓지 않고 기타 주소만 저장하고 시도명, 구명, 동명, 리명 등을 우편번호를 이용하고 있습니다.

    >

    > 즉 mast table

    >

    > 고객이름 우편번호1 우편번호2 기타주소

    > -------------------------------------------------------

    > 김아무개 600 010 120번지 우성아파트 5-202

    >

    > 그리고 woo table에서

    >

    > 우편번호1 우편번호2 시도명 시군구명 행정동명 리명

    > ------------------------------------------------------------------------

    > 600 010 부산 중구 대청동

    >

    > 이런 식으로 있는데요.

    >

    > 제가 원하는 것은 퀵리포트에 고객의 이름과 함께 주소를 대장으로 출력하고자 한는 겁니다.

    >

    > 그럴려면 일단 고객이름과 기타주소는 그대로 가져오면 되는데 시도, 구, 동명이

    > 문제 입니다.

    >

    > 리포트 출력모양

    >

    > 고객이름 주 소

    > ------------------------------------------------------

    > 김아무개 시도명? 구명? 행정동명? ---- 이 부분이 문제

    > 기타주소

    >

    >

    > var

    > str1, str2, str3 : string;

    > woo_1, woo_2 : string;

    > sidon_p, digungun_p, ln_p, hjdn_p : string;

    > begin

    > dm1.Table1.Open;

    > dm1.Query1.Close;

    > dm1.Query1.SQL.Clear;

    > woo_1 := dm1.Table1.FieldByName('woo1').AsString;

    > woo_2 := dm1.Table1.fieldbyname('woo2').AsString;

    >

    > str1 := ' ';

    > str1 := 'select sidon as sidon_p, sigungun as sigungun_p, hjdn as hjdn_p, ln as ln_p from woo where woo1 = :woo_1 and woo2 = :woo_2 ';

    > dm1.Query1.SQL.Add(str1);

    > dm1.Query1.ParamByName('woo_1').AsString := dm1.Table1.fieldbyname('woo1').AsString;

    > dm1.Query1.ParamByName('woo_2').AsString := dm1.Table1.fieldbyname('woo2').AsString;

    > dm1.Query1.Open;

    >

    > qrdbtext4.DataField := sidon_p; //제가 해본 방법인데 에러네요.

    > (여기서 qrdbtext4 는 시도명이 출력될 퀵리포트상

    > 의 dbtext 입니다.)

    >

    > 아시겠지만 여기서 dm1은 table, query 등을 모아놓은 것이구요

    > table1은 mast table 을 가르키는 것입니다.

    >

    > 어떻하죠? 어떻게 하면 시도명, 구명, 동명을 출력할 수 있을 까요?

    >

    > 선배님들의 가르침을 기다립니다.

  • Profile
    어떤이 2001.06.06 00:41
    Table 콤포 보다는 Query콤포를 사용하여 해결 하세요....



    with Query1 do begin

    Sql.Clear;

    Sql.Add('Select 고객이름,');

    Sql.Add(' trim(시도명)||" "||trim(시군구명)||" "||');

    Sql.Add(' trim(trim(행정동명)||" "||trim(리명))||" "||');

    Sql.Add(' trim(기타주소)');

    Sql.Add(' From Mast A,Woo B');

    Sql.Add(' Where A,우편번호1 = B.우편번호1');

    Sql.Add(' And A.우편번호2 = B.우편번호2');

    Sql.Add(' Order By 1');

    Open;

    end;



    > 안녕하세요.

    > 맨날 신세만 지네요.

    > 공부 많이 해서 나두 답변 올려 도움이 되었음 좋겠네요

    >

    > 앞에서 질문을 드려 답을 받았는데 여전히 풀리지 않네요.

    >

    > mast table에 고객에 대한 주소를 전부다 넣어 놓지 않고 기타 주소만 저장하고 시도명, 구명, 동명, 리명 등을 우편번호를 이용하고 있습니다.

    >

    > 즉 mast table

    >

    > 고객이름 우편번호1 우편번호2 기타주소

    > -------------------------------------------------------

    > 김아무개 600 010 120번지 우성아파트 5-202

    >

    > 그리고 woo table에서

    >

    > 우편번호1 우편번호2 시도명 시군구명 행정동명 리명

    > ------------------------------------------------------------------------

    > 600 010 부산 중구 대청동

    >

    > 이런 식으로 있는데요.

    >

    > 제가 원하는 것은 퀵리포트에 고객의 이름과 함께 주소를 대장으로 출력하고자 한는 겁니다.

    >

    > 그럴려면 일단 고객이름과 기타주소는 그대로 가져오면 되는데 시도, 구, 동명이

    > 문제 입니다.

    >

    > 리포트 출력모양

    >

    > 고객이름 주 소

    > ------------------------------------------------------

    > 김아무개 시도명? 구명? 행정동명? ---- 이 부분이 문제

    > 기타주소

    >

    >

    > var

    > str1, str2, str3 : string;

    > woo_1, woo_2 : string;

    > sidon_p, digungun_p, ln_p, hjdn_p : string;

    > begin

    > dm1.Table1.Open;

    > dm1.Query1.Close;

    > dm1.Query1.SQL.Clear;

    > woo_1 := dm1.Table1.FieldByName('woo1').AsString;

    > woo_2 := dm1.Table1.fieldbyname('woo2').AsString;

    >

    > str1 := ' ';

    > str1 := 'select sidon as sidon_p, sigungun as sigungun_p, hjdn as hjdn_p, ln as ln_p from woo where woo1 = :woo_1 and woo2 = :woo_2 ';

    > dm1.Query1.SQL.Add(str1);

    > dm1.Query1.ParamByName('woo_1').AsString := dm1.Table1.fieldbyname('woo1').AsString;

    > dm1.Query1.ParamByName('woo_2').AsString := dm1.Table1.fieldbyname('woo2').AsString;

    > dm1.Query1.Open;

    >

    > qrdbtext4.DataField := sidon_p; //제가 해본 방법인데 에러네요.

    > (여기서 qrdbtext4 는 시도명이 출력될 퀵리포트상

    > 의 dbtext 입니다.)

    >

    > 아시겠지만 여기서 dm1은 table, query 등을 모아놓은 것이구요

    > table1은 mast table 을 가르키는 것입니다.

    >

    > 어떻하죠? 어떻게 하면 시도명, 구명, 동명을 출력할 수 있을 까요?

    >

    > 선배님들의 가르침을 기다립니다.

  • Profile
    강영미 2001.06.06 01:08
    어떤이 wrote:

    > Table 콤포 보다는 Query콤포를 사용하여 해결 하세요....

    >

    > with Query1 do begin

    > Sql.Clear;

    > Sql.Add('Select 고객이름,');

    > Sql.Add(' trim(시도명)||" "||trim(시군구명)||" "||');

    > Sql.Add(' trim(trim(행정동명)||" "||trim(리명))||" "||');

    > Sql.Add(' trim(기타주소)');

    > Sql.Add(' From Mast A,Woo B');

    > Sql.Add(' Where A,우편번호1 = B.우편번호1');

    > Sql.Add(' And A.우편번호2 = B.우편번호2');

    > Sql.Add(' Order By 1');

    > Open;

    > end;



    저기요. 자료를 불러오는 것은 할 수 있겠는데요.

    문제는 퀵리포트에 어떻게 출력시키느냐는 건디요. 다시 한번 부탁드립니다.

  • Profile
    어떤이 2001.06.06 02:08
    Query1의 Sql문을 다음과 같이 작성하시고 나서...



    Select 고객이름,

    trim(시도명)||" "||trim(시군구명)||" "||

    trim(trim(행정동명)||" "||trim(리명))||" "||

    trim(기타주소) 주소 // <-이부분에 적당한 필드명을 주시면 됩니다.

    From Mast A,Woo B

    Where A,우편번호1 = B.우편번호1

    And A.우편번호2 = B.우편번호2

    Order By 1



    그런다음 Query 콤포를 두번 클릭하면 Field Name이 고객이름,주소 두개가 올라 올겁니다. 그럼 이걸 Quick Report에 적당히 링크해주셔요.....





    강영미 wrote:

    > 어떤이 wrote:

    > > Table 콤포 보다는 Query콤포를 사용하여 해결 하세요....

    > >

    > > with Query1 do begin

    > > Sql.Clear;

    > > Sql.Add('Select 고객이름,');

    > > Sql.Add(' trim(시도명)||" "||trim(시군구명)||" "||');

    > > Sql.Add(' trim(trim(행정동명)||" "||trim(리명))||" "||');

    > > Sql.Add(' trim(기타주소)');

    > > Sql.Add(' From Mast A,Woo B');

    > > Sql.Add(' Where A,우편번호1 = B.우편번호1');

    > > Sql.Add(' And A.우편번호2 = B.우편번호2');

    > > Sql.Add(' Order By 1');

    > > Open;

    > > end;

    >

    > 저기요. 자료를 불러오는 것은 할 수 있겠는데요.

    > 문제는 퀵리포트에 어떻게 출력시키느냐는 건디요. 다시 한번 부탁드립니다.

  • Profile
    Lee 2001.06.06 01:43
    이렇게 하면 불러올 수 있지 않나요...

    다른분 답변에 코멘트 달아서 죄송..



    with Query1 do begin

    Sql.Clear;

    Sql.Add('Select 고객이름,');

    Sql.Add(' (trim(시도명)||" "||trim(시군구명)||" "||');

    Sql.Add(' trim(trim(행정동명)||" "||trim(리명))||" "||');

    Sql.Add(' trim(기타주소)) as juso ');

    Sql.Add(' From Mast A,Woo B');

    Sql.Add(' Where A,우편번호1 = B.우편번호1');

    Sql.Add(' And A.우편번호2 = B.우편번호2');

    Sql.Add(' Order By 1');

    Open;

    end;



    위에서 as는 생략 가능하구요

    서로 연결된 내용을 크데 ()로 묶어서 juso라는 필드로

    rename 시켜서 QuickReport상에서는 juso를 바로 불러쓰면

    될 것 같네요... ^^









    강영미 wrote:

    > 어떤이 wrote:

    > > Table 콤포 보다는 Query콤포를 사용하여 해결 하세요....

    > >

    > > with Query1 do begin

    > > Sql.Clear;

    > > Sql.Add('Select 고객이름,');

    > > Sql.Add(' trim(시도명)||" "||trim(시군구명)||" "||');

    > > Sql.Add(' trim(trim(행정동명)||" "||trim(리명))||" "||');

    > > Sql.Add(' trim(기타주소)');

    > > Sql.Add(' From Mast A,Woo B');

    > > Sql.Add(' Where A,우편번호1 = B.우편번호1');

    > > Sql.Add(' And A.우편번호2 = B.우편번호2');

    > > Sql.Add(' Order By 1');

    > > Open;

    > > end;

    >

    > 저기요. 자료를 불러오는 것은 할 수 있겠는데요.

    > 문제는 퀵리포트에 어떻게 출력시키느냐는 건디요. 다시 한번 부탁드립니다.

  • Profile
    하기 2001.06.06 01:40
    with Query1 do

    begin

    Sql.Clear;

    Sql.Add('Select Post1,Post2,Name,Addr1,Addr2,Addr3,Post3 From A,B');

    Sql.Add(' Where A.Post1 = B.Post1');

    Sql.Add(' And A.Post2 = B.Post2');

    Open;

    end;



    A.DB는

    Name

    Post1(우편번호1)

    Post2(우편번호2)

    Post3(상세주소)

    B.DB는

    Post1(우편번호1)

    Post2(우편번호2)

    Addr1(시군명)

    Addr2(동명)

    Addr3(리명)

    하고서 Select한다음...

    Query1을 Quick Report에다 연결해 주시면 되죠...





    강영미 wrote:

    > 어떤이 wrote:

    > > Table 콤포 보다는 Query콤포를 사용하여 해결 하세요....

    > >

    > > with Query1 do begin

    > > Sql.Clear;

    > > Sql.Add('Select 고객이름,');

    > > Sql.Add(' trim(시도명)||" "||trim(시군구명)||" "||');

    > > Sql.Add(' trim(trim(행정동명)||" "||trim(리명))||" "||');

    > > Sql.Add(' trim(기타주소)');

    > > Sql.Add(' From Mast A,Woo B');

    > > Sql.Add(' Where A,우편번호1 = B.우편번호1');

    > > Sql.Add(' And A.우편번호2 = B.우편번호2');

    > > Sql.Add(' Order By 1');

    > > Open;

    > > end;

    >

    > 저기요. 자료를 불러오는 것은 할 수 있겠는데요.

    > 문제는 퀵리포트에 어떻게 출력시키느냐는 건디요. 다시 한번 부탁드립니다.

    • 김대규
    • 2001.06.06 03:27
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 박종환
      2001.06.07 07:05
      Event를 공통으로 사용한 후 다음과 같은 방법으로도 내부에서 구분하여 사용할 수 있습니다. Tag 를 사용...
    • Dorothy
      2001.06.06 05:34
      무슨 말씀이신지 잘 모르겠지만.. 세게의 panel에 비슷한 코딩을 집어넣어야 한다는 소린가여? 각 pa...
    • 김대규
      2001.06.06 06:19
      답변 감사합니다 이벤트를 하나로보내면 되는군요... 그리구 테그를사용하는건 첨보는데.. 좋은 참고되었...
    • 답답이
    • 2001.06.06 03:26
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 바다를향해
      2001.06.15 20:44
      스플릿트 함수를 간단하게 구현 하세여...... 질문에 의해 얘기를 해보자면 구분문자가 공백(1 character...
    • 바다를향해
      2001.06.15 20:44
      스플릿트 함수를 간단하게 구현 하세여...... 질문에 의해 얘기를 해보자면 구분문자가 공백(1 character...
    • 바다를향해
      2001.06.15 20:44
      스플릿트 함수를 간단하게 구현 하세여...... 질문에 의해 얘기를 해보자면 구분문자가 공백(1 character...
    • 바다를향해
      2001.06.15 20:43
      스플릿트 함수를 간단하게 구현 하세여...... 질문에 의해 얘기를 해보자면 구분문자가 공백(1 character...
    • 바다를향해
      2001.06.15 20:43
      스플릿트 함수를 간단하게 구현 하세여...... 질문에 의해 얘기를 해보자면 구분문자가 공백(1 character...
    • 문인호
    • 2001.06.06 02:50
    • 1 COMMENTS
    • /
    • 0 LIKES
    • Dorothy
      2001.06.06 05:41
      델파이에서 커서를 사용할수 있는지는 잘 모르겠지만.. 왜 구지 커서를 사용하려 하시는지여? 그냥 쿼리...
    • Dorothy
      2001.06.06 05:43
      그냥 Preview폼에서 열어줌 되지 않나여? 델파이초보 wrote: > QuickReport에서 (*.QRP) 형식으로 저장...
    • 초보
    • 2001.06.06 01:52
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 박종환
      2001.06.07 07:20
      File -> New -> Unit 선택하면 Form 이 없는 ???.pas 가 생성됩니다. 이를 File -> Save As 해서 원하는 ...
    • Dorothy
      2001.06.06 05:45
      폼없이 .pas만 가지는 unit을 만드심 됩니다.. 근데 특정기능이라니.....무슨 말씀이신지... 여러가지 함...
    • 허접....^^
      2001.06.06 05:10
      흠 간단하게엽.. 메모장에 HTML로 문서를 작성하시길...ㅋㅋㅋ 전 이방법으로 해결 했죠 ^^ 쿼리한 내용...
    • 초보델피언
      2001.06.06 05:22
      감사합니다. 그런데.. 이미지를 그렇게 해서 만든 html에 이미지를 넣어서 통신으로 보내면 이미지는 안가...
    • 질문
    • 2001.06.06 00:47
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 김대환
    • 2001.06.06 00:31
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김경환
      2001.12.21 10:43
      김대환 wrote: > 윈98에서는 ExitWindowsEx(EWX_SHUTDOWN, 0); 라고하면 시스템이 종료되는데 > > 2000...
    • 강영미
    • 2001.06.05 23:33
    • 6 COMMENTS
    • /
    • 0 LIKES
    • 하기
      2001.06.06 01:11
      한가지 Table을 쓰신다면.. Paradox에서 쓸수 있는 방법을 하나 말쓸드릴까요?? ^^; 우선 Mast Table을 Q...
    • 어떤이
      2001.06.06 00:41
      Table 콤포 보다는 Query콤포를 사용하여 해결 하세요.... with Query1 do begin Sql.Clear; Sql....
    • 강영미
      2001.06.06 01:08
      어떤이 wrote: > Table 콤포 보다는 Query콤포를 사용하여 해결 하세요.... > > with Query1 do begin ...
    • 어떤이
      2001.06.06 02:08
      Query1의 Sql문을 다음과 같이 작성하시고 나서... Select 고객이름, trim(시도명)||" "||trim(시군구...
    • Lee
      2001.06.06 01:43
      이렇게 하면 불러올 수 있지 않나요... 다른분 답변에 코멘트 달아서 죄송.. with Query1 do begin ...
    • 하기
      2001.06.06 01:40
      with Query1 do begin Sql.Clear; Sql.Add('Select Post1,Post2,Name,Addr1,Addr2,Addr3,Po...
    • 변인호
      2001.06.06 03:13
      제가 리포트를 부를때 사용하는 프로시저의 일부입니다.. QFrmReport := TQFrmReport.Creat...
    • 어떤이
      2001.06.06 02:22
      뭔가를 Create 한다음엔 자원을 되돌려 줘야 하지 않을 까요? Application.CreateForm( TQT7878, QT787...
    • 박성호
      2001.06.07 19:05
      어떤이님 그리고 도움을 주셨던 여러분들께 정말 감사드립니다. Preview를 폼에도 올려놓고 실행할때는 생...
    • 심인
    • 2001.06.05 22:17
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 우리들
    • 2001.06.05 21:51
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김태진
      2008.04.26 23:00
      아래 소스는 2번째 컬럼만 한글로 자동전환되어 입력되게 하는 예제입니다. 도움되시길 바랍니다. pro...
    • 무등
    • 2001.06.05 21:13
    • 0 COMMENTS
    • /
    • 0 LIKES