Crystal reports 在Crystal Reports上格式化手机号码

Crystal reports 在Crystal Reports上格式化手机号码,crystal-reports,Crystal Reports,我搜索了一个公式,用于在Crystal reports上格式化10位数的手机号码。输出应为以下类型-(856)854-8098。公式为: 图片(ToText({Command.Cell Phone},“,”(xxx)xxx xxxx) 当我在我的报告中应用它时,它在突出显示的部分给出了一个错误,说“这个函数的参数太多了” 请建议,我应该如何修改它才能正常工作。我将您的原始公式复制到我的报告中,并用包含您提供的电话号码的公式替换您的命令字段。我很好地把它添加到了报告中。一个调试选项是将电话号码硬编

我搜索了一个公式,用于在Crystal reports上格式化10位数的手机号码。输出应为以下类型-(856)854-8098。公式为: 图片(ToText({Command.Cell Phone},“,”(xxx)xxx xxxx)

当我在我的报告中应用它时,它在突出显示的部分给出了一个错误,说“这个函数的参数太多了”
请建议,我应该如何修改它才能正常工作。

我将您的原始公式复制到我的报告中,并用包含您提供的电话号码的公式替换您的命令字段。我很好地把它添加到了报告中。一个调试选项是将电话号码硬编码到您端的公式中,然后用公式替换
{Command.mobile}
,然后重新测试

我还可以通过将其放入公式中来实现:

Picture(ToText({@phonenum},"0",0),"(xxx) xxx-xxxx")
'(' & mid(totext({@phonenumber},"0",0),1,3) & ')' & ' ' & Mid(totext({@phonenumber},"0",0),4,3) & '-' & Mid(totext({@phonenumber},"0",0),7,4)
最后,一个更脏的替代方案是将以下内容放入公式中:

Picture(ToText({@phonenum},"0",0),"(xxx) xxx-xxxx")
'(' & mid(totext({@phonenumber},"0",0),1,3) & ')' & ' ' & Mid(totext({@phonenumber},"0",0),4,3) & '-' & Mid(totext({@phonenumber},"0",0),7,4)
注:

  • 此解决方案假定手机号码字段始终为10位数字
  • 用report命令中的电话号码字段替换{@phonenumber}

Thanx Robert。我一定会让它发挥作用并让你知道。Robert,我确实尝试过使用你的公式,但不幸的是,我仍然得到同样的错误。我使用的是Crystal reports 11。我甚至为ToText()制作了另一个公式但我也遇到了同样的错误。请建议。我报告中的手机字段是字符串类型。这会导致错误吗?事实上,可能!由于它已经是一个字符串,您应该能够从公式中删除
ToText()
。下一步我会试试看它是否有效。i、 e.
Picture({Command.mobile},”(xxx)xxx xxxx“
没问题,我很乐意为您效劳。您能发布您的数据吗