Many a times there had been requirements to format the CRM phone number in the SSRS report in following format.
We tried to achieve this by creating 12 text boxes and in each textbox
we applied the below logic in the expression.
=
IIF(Fields!telephone1.Value.toString().Length>=1,
GetChar(Fields!telephone1.Value.toString(),1), “”)
It works successfully when the length of phone number is equal to 10.
But it fails when the length of phone number is less than 10 and you will get an
error while running this report.
To resolve this issue we found a work around for this.
First you need to format the data using the SQL query and PAD the spaces
into the field. As given below.
LEFT(ISNULL(telephone1,
'') + ' ', 10)
The above statement will format the telephone1 attribute. If the user enters
errorneuos or junk data into the telephone1 field like “99”, then the above
statement will return the value “99
”, i.e. 99 + additional 8 spaces . And in the textboxes expressions you
just need to write the following expressions without checking the IIF
condition.
= GetChar(Fields!telephone1.Value.toString(),1)
=
GetChar(Fields!telephone1.Value.toString(),2)
=
GetChar(Fields!telephone1.Value.toString(),3)
=
GetChar(Fields!telephone1.Value.toString(),4)
Hope this helps!