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))