Llamar funciones por nombre

12/05/2010 - 09:19 por José Mª Fueyo | Informe spam
Hola a todos
Tengo una serie de funciones guardadas en un módulo estandard. Mi
intención es guardar una serie de configuraciones en una tabla, uno de
cuyos campos contiene el nombre de alguna de estas funciones
¿Como puedo llamarlas al recuperar su nombre dentro de un recordset?
Gracias.

Salu2,
José Mª Fueyo

Preguntas similare

Leer las respuestas

#1 José Mª Fueyo
12/05/2010 - 10:30 | Informe spam
Me respondo a mi mismo: al estar las funciones en un módulo estandard,
no puedo utilizar callbyname. En su lugar, construyo un string con el
nombre de la función y los parámetros encerrados entre paréntesis, y
lo paso a la función Eval.
En la ayuda he encontrado unos cuantos ejemplos.

Salu2
José Mª Fueyo
[MS MVP Access]
Respuesta Responder a este mensaje
#2 Leonardo Azpurua
12/05/2010 - 15:22 | Informe spam
"José Mª Fueyo" escribió en el mensaje
news:
Me respondo a mi mismo: al estar las funciones en un módulo estandard,
no puedo utilizar callbyname. En su lugar, construyo un string con el
nombre de la función y los parámetros encerrados entre paréntesis, y
lo paso a la función Eval.
En la ayuda he encontrado unos cuantos ejemplos.


Hola,

¿Eval? ¿En VB6?

¿Es una cosa del SP6, o algo así?

La busqué en VB6/SP5 y en VBA, y no la encontré. No pasa nada con el
intellisense de ninguno de los dos.

Sé que existe en VBS (y en el VBA de Access, según me acabo de enterar).

Pero en VB6, hasta donde sé, la única manera de llamar "por nombre" es
justamente usando CallByName sobre miembros de un objeto.

En ese caso, sólo necesitarias crear una clase que redireccione las llamadas
a cada método particular a la implementación en el módulo correspondiente.
Algo como:

[Redireccionador.cls]
Public Sub a(x, y)
Mod1.a x, y
End Sub
Public Function b(y, z) As T
b = Mod2.b(y, z)
End Function

[Mod1.bas]
Public Sub a(x, y)
...
End Sub

[Mod2.bas]
Public Function b(y, z) As T
...
b = ...
End Function

Había algo en una de las librerías de soporte del IDE que permitía la
ejecución de código generado dinámicamente, pero creo que sólo funcionaba
desde el IDE y que además no era redistribuible.


Salud!
Respuesta Responder a este mensaje
#3 José Mª Fueyo
12/05/2010 - 21:31 | Informe spam
Hola Leonardo.
Perdón, si, se trataba de VBA de Access.
De todos modos, es interesante tu respuesta. Gracias.

Salu2
José Mª Fueyo


__________ Información de ESET Smart Security, versión de la base de firmas de virus 5109 (20100512) __________

ESET Smart Security ha comprobado este mensaje.

http://www.eset.com
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida