我希望只有名字才会出现在日历上(如果它们存在的话),如果它们不存在则没有。
我创建了一个表达式,它只使用逗号作为分隔符返回人的姓氏。
我目前的表达方式:
=iif(IsNothing(Fields!EmployeeName.Value), nothing, Left(Fields!EmployeeName.Value,-1 + InStr(Fields!EmployeeName.Value, ",")))
如果名称不存在,则出现#Error的当前结果:
答案 0 :(得分:2)
由于您向左侧函数传递小于0的数字,因此发生错误。如果您的字符串中没有逗号,则传入-1。
为了解决这个问题,我在表达式中添加了两个if语句。如果第一个逗号的索引为0,则第一个将返回整个字符串。第二个将检查-1条件,并在发生时将0传递给左侧函数。
=
iif(
IsNothing(Fields!EmployeeName.Value),
nothing,
iif(
InStr(Fields!EmployeeName.Value, ",") = 0,
Fields!EmployeeName.Value,
Left(Fields!EmployeeName.Value,iif(-1 + InStr(Fields!EmployeeName.Value, ",") < 0, 0, -1 + InStr(Fields!EmployeeName.Value, ",")))
)
)