Donde poner un proceso y luego invocarlo desde distintos elementos, en un determinado formulario

Tengo un proceso que genera un número al azar pero quiero saber donde ponerlo para invocarlo desde distintos elementos, para no estar repitiendo código. Y cómo invocarlo

Por ejemplo, al hacer clic en una etiqueta de texto

2 respuestas

Respuesta

Lo habitual es crear una función publica en un modulo independiente, las funciones pueden devolver valores (en este caso seria el dato obtenido por azar).
La función ha de declararse como publica para que sea accesible desde cualquier parte de la aplicación (su ámbito de aplicación).
El modulo que la contiene (y que puede contener muchas mas sin interferirse entre ellas) ha de ser independiente para que este siempre disponible.
Si se crea en un modulo dependiente (dependiente = asociado a un formulario/informe) solo estará disponible si el contenedor (formulario/informe) esta abierto.

Suponiendo que a la función se la llame 'Aleatorio' y devuelva un valor entero (puede devolver el tipo de dato que el programador disponga, incluso un Variant) su definicion:

Public Function Aleatorio() As Long

... se ejecuta la rutina para obtener el dato NNN ...
Aleatorio = NNN
End Function

En donde se desee aplicar (ejemplo: una igualdad que en principio tiene un valor fijo)
AAAA = 22

Se aplicaria asi:
AAAA = Aleatorio()
En un formulario como origen de datos para un cuadro de texto calculado:
= Aleatorio()

Respuesta

No necesita definir la función como pública porque según su pregunta solo la va utilizar en un formulario basta con definirla a nivel del mismo.

Function Aleatorio(mnumero) As Long
  Randomize
  Aleatorio = Int((mnumero * Rnd) + 1)
End Function

Ejemplo de llamada:

variable=Aleatorio(Me.Campo)

En donde variable es una variable definida y de tipo Long, Me. Campo es el nombre que contiene el valor a pasar como parámetro

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas