Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 格式化字段以在SSR中添加破折号_Vba_Reporting Services_Ssrs 2008 - Fatal编程技术网

Vba 格式化字段以在SSR中添加破折号

Vba 格式化字段以在SSR中添加破折号,vba,reporting-services,ssrs-2008,Vba,Reporting Services,Ssrs 2008,我正在从数据库中提取一串数字,并希望在它们之间设置破折号格式。更具体地说,我希望他们从看起来像 这: 1234567890 为此: 12345-67-890 我试图通过占位符属性更改格式,但不起作用。我想可能是因为它是一根绳子 我的代码如下所示: Format(Fields!NUM.Value, "#####-##-###") 当我运行它时,我得到了返回 您可以使用表达式将此格式应用于数字。您可以直接在报表中使用此表达式,也可以将其作为计算字段添加到数据集(如果它将在多个位置被引用) =Lef

我正在从数据库中提取一串数字,并希望在它们之间设置破折号格式。更具体地说,我希望他们从看起来像 这:
1234567890
为此:
12345-67-890

我试图通过占位符属性更改格式,但不起作用。我想可能是因为它是一根绳子

我的代码如下所示:

Format(Fields!NUM.Value, "#####-##-###")

当我运行它时,我得到了返回

您可以使用表达式将此格式应用于数字。您可以直接在报表中使用此表达式,也可以将其作为计算字段添加到数据集(如果它将在多个位置被引用)

=Left(Fields!NUM.Value, 5) + "-" + Mid(Fields!NUM.Value, 6, 2) + "-" + Right(Fields!NUM.Value, 3)

谢谢我以前确实使用过这个表达式,但是使用了
参数。有点傻,不是因为我没想过在
字段中尝试它。这是一个非常可行的解决方案。另一个解决方案是使用特定的方法将值转换为数字。例如:
格式(CInt(Fields!NUM.Value),“#####-##-###”)
。大多数情况下,如果有人带着长度可变的数字字符串出现,
left、mid、right
将不起作用,则发布此消息。