如何在Crystal Report中将医生姓名拆分为姓、名、中间名/后缀列?
Crystal Report 拆分姓名为三列的实现方案
针对你的姓名格式(姓 [空格] 名 [空格] 中间名/后缀),可以通过Crystal Report的公式编辑器,利用字符串拆分函数实现三列拆分,具体步骤如下:
1. 创建「姓(Phys_Last)」字段公式
右键点击报表字段列表中的「公式字段」→「新建」,命名为Phys_Last,输入以下公式:
Trim(Split({数据源.姓名字段}, " ")[1])
Split函数将姓名字符串按空格拆分为数组,[1]取数组第一个元素(即姓氏)Trim用于清除字符串两端可能存在的多余空格
2. 创建「名(Phys_First)」字段公式
同样新建公式字段Phys_First,输入:
Trim(Split({数据源.姓名字段}, " ")[2])
- 取拆分后数组的第二个元素(即名字)
3. 创建「中间名/后缀(Phys_MI)」字段公式
新建公式字段Phys_MI,输入:
If Ubound(Split({数据源.姓名字段}, " ")) >=3 Then Trim(Split({数据源.姓名字段}, " ")[3]) Else ""
Ubound函数判断拆分后的数组长度,避免部分姓名缺少中间名/后缀时出错- 数组长度≥3时取第三个元素,否则返回空字符串
完成三个公式创建后,将它们从字段列表拖到报表的对应列位置即可得到目标格式。
内容的提问来源于stack exchange,提问作者Christy Weber
相关产品推荐
相关产品推荐

