2013-10-02 41 views
5

Tak, że mam następujący ciągRamka Formatowanie W SSRS 2008 - podział wiersza

THIS IS STUFF (MORE STUFF) 

Jak uzyskać ciąg sformatować jako takie w polu tekstowym w SSRS?

THIS IS STUFF 
(MORE STUFF) 

Te dane są pobierane z jednego pola w kwerendzie i nie będzie mógł ręcznie wstrzyknąć linię przerwania.

Ponadto czasami (Więcej rzeczy) nie ma w polu.

Dodatkowe przykłady:

  • rzeczy i rzeczy
  • rzeczy (rzeczy)
  • rzeczy i rzeczy (więcej rzeczy)
  • Odpowiedz

    6

    Trzeba wstawić podział wiersza w ciąg, czyli ustaw wyrażenie w polu tekstowym jako coś takiego:

    ="THIS IS STUFF" & vbcrlf & "(MORE STUFF)" 
    

    Więc wyrażenie w jednym tekstowego:

    enter image description here

    uczyni jako:

    enter image description here

    Można zobaczyć tam jest linia złamać chociaż napis zmieścił się na jednej linii.

    Edit po komentarzu

    OK, musimy obsługiwać różne istniejące ciągi na poziomie raportu.

    Aby to zrobić, chciałbym zaproponować za pomocą niestandardowego kodu, czyli funkcja jak:

    Function SplitString (fieldValue As String) As String 
        If IsDBNull(fieldValue) OrElse IsNothing(fieldValue) Then 
        SplitString = "" 
        Else If InStr(fieldValue, "(") > 0 
        SplitString = RTrim(Left(fieldValue, InStr(fieldValue, "(") - 1)) & _ 
         vbcrlf & Right(fieldValue, Len(fieldValue) - InStr(fieldValue, "(") + 1) 
        Else 
        SplitString = fieldValue 
        End If 
    End Function 
    

    ja sugeruję to jako wyrazu SSRS są notorycznie kruche i brak zwarcia oznacza, że ​​to, co działa dla jeden ciąg znaków może wyświetlać #Error na innym. Możesz obejść to z wieloma instrukcjami IIf, ale Kod niestandardowy jest o wiele lepszy i łatwiejszy do zrozumienia.

    można wywołać funkcję z wyrazem jak:

    =Code.SplitString(Fields!MYFIELD.Value) 
    

    albo w wyrażeniu tekstowym lub jako pole obliczeniowe w zbiorze danych. Powyższe prace dla mnie na swoje dane:

    enter image description here

    enter image description here

    +0

    Powinienem był wyjaśnić, że tekst znajduje się w jednym ciągu wyciągniętym z zapytania. Chociaż, uzasadniona odpowiedź, przepraszam za to! – Elias

    +1

    Czy ciąg znaków będzie w przewidywalnej formie do podziału? Na twoim łańcuchu bazowym możesz podzielić ciąg znaków na podstawie znaku '(' na przykład i wstawić na środku vbcrlf w środku, lub możesz to zrobić na podstawie długości lub kombinacji długości i pewnych znaków. podajesz kilka przykładów, że mogę dać mu szansę –

    +0

    Wierzę, że ciąg znaków będzie rozdzielany przez znak '(' Ciąg będzie zawierał wiele słów, a czasami będzie miał wyrazy w nawiasach, podam kilka przykładów w nawiasie. oryginalne pytanie: – Elias

    0

    natknąłem tej kwestii robiąc mój projekt. I chciałbym podzielić się moimi krokami w tym kierunku. Twórz pojedyncze placehlodery w polu tekstowym, wybierając wyrażenie i formatuj według potrzeb.Możesz łatwo dodać dodatkową linię, przenosząc kolejny element (inny element zastępczy) do następnej linii (przez naciśnięcie klawisza Enter na klawiaturze). Tutaj utworzyłem pojedyncze symbole zastępcze na liście, nadałem nazwy i format tak, jak chcę. enter image description here

    Powiązane problemy