Jag håller på med en rapport där man dynamiskt ska kunna lägga upp nya värden med formler. Tusen tack för hjälpen. Funkade bra. Den klarar hela vb syntaxen.Ersätta värden i sträng och räkna ut värden
Varje rad i db blir en rad i rapporten. Sparar ett visningsnamn och en tillhörande formel som man skapar via ett GUI. I exemplet nedan(exempel på en enkel formel) är värdena inom hakparenteser id_värden från db.
Jag undrar om man kan hämta formeln från db och sätta in värden och räkna ut datat. Och hur ska jag kunna visa i koden vad det är för räknesätt jag vill använda. Kan ibland vara flera räknesätt i formeln.
Exempel på formel [7]*[13]
Tex [7]*[13] skulle kunna bli rs(0) * rs1(0)Sv: Ersätta värden i sträng och räkna ut värden
Function Eval(Expression)
Dim C 'As MSScriptControl.ScriptControl
Set C = CreateObject("MSScriptControl.ScriptControl")
C.Language = "VBScript"
C.UseSafeSubset = True
Eval = C.Eval(Expression)
End Function
Function Number(Value)
Number = Replace(Value, ",", ".")
End Function
Dim Formel 'As String
Formel = "[7]*[13]"
Formel = Replace(Formel, "[7]", Number(rs(0)))
Formel = Replace(Formel, "[13]", Number(rs(1)))
Respones.Write Eval(Formel)
Sv:Ersätta värden i sträng och räkna ut värden
Hur hittar C.Eval alla räknesätt(+,-,*,/)? Hur fungerar det?Sv: Ersätta värden i sträng och räkna ut värden
Du kan skriva dll och registrera dess funktioner.