Luego de de una extensa selección de datos resolvimos este atascamiento que pueden tener ciertos usuarios. Te brindamos la solución y deseamos resultarte de mucha apoyo.
Solución:
Estas son algunas de las diferentes formas en que puede llamar a las cosas en Microsoft Access:
Para llamar a un sub formulario o función desde un módulo
El sub en el formulario al que está llamando DEBE ser público, como en:
Public Sub DoSomething()
MsgBox "Foo"
End Sub
Llame al submarino así:
Call Forms("form1").DoSomething
El formulario debe estar abierto antes de realizar la llamada.
Para llamar a un procedimiento de evento, debe llamar a un procedimiento público dentro del formulario y llamar al procedimiento de evento dentro de este procedimiento público.
Para llamar a una subrutina en un módulo desde un formulario
Public Sub DoSomethingElse()
MsgBox "Bar"
End Sub
…simplemente llámelo directamente desde su procedimiento de evento:
Call DoSomethingElse
Para llamar a una subrutina desde un formulario sin usar un procedimiento de evento
Si lo desea, puede vincular la función al evento del control de formulario sin tener que crear un procedimiento de evento bajo el control. Para hacer esto, primero necesita una función pública en el módulo en lugar de una sub, como esta:
Public Function DoSomethingElse()
MsgBox "Bar"
End Function
Luego, si tiene un botón en el formulario, en lugar de poner [Event Procedure] en el evento OnClick de la ventana de propiedades, pon esto:
=DoSomethingElse()
Cuando haga clic en el botón, llamará a la función pública en el módulo.
Para llamar a una función en lugar de un procedimiento
Si llamar a un sub se parece a esto:
Call MySub(MyParameter)
Entonces llamar a una función se ve así:
Result=MyFunction(MyFarameter)
donde Result es una variable de tipo devuelta por la función.
NOTA: No siempre necesita la palabra clave Llamar. La mayoría de las veces, puedes simplemente llamar al sub así:
MySub(MyParameter)
si pptCreator es una función/procedimiento en el mismo archivo, puede llamarlo como se muestra a continuación
call pptCreator()
Llamar a un subprocedimiento: técnica de 3 vías
Una vez que tenga un procedimiento, ya sea que lo haya creado usted mismo o sea parte del lenguaje Visual Basic, puede usarlo. Usar un procedimiento también se conoce como llamarlo.
Antes de llamar a un procedimiento, primero debe ubicar la sección de código en la que desea utilizarlo. Para llamar a un procedimiento simple, escriba su nombre. Aquí hay un ejemplo:
Sub CreateCustomer()
Dim strFullName As String
strFullName = "Paul Bertrand Yamaguchi"
msgbox strFullName
End Sub
Sub Exercise()
CreateCustomer
End Sub
Además de usar el nombre de un procedimiento para llamarlo, también puede precederlo con la palabra clave Call. Aquí hay un ejemplo:
Sub CreateCustomer()
Dim strFullName As String
strFullName = "Paul Bertrand Yamaguchi"
End Sub
Sub Exercise()
Call CreateCustomer
End Sub
Al llamar a un procedimiento, sin o sin la palabra clave Call, puede escribir opcionalmente un paréntesis de apertura y cierre en el lado derecho de su nombre. Aquí hay un ejemplo:
Sub CreateCustomer()
Dim strFullName As String
strFullName = "Paul Bertrand Yamaguchi"
End Sub
Sub Exercise()
CreateCustomer()
End Sub
Procedimientos y Niveles de Acceso
Al igual que un acceso variable, el acceso a un procedimiento puede ser controlado por un nivel de acceso. Un procedimiento puede hacerse público o privado. Para especificar el nivel de acceso de un procedimiento, precedalo con la palabra clave Private o Public. Aquí hay un ejemplo:
Private Sub CreateCustomer()
Dim strFullName As String
strFullName = "Paul Bertrand Yamaguchi"
End Sub
Las reglas que se aplicaron a las variables globales son las mismas:
Privado: si un procedimiento se hace privado, puede ser llamado por otros procedimientos del mismo módulo. Los procedimientos de módulos externos no pueden acceder a dicho procedimiento.
Además, cuando un procedimiento es privado, su nombre no aparece en el cuadro de diálogo Macros.
Público: Un procedimiento creado como público puede ser llamado por procedimientos del mismo módulo y por procedimientos de otros módulos.
Además, si un procedimiento se creó como público, al acceder al cuadro de diálogo Macros, aparece su nombre y puede ejecutarlo desde allí.