Gracias WWWMaster Pude Solucionar pero de otra forma
les dejo por qui el código por si alguien lo necesita
después de encontrar la formula en la base de datos con la funcion
Código:
Dim valor = formulas(seleccion) ' Buscamos la formula del seleccion - donde selecion es el id -
' dbasp.buscar es mi funcion para buscar en la base de datos
Public Function formulas(seleccion As String)
Dim formula As String
seleccion = dbasp.buscar("formula_id", "variables", "codigo", "'" + seleccion + "'")
formula = dbasp.buscar("formula_formula", "formulas", "formula_id", "'" + seleccion + "'")
Return (formula)
End Function
eso me devuelve la formula previamente almacenada en mi base de datos en una string la cual yo se que tengo en este formato ( MGT1 * 2) donde MGT el codigo de mi variable
utilizo Dim c = Split(valor, " ") la cual me divide la formula en
C(0) = "("
C(1) = "MGT1"
C(2) = "*"
C(3) = "2"
C(4) = ")"
Lo que hago es buscar en la tabla de variables cada una de las posiciones y alguna coincide con un cogido remplaza ese valor por el valor de la variable de la base de datos es decir remplaza "MGT1" por "100"
Código:
For num = 0 To c.Length - 1 Step +1
respuesta = dbasp.freequery("select variable_origen from variables where codigo = '" + c(num) + "'")
If respuesta <> Nothing Then
c(num) = "(" + respuesta + ")"
End If
Next
entonces la formula final queda ( (100) * 2 )
luego esto lo mando a SQL con una función y el lo ejecuta y almacena el resultado en un campo