Evaluar formulas.

Iniciado por mdg, 21 Enero 2007, 05:45 AM

0 Miembros y 1 Visitante están viendo este tema.

mdg

Buenas colegas, tengo el siguiente dilema.

Eh intentado sin resultaso  , crear un formulario en el cual mediante cadenas de texto pueda crear formulas tales como:

Canceto1=Sumar(sueldobruto,antiguedad) donde sueldobruto y antiguedad son variables del empleado , pero no logro dar con la manera de hacer esto, eh intentado con el scriptcontrol pero francamente no se bien como utilizarlo, todavia no lo comprendo muy bien, es por eso que les solicito ayuda, si alguien tiene algun ejemplo de esto o tiene alguna mejor idea de como hacerlo se los agradecere eternamente.

_Sergi_

No comprendo la pregunta. ¿Podrías explicarte mejor?

Con ejemplos de código, lo que has intentado hacer y te ha devuelto error, o al menos, lo que esperas que haga el programa y no hace.

Un saludo
Proyecto de Ingeniero

mdg

Hola, gracias por responder, lo que tengo echo esta en vba en access que es donde realizo las pruevas pero el problema lo tengo en el script

Esta funcion me devuelve la antiguedad en años de un empleado, segun el numero de legajo ingresado en un txtbox

Public Function Antiguedad()
Dim sql As String
Dim rst As DAO.Recordset

sql = "SELECT * FROM tbl_Empleados WHERE Legajo='" & Forms!formulario3!txtlegajo & "'"
Set rst = CurrentDb.OpenRecordset(sql)

rst.Edit
Antiguedad = rst("anti")
rst.Close

End Function

'Este es el Script que me evalua los calculos.


Dim ObjetoScript As ScriptControl

Private Sub cmdeval_Click()
Dim vvalor As Variant


'vamos a jecutar Msgbox externo
Set ObjetoScript = New ScriptControl
   With ObjetoScript
      .Language = "VBScript"
     
      'Esta seria la funcion que me trae la antiguedad en años de un empleado
      .AddCode Antiguedad
     
      '.AddCode "Antiguedad"
     
      vvalor = .Eval(Me.Text2)

   End With
   Set ObjetoScript = Nothing
   Me.Text1 = vvalor
End Sub


El caso es que si yo en text2 ingreso (10+10+antiguedad) me larga error por la funcion, no se como puedo hacer para que interactue con los demas calculo, gracias por responder...

_Sergi_

Hola

Lo que intentas hacer, sustituir una entrada de texto por una variable no estoy seguro de que pueda hacerse, o al menos yo no lo sé hacer.

Lo siento  :-\
Proyecto de Ingeniero

mdg

Hola!

Lo que intento es que el Scriptcontrol me evalue tambien el resultado de la funcion Antiguedad pero no logro dar con la forma eh intentado Scriptcontrol1.AddCode "Antiguedad" pero me dice que se esperaba instruccion o algo asi  tambien probe: Scriptcontrol1.AddCode Antiguedad pero me dice que no coinciden los tipos , tambien quiero poder evaluar el resukltado de esta funcion combinada con otros calculos como ser antiguedad+10+20, etc, no se si me explico, gracias nuevamente...