我的实际代码更加复杂,但是面临着同样的问题。我试图在这里简单地解决问题。 我有一个变量(Dock_no)。我只是想做的是修剪最后一个字符并显示剩余字符。 变量Dock_no有时也可能为空,因此我正在检查是否存在任何值。
=IIF(Fields!Dock_no.Value is nothing , Fields!Dock_no.Value ,Left(Fields!Dock_no.Value ,(len(Fields!Dock_no.Value)-1)))
如果Dock_no中有某些值,则上面的代码有效,但是如果Dock_value为NULL,则显示#Error。如果Dock_no.value为空,为什么还要转到代码的最后部分?
=IIF(Fields!Dock_no.Value is nothing , Fields!Dock_no.Value ,Left(Fields!Dock_no.Value ,len(Fields!Dock_no.Value)))
上面的方法适用,但不起作用。
=IIF(Fields!Dock_no.Value is nothing , Fields!Dock_no.Value ,Left(Fields!Dock_no.Value ,(len(Fields!Dock_no.Value)**-1**)))
仅供参考...我的实际代码(检查Dock_no是否为空,然后检查“备注”是否为空):
=IIF(len(Fields!Dock_no.Value) =0 , IIF(Fields!Remarks.Value is nothing , Fields!Dock_no.Value ,"(" & Fields!Remarks.Value &")" ) ,
IIF(Fields!Remarks.Value is nothing , IIF(Right(Fields!Dock_no.Value , 1) = "," , Left(Fields!Dock_no.Value,(len(Fields!Dock_no.Value) -1)) , Fields!Dock_no.Value) ,
IIF(Right(Fields!Dock_no.Value , 1) = "," , Left(Fields!Dock_no.Value,(len(Fields!Dock_no.Value) -1)) , Fields!Dock_no.Value) & "(" & Fields!Remarks.Value & ")") )