2009-10-13 8 views
0

크로스 탭 보고서에 대한 그룹화로 다음 수식이 있습니다.코드로 수식 서식 지정?

{Command.Year} & ' ' & {Command.RF Period} 

연도는 SmallInt이고 마침표는 TinyInt입니다.

문제는 보고서에 다음과 같이 표시된다는 것입니다.

2,009.00 9.00

데이터베이스 값은 실제로 다음과 같습니다.

2009 9

양식에 함께 있기 때문에 서식을 지정할 수 있습니다.

궁극적으로 나는 그것을하고 싶습니다 :

2009 09

편집 :

이 링크를 찾았습니다 : http://www.kenhamady.com/form15.shtml

이제 내 코드는 다음과 같습니다.

WhileReadingRecords; 


StringVar text  := Totext ({Command.RF Period} , 6 , "" ) ; //put your numeric field in this line 
NumberVar end := length (text) ; 
NumberVar clip := 
(if Val (text [ end - 6 to end ]) = 0 then 1 else 0) + 
(if Val (text [ end - 5 to end ]) = 0 then 1 else 0) + 
(if Val (text [ end - 4 to end ]) = 0 then 1 else 0) + 
(if Val (text [ end - 3 to end ]) = 0 then 1 else 0) + 
(if Val (text [ end - 2 to end ]) = 0 then 1 else 0) + 
(if Val (text [ end - 1 to end ]) = 0 then 1 else 0) + 
(if Val (text [ end - 0 to end ]) = 0 then 1 else 0) ; 
text [ 1 to Length (text) - clip ] 

그러나 저는 Crystal Language를 사용하지 않고 VB를 사용합니다. 1로 시작하지 않으면 기간 앞에 0을 어떻게 추가합니까?

문제는 지금 10 월, 11 월과 12 월 이후에 9 월 (9)이 나타나고 알파벳순으로 9가 1 이후에옵니다.

누구?

답변

1

ToText 함수는 이런 종류의 작업에 매우 유용하며 루프가 필요하지 않습니다. Crystal의 VB 구문에서 :

Formula = ToText({Command.Year}, 0, "") & " " & ToText({Command.RF Period}, "00") 

설명하는대로 {Command.Year} 및 {Command.RF Period}이 정수인 경우이 방법이 작동합니다.