내 Report Viewer Expression에 도움이 필요합니다. 사용자가 다른 장소에서 데이터를 선택하기 때문에 데이터 값 유형을 알 수없는 특정 상황에 처해 있습니다. 값이 DateTime이거나 Double인지 확인해야합니다. DateTime이면 LongDateFormat을, double이면 4 자리수를 써야합니다. 이 표현식을 작성 중이므로 Tablix에서 값 대신 # 오류가 발생합니다. iif( IsDate(Fields(First(Fields!Value.Value,"DataSet1")).Value) ,DateValue(Fields(First(Fields!Value.Value,"DataSet1")).Value).ToLongDateString() ,Round(Fields(First(Fields!Value.Value,"DataSet1")).Value,4) )
메신저가 필요한 정보없이 if를 사용하는 경우 #Error없이 결과를 얻을 수 있습니다.보고서 뷰어 식, 값이 DateTime 또는 double인지 확인하는 방법?
0
A
답변
0
IIf
을 사용하면 양면 (TruePart
및 FalsePart
)이 항상 평가되므로 날짜를 반올림하거나 긴 날짜로 두 번 서식을 지정하면 #Error가 발생합니다.
Public Function strFormatValue(objValue As Object) As String
If IsDate(objValue) Then
strFormatValue = CDate(objValue).ToLongDateString
Else
strFormatValue = Format(Round(CDbl(objValue), 4), "f4").ToString
End If
End Function
그리고 이런 식으로 Tablix
에서 호출 :
=Code.strFormatValue(Fields!Value1.Value)
당신은 (오른쪽 보고서>
Report Properties > Code
외부 디자인 화면을 클릭)와
If/Then/Else
로
IIf
을 대체 사용자 지정 코드를 사용할 수 있습니다
고맙습니다. 도움 없이는 할 수 없었습니다. –