아래 질문을 올렸는데 제가 수준이 낮아서 인지 문제를 잘 설명 못해서 인지 도움이 안되어서
다시한번 글을 올림니다. 도사님들의 많은 도움 부탁드립니다.
퀵리포트에 테이블이 연결되어 있음.
우리가 보통 데이터을 디비에 추가할때 사용자가 만든 입력폼을 쓰게 됩니다.
그폼에 서 수정도 하고 추가도하고...
대충 어떤 폼인지 아시겠죠?
그런 폼에서 그러니깐 레코드를 선택해서 수정버튼을 클릭하면 디비에디트에 데이터를 보여주자나요 그상태에서 출력버튼을 클릭하면 선택된 현재보고 있는 레코드만 퀵리포트에서
출력하려고 하는데
퀵리포트.print 하면 퀵리포트에 연결된 테이블에 있는 모든 레코드가 다 프린트 된다는
이야기이죠.
제가 원하는건 선택된 레코드만 출력하게 하는건데.
제가 퀵리포트에 대해서 아는거 없어서 어떻게 해야 할지 모르겠는데
저보다 조금이라도 더 많이 아시는 분이라면 저좀 도와주세요.-.-;
흠~~. 현재 선택된 한개의 레코드만 출력하려고 하는군요.
처음부터 그렇게 말씀하시지... ^^
맞습니다. 퀵레포트는 레코드커서가 처음으로 이동하여 처음부터 시작하기때문에
현재 선택한 레코드 1개만 출력하려면 약간의 기교를 부려야 합니다.
이렇게 하세요
여러 방법이 있지만, 그중 한 방법을 말씀드리겠습니다.
퀵레포트의 DataSet속성에 아무것도 연결시키지 마세요.
물론 DetailBand에 QRDBText를 올려놓으시고, 해당 필드를 연결시켰겠죠?...
DetailBand의 BeforePrint이벤트에 다음처럼 코딩하세요
table1.locate('name', table1.fieldbyname('name').asString, []) ;
-> 즉, 출력하기전에 현재 사용자가 선택한 레코드로 이동합니다.
DetailBand의 AfterPrint이벤트에 다음처럼 코딩하세요.
table1.last ;
끝입니다.
그럼...