Visual Basic.NET - Procesar una Formula guardada en una DB

 
Vista:
sin imagen de perfil

Procesar una Formula guardada en una DB

Publicado por Erik (3 intervenciones) el 18/10/2016 01:31:12
Hola Expertos, les planteo lo que quiero hacer.
1.- Tengo un formulario donde se crean unas variables las cuales guardo en una DB en SqlServer. Ej. (var1, var2, var3, ...)
2.- En otro formulario creo formulas a partir de las variables que ya creé en el otro formulario.
Formula1
(var1 + var2)/var3

Formula2
var1*var2/var3

Formula3
IF var1 < 100
var1 * 0.05
ELSE
var1 * 0.25

Formula4 ...

3.- En otro formulario creo jalo las Formulas y sus resultados.

- Imagino que debo jalar la formula como string y reemplazar cada variable (que no necesariamente dependerá de un prefijo como var#).
- Puedo hacer un reemplazo de los valores en el caso de las formulas 1 y 2, pero en el caso de la Formula3 tengo problemas, no tengo idea de como ejecutar esa formula.
Necesito sugerencias y si es posible un ejemplo para ejecutar formulas de ese tipo. (creo que tiene similitud con el editor de formulas de crystal reports)
Ojala puedan ayudarme.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Procesar una Formula guardada en una DB

Publicado por omar (155 intervenciones) el 18/10/2016 01:50:48
saludos instala anydesk y me pasas la id para auxiliarte con un ejemplo

estare a tus ordnees
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Procesar una Formula guardada en una DB

Publicado por Erik (3 intervenciones) el 18/10/2016 14:55:10
enviado...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Procesar una Formula guardada en una DB

Publicado por Erik (3 intervenciones) el 19/10/2016 14:46:33
Hola amigos, llegué a resolverlo.
Utilicé esta fuente:
http://www.codeproject.com/Articles/12852/Compile-and-Run-VB-NET-Code-using-the-CodeDom

Con esa clase puedes ejecutar cualquier operación bajo la estructura de VB, en mis formulas deberé adecuarme a esa estructura. p.e.
1
2
3
4
5
IF (var1 > var 2) AND var1 < 1000 THEN
RETURN var1 * 0.15
ELSE
RETURN var2
END IF

si cambio las variables por sus valores con "replace" (var1=850; var2=750)
1
2
3
4
5
IF (850 > 750) AND 850 < 1000 THEN
RETURN 850 * 0.15
ELSE
RETURN 750
END IF

En el código del enlace realiza el ejemplo retornando un string, solo hay que cambiarlo a tipo decimal, integer, etc...
Saludos. ojala que sea útil para alguien más.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar