Pregunta: | 59332 - EVAL |
Autor: | Antonio Bergottini |
Necesito Ejecutar una función cuyo nombre esta en un String.
Para ejecutar la funcion que se encuentra alojada en el string MS Access dice que se puede usar la Funciom EVAL. Incluso da un ejemplo que acompaño. Pero al ejecutarla me tira el siguiente error:"La expresion que introdujo contiene un nombre de funcion que MS Access no puede encontrar" Nota: He revisado en la pagina la unica pregunta/respuesta sobre EVAL Pero en mi caso el nombre de la función que necesito ejecutar se encuentra en un string. Al que me pueda ayudar muchas gracias. Este es el ejemplo sacado de la ayuda en linea de Access 2003 Ejemplo de la función Eval El siguiente ejemplo supone que tiene una serie de 3 funciones definidas como A1, A2 y así sucesivamente. Este ejemplo utiliza la función Eval para llamar a cada función de la serie. Sub CallSeries() Dim entI As Integer For entI = 1 To 3 Eval("A" & entI & "()") Next entI End Sub Function A1() MsgBox "A1" End Function Function A2() MsgBox "A2" End Function Function A3() MsgBox "A3" End Function |
Respuesta: | Jose Ignacio Alvarez Rodriguez |
Acabo de probarlo y funciona, pero de una forma un poco particular, me explico:
si pones el codigo tal cual en un formulario, no funciona, pero dividiendo el codigo de forma que el sub Call series() este en un formulario y las 3 funciones en un modulo, asi funciona perfectamente. |