如何解决始终在日期字段中使用德语 - MMM 格式
我正在使用公式:
totext(cdate({DATEFIELD}),'dd.MMM.yyyy')
所以我得到类似 31.Dec.2020
,01.Mar.2020
的信息,我注意到 MMM 格式受 CR 开发人员的语言设置的影响。
我总是喜欢使用德语格式 31.Dez.2020
,01.Mär.2020
(Dec Dez,Mar Mär)。
是否有一种快速的方法可以在公式中对月份格式的语言设置进行硬编码?
解决方法
无法告诉 totext
使用特定语言环境。
您可以通过选择菜单项或设置注册表项值(请参阅 this SAP Note)来更改 CR 设计器中的“首选查看区域设置”,但这只是 CR 设计器应用程序的用户特定设置(例如,对预览同一报表的其他用户或在服务器端渲染中无效)。
我想您必须推出自己的解决方案才能将固定的语言月份名称输入到输出中。您可以检查您的数据库(如果有)是否提供了内置函数来实现这一点,例如 SQL Server 的 FORMAT
:
SELECT FORMAT( GETDATE(),'d','en-gb');
如果是这样,您可以使用命令作为数据源或 CR SQL 表达式字段来使用它。如果没有,只需使用 CR 公式。
最后一件事:您可以在公式中使用 ContentLocale
检索“首选查看区域设置”的当前设置。还有 SelectionLocale
提供上次刷新时的首选语言环境设置。 (我不知道选择“Save data with report”时,SelectionLocale 是否与报告一起存储。)
一个简单但公认不是很灵活的解决方案将类似于以下硬编码月份名称。
但是由于月份名称可能不会在接下来的 1000 年中进行调整,因此这应该仍然是一个令人满意的解决方案。 ;-)
StringVar shortName;
Select Month(cdate({DATEFIELD}))
Case 1:
shortName := "Jan"
Case 2:
shortName := "Feb"
Case 3:
shortName := "Mär"
Case 4:
shortName := "Apr"
Case 5:
shortName := "Mai"
Case 6:
shortName := "Jun"
Case 7:
shortName := "Jul"
Case 8:
shortName := "Aug"
Case 9:
shortName := "Sep"
Case 10:
shortName := "Okt"
Case 11:
shortName := "Nov"
Case 12:
shortName := "Dez";
Replace(ToText(cdate({DATEFIELD}),"dd.#.yyyy"),"#",shortName)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。