2017-12-05 6 views
0

각 페이지에 "파레트 N of M"줄이 포함 된 팔레트 레이블을 생성하도록 Crystal Report를 설정하려고합니다.증분, 표시 및 매개 변수 최대까지 여러 페이지 인쇄

데이터베이스의 순서에는 레이블에 대한 다른 모든 정보가 들어있는 항목이 하나만 있습니다. 내 문제는 인쇄 시간까지 팔레트의 수를 알 수 없으며 각 라벨에는 팔레트 ID뿐 아니라 동일한 주문 정보가 필요하다는 것입니다. 내가 찾고있는 것은 사용자가 총 팔레트 수에 대한 매개 변수를 입력 한 다음 Crystal에서 올바른 수의 고유 레이블을 생성하도록하는 것입니다.

예를 들어 주문에 팔레트가 4 개인 경우 Crystal에서 라벨 사본을 4 부 생성해야하며 각 사본의 유일한 차이점은 'Pallet 1 of 4', 'Pallet 2 of 4' '팔레트 3/4', '팔레트 4/4'.

내가 생각할 수있는 유일한 해결책은 하위 보고서로 실제 데이터를 모두 포함하는 최대 개수의 팔레트와 동일한 개수의 섹션을 만든 다음 입력 된 매개 변수보다 큰 모든 섹션을 억제하는 것입니다. 주어진 주문에 50 개가 넘는 팔레트가있을 수 있으므로이 문제를 피하려고합니다. 그렇게하는 것이 지루하고 아주 깨끗한 해결책은 아닙니다.

- =

솔루션에 대한 Aliqux에게 큰 감사드립니다. 결국 오라클과 호환되도록 구문을 변경해야하고 보고서에 LINKVALUE 필드도 포함해야하지만 대답은 99 %였습니다. 특히 데이터 소스가 오라클이라고 언급하지는 않았습니다. 명령 구문은 내가 (내 매개 변수 TotalPallets라고으로) 사용하여 종료했습니다 : {? TotalPallets} ROWNUM이 < = 당신이 필요합니다

답변

0

에 추가 할 WHERE

테이블 로부터 "LINKVALUE"AS -1을 선택 명령을 테이블에 적용하십시오.

1) 데이터베이스에있는 데이터베이스 전문가 아래에서 명령 추가를 선택하십시오.

2) 만들기를 클릭하여 매개 변수를 만듭니다.

3) 원하는 값을 생성하고 원하는 경우 기본값을 비워두고 값 유형을 숫자로 변경할 수 있습니다. 표는

SELECT TOP {?Counter} 
-1 AS LINKVALUE 
FROM table 

5) 확인을 클릭합니다 및

을하라는 메시지가 나타나면 값을 입력 사용하는 기본 테이블이 곳 SQL 쿼리에 다음을 넣어)

4 (내 매개 변수 카운터를 호출합니다)

6) 링크에서 명령 표의 LINKVALUE에 -1을 사용하여 숫자를 절대 사용하지 않는 숫자 필드를 연결합니다.

7) 링크 옵션

이 유형에 참여 다음과 같습니다 : 내부 조인, 가입 적용 : 적용되지, 링크 유형 :! = 보고서에

8) 상기 시작 numbervalue 공유와 수식을 만들 하나에서.

shared numbervar counters; 
if counters = {?Counter} then counters := 0; 
counters := counters + 1 

9) 당신은 당신의 라벨

동안 그 공식과 카운터 매개 변수를 사용할 수 있습니다
totext({@Counts},0,"")+" of "+totext({?Counter},0,"") 

신용 참조 : https://blogs.sap.com/2014/01/24/duplicating-data-details-records-n-times-eg-repeating-labels-n-times/

+0

당신의 응답을 주셔서 감사합니다! 나는 오늘 이것을 시도하고 있었고 명령을 추가하려고 할 때 오류가 발생했습니다. 내 데이터 소스는 오라클 데이터베이스이므로 아마도 synax 문제 일 뿐이지 만 오류는 다음과 같습니다. –

+0

"데이터베이스에서 데이터를 가져 오지 못했습니다. 세부 정보 : ORA-00923 : FROM 키워드가 예상대로 찾을 수 없습니다 [데이터베이스 공급 업체 코드 : 내가 대신이 구문을 사용하여 작동하도록 얻을 수 있었다처럼 923] –

+1

가 보이는 : 을 선택 -1 "LINKVALUE" 그대로 ROWNUM <= 내가 명확히해야 –