Forcing a Carriage Return/Line Feed within data

  • I have a report that is returning a column with serial numbers. If the serial number is new, I want to prepend a effective date ("Eff. 06/27/07") to the serial number and add a CRLF. I am prepending my effective date & serial number in SQL.

    The report would look something like this...

    MakeModelColorSerial
    GEBT104Red70923873
    SMUBT105Blue70933329
    SSDBT107BlackEff. 6/27/07

    70933577

    SPDBW100Blue70226544

    psydo code... select make, model, color, CASE WHEN StartDate <> Effectdate THEN 'Eff. ' + CONVERT(VARCHAR(20),Effectdate,1) + <CRLF CODE HERE???> + SerialNum ELSE SerialNum END AS SerialNum

    Or, is this not possible?

    Thanks,

    James

     

  • Look into using the CHAR() function (not the datatype). If I recall correctly it's something like CHAR(13).

  • I did try that CHR(13)+CHR(10) but it just put it inside my data as a string like this.... And didn't actually do the carriage return & line feed.

    MakeModelColorSerial
    GEBT104Red70923873
    SMUBT105Blue70933329
    SSDBT107BlackEff. 6/27/07 CHR(13) CHR(10) 70933577
    SPDBW100Blue70226544

    psydo code... select make, model, color, CASE WHEN StartDate <> Effectdate THEN 'Eff. ' + CONVERT(VARCHAR(20),Effectdate,1) + CHR(13) + CHR(10) + SerialNum ELSE SerialNum END AS SerialNum

  • You can use a VB function called, vbCrLf.

    For example:

    "text" & vbCrLf & "text"

  • uhm.. If you did use CHR, then I guess that the problem is there: You should use CHAR, as below:

    SELECT make, model, color, CASE WHEN StartDate <> Effectdate THEN 'Eff. ' + CONVERT(VARCHAR(20),Effectdate,1) + CHAR(13) + CHAR(10) + SerialNum ELSE SerialNum END AS SerialNum

    Bye, Daniele.

     

  • Thanks Scout... This was the code that I needed.

  • Wouldn't this solution be better than placing your formatting in the SQL statement?

    This way reporting services handles it when it displays it, however, if you format that in the SQL statement the the results themselves would include a line return.

    If you try to import that into another program down the road it might cause "weird things" to happen.

  • What about using environment.newline() in the field expression?

    Something like:  iif(<condition for line 1>, <line 1> + environment.newline()) + <line 2>

Viewing 8 posts - 1 through 7 (of 7 total)

You must be logged in to reply to this topic. Login to reply