Como llamar un procedimiento Sub desde otro

Estoy tratando de llamar un procedimiento Private Sub, desde otro, ambos se encuentran en un formulario activados por un botón de comando.

El Primer SUB cmdAplicarPrestamo ejecutado desde el botón, tiene variables que se asignan, luego con estas variables se usa para algunos cálculos en el segundo Private SUB MetodoComputesto, este segundo debe utilizar variables del primer procedimiento Sub para hacer unos cálculos.

Al presionar el botón de Aplicar el préstamo, sale un error 5, argumento o llamada a procedimiento no valida y me ilumina una llamada de una de las variables que se asigna en el primer SUB.

Por ejemplo: mas o menos va asi

Esto esta en el primer sub cmdAplicarPrestamo

vPeriodo = me.plazo

Con un select case me.TipoCalculo

Case 1

Call MetodoCompuesto

...

En el segundo procedimentos Sub Private MetodoCompuesto

FechaPago = vPeriodo y da el error iluminando esta linea.

Cual es la forma correcta de llamar a un procedimiento en un mismo modulo, o formulario.

1 Respuesta

Respuesta
1

Ya que estoy, te contesto también a esta:

La llamada al procedimiento la haces bien, con el Call.

El error te lo da en la variable. Aquí tienes varias opciones (ojo, que no las probé y la primera no sé seguro si te valdrá)

1º/ Declarar la variable vPeriodo no dentro del procedimiento Sub cmdAplicarPrestamo (que no recuerdo si lo haces así), sino en el encabezado del módulo, después del Option Compare Database

2º/ Declarar la variable como pública en un módulo estándar, así: Public vPeriodo as ...

3º/ Como el segundo procedimiento es "personalizado" (es decir, no depende de ningún evento), le puedes pasar el valor de la variable como parámetro:

Private Sub MetodoCompuesto(miPeriodo as ...)

FechaPago = miPeriodo

Y para llamar a este procedimiento, en el primero usarías esto:

Call MetodoCompuesto(vPeriodo)

Yo optaría por el método 3.


Un saludo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas