2017-05-10 3 views
0

Als ich zusammen zwei Textfelder hinzufügen, bekomme ich ein seltsames Ergebnis ...SSRS - Up Zwei Platzhalter Zusammen

The total should be $17,496 and not how it's showing up in the image

Wie mache ich es so nur ich die beiden Zahlen aus der aufsummieren Textboxen, und nicht die beiden Textfelder selbst?

Ich bin mit dem Ausdruck

=ReportItems!all_workers.Value + ReportItems!apprentices.Value 

Jede Textbox (Bericht Artikel) seinen eigenen Ausdruck seiner eigenen, um die beiden Zahlen zu erzeugen hat.

Antwort

1

In Ihrem speziellen Szenario können Sie einen Ausdruck wie diesen verwenden.

= VAL(
    Mid(
     ReportItems!Textbox1.Value 
     , InStr(ReportItems!Textbox1.Value, "=")+1 
     , InStr(ReportItems!Textbox1.Value, ")") - InStr(ReportItems!Textbox1.Value, "=")-1 
     ) 
    ) 
    + 
    VAL(
     Mid(
      ReportItems!Textbox2.Value 
      , InStr(ReportItems!Textbox2.Value, "=")+1 
      , InStr(ReportItems!Textbox2.Value, ")") - InStr(ReportItems!Textbox2.Value, "=")-1 
      ) 
     ) 

jedoch, wenn Sie diese Art der Sache oft tun, wäre es besser, eine Funktion zu schreiben, die nur die Zahlen von Ihnen String zurückgibt und diese verwenden. Auf lange Sicht wird es weniger Arbeit geben. Es gibt zahlreiche Beispiele dafür, wie nicht numerische Zeichen aus einer Zeichenfolge entfernt werden. Hier ist eine Möglichkeit, es zu tun ... Das gibt eine Zeichenfolge nur mit den Zahlen 0-9

Public Function getNumeric(value As String) As String 
    Dim output As String 
    Dim i as integer 
    For i = 0 To value.Length - 1 
     If IsNumeric(value(i)) Then 
      output = output + value(i) 
     End If 
    Next 
    Return output 
End Function 

Ihr Ausdruck ist dann viel einfacher.

=Val(Code.getNumeric(ReportItems!Textbox1.Value)) + Val(Code.getNumeric(ReportItems!Textbox2.Value)) 
0

Hinzufügen von Textfeldern ist im Allgemeinen keine gute Idee, da sie wiederholt werden können, wenn sie in einer Tabelle sind. Was Sie tun sollten, ist den Ausdruck in jedem dieser Platzhalter herauszuziehen und sie in einem neuen Ausdruck in Ihrem anderen Textfeld hinzuzufügen. Dies ist eine bessere Methode für Berechnungen.