0

任何建议表示赞赏。

在我们的许多报告中,一些文本以大写形式出现,例如名称为:

约翰·史密斯

或小写 - john smith

是否有任何代码/表达式我们可以用来允许常规大写,所以数据总是(在报告中)显示为:

约翰·史密斯 ?

但是,由于已经存在用于在报告中显示名称的 IIF 表达式,因此情况更加复杂,例如: =IIF(fields!x.value="", fields!title.value & " " & Fields!Forenames.Value & " " &fields!surname.Value, "no name") - 任何关于如何将此表达式与返回正则大写的表达式组合的建议将不胜感激。

4

1 回答 1

0

我知道没有任何功能可以更改为 Title Case。您必须执行以下操作:

=UCase(Left(Fields!Forenames.Value, 1)) & LCase(Right(Fields!Forenames.Value, Len(Fields!FieldName.Value)-1))

这基本上是获取第一个字母并将其大写,然后计算出字段的长度,将其减一,并使用该长度来获取字段的其余部分,将其转换为小写。

这将非常适合您的表情,没有戏剧性(理论上!)

=IIF(fields!x.value="", fields!title.value & " " & UCase(Left(Fields!Forenames.Value, 1)) & LCase(Right(Fields!Forenames.Value, Len(Fields!FieldName.Value)-1)) & " " & UCase(Left(Fields!surname.Value, 1)) & LCase(Right(Fieldsurname.Value, Len(Fields!surname.Value)-1)), "no name")

编辑:对不起,对不起,我把我的语言弄混了。报表生成器中没有 Upper() 和 Lower(),而是 UCase() 和 LCase()。编辑我的回复以反映这一点。

于 2014-11-13T12:44:11.710 回答