Ver Mensaje Individual
  #3 (permalink)  
Antiguo 01/06/2013, 02:48
Avatar de erbuson
erbuson
 
Fecha de Ingreso: noviembre-2009
Mensajes: 701
Antigüedad: 14 años, 5 meses
Puntos: 53
Respuesta: Guardar variables en acces vb6

Hola, no se si mi respuesta te va a llegar a tiempo, yo tuve necesidad de algo similiar y entonces lo que hice fue lo siguiente.

Código vb:
Ver original
  1. Public Function Evaluar(Expresion As String) As String
  2.   ' Necesita Referencia Microsoft Script Control 1.0
  3.  Dim Scr As ScriptControl
  4.   Set Scr = New ScriptControl
  5.   Scr.Language = "VBScript"
  6.   Evaluar = Scr.Eval(Expresion)
  7.   Set Scr = Nothing
  8. End Function

Esto sólo por si mismo, evidentemente no sirve para tus propositos ya que esto por ejemplo lo que hace es Text1 = Evaluar("15.5*2/7") y como es obvio se puede hacer de otras maneras.

Lo que yo haría en tu caso es por ejemplo algo asi:

Código vb:
Ver original
  1. VariableEnBase = "(<Fx> * 2 + <Fy> * 2) * (1/2)"
  2.  
  3. Formula = Replace(VariableEnBase, "<Fx>", Caja1.Text)
  4. Formula = Replace(Formula, "<Fy>", Caja2.Text)
  5. Caja3 = Evaluar(Formula)

Suponiendo que tienes 1.5 en Caja1 y 3.9 en Caja2 en realidad estas consiguiendo ...

Caja3 = Evaluar("(1.5 * 2 + 3.9 * 2) * (1/2)") y esto devuelve 5.4

No se si es un poco chapuza pero funciona, en mi caso lo que hago es mas complejo ya que creo un Array de Valores y en lugar de nombres utilizo lo que son Memorias o sea algo asi ...

VariableEnBase = "(<1> * 2 + <2> * 2) * (1/2)"

De este modo puedo hacer un bucle y cambiar todas las variables que tenga la formula, ...

Si Formula contiene <1> Hago replace de <1>, si contiene <2> replace de <2>, ...

En fin opciones de desarrollo una vez tienes la idea son muchas.

Saludos
__________________
Agradecer a quien te enseñó, es enseñar lo que de él aprendiste.
Recuerda: Decir gracias, poco cuesta y mucho vale ...