2017-03-07 4 views
0

을 가지고 그것은 보고서 디자이너에서 십진수가 2 자리 만있는 숫자로 변환하고 싶습니다. 다음 표현식을 사용하여 숫자를 변환하고 싶습니다.어떻게 이렇게 <code>MS-access</code>에 테이블이 보고서에서 변수의 다른 유형 (.rdlc)

=IIF(isNumeric(Fields!Val.Value),FormatNumber(Fields!Val.Value,2),(Fields!Val.Value)) 

이 코드 할 나는 숫자 변수에 원하는 대신 > 305 을 얻는 나는 #Error

enter image description here

을 무엇을 얻을 경우 문제는?

+0

@ Reniuz 안녕하세요, 제 도움을 좀 해주시겠습니까? 나는 좀 붙어있다 : ( – SaraniO

답변

1

Access에서 IIf()의 모든 식은 결과를 반환하지 않는 경우에도 평가할 수 있어야합니다. FormatNumber() '305'문자열에 오류가 발생하여 IIf()가 오류를 반환합니다. 여기서 가장 중요한 것은 나쁜 디자인입니다. 숫자 데이터는 숫자 형식 필드에 있어야합니다.

비교 연산자 또는 다른 비 숫자 문자의 변형은 얼마나 많이 사용됩니까? < =,> =, < 비교 연산자가 있습니까? 접두사 문자가 있으면 코드에서이를 추출해야합니다. 문자열을 조작 할 때 구조의 일관성이 필수적입니다.

=하여 IIf (ISNUMERIC ([발), FormatNumber ("", ">"([발]을 대체), 2), 브로])

: 프리픽스는 항상 단지 '>는'이면

그렇지 않으면 VBA에서 사용자 지정 함수가 필요할 수 있습니다.

참고 : Val은 Access의 예약어로, 예약어를 다른 이름으로 사용하지 않아야합니다.

+0

Tanks a lot, 설명을위한 탱크, 나는 그들을 고려할 것이다 접두어가> 또는 < – SaraniO

+1

인 경우 두 개의 가능한 접두어 만 중첩 된 Replace()를 사용할 수 있습니다. = IIf (IsNumeric ([Val]), FormatNumber (바꾸기 ([Val], ">", ""), "<", ""), 2), [Val] – June7