Método Application.Run (Access)

Use el método Run para llevar a cabo un procedimiento Especificado de Microsoft Access o de Función o Sub definido por el usuario. Variant.

Sintaxis

expresión. Run (Procedure, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9, Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17, Arg18, Arg19, Arg20, Arg21, Arg22, Arg23, Arg24, Arg25, Arg26 , Arg27, Arg28, Arg29, Arg30)

expresión Variable que representa un objeto Application.

Parámetros

Nombre Obligatorio/opcional Tipo de datos Descripción
Procedimiento Obligatorio String El nombre del procedimiento Function o Sub que quiere ejecutar. Si llama a un procedimiento en otra base de datos, use el nombre del proyecto y el nombre del procedimiento separados por un punto en el formulario: "nombreDeProyecto. procedurename"

Si ejecuta código de Visual Basic que contiene el método Run en una base de datos de biblioteca, Access busca primero el procedimiento en la base de datos de biblioteca y, a continuación, en la base de datos actual.
Arg1, Arg2, ...Arg30 Opcional Variant Argumentos que se deben pasar a function osub especificados en el argumento Procedure .

Valor devuelto

Variant

Comentarios

Este método es útil cuando se está controlando Microsoft Access desde otra aplicación mediante Automatización, anteriormente denominada automatización OLE. Por ejemplo, puede usar el método Run desde un componente ActiveX para llevar a cabo un procedimiento Sub definido en una base de datos de Access.

Puede establecer una referencia a la biblioteca de tipos de Access desde cualquier otro componente ActiveX y usar los objetos, métodos y propiedades definidos en esa biblioteca en el código. Sin embargo, no se puede establecer una referencia a una base de datos de Access individual desde ninguna aplicación que no sea Access.

Por ejemplo, supongamos que ha definido un procedimiento denominado NewForm en una base de datos con su propiedad ProjectName establecida en "WizCode". El procedimiento NewForm toma un argumento de cadena. Desde Visual Basic se puede llamar a NewForm de la siguiente manera:

Dim appAccess As New Access.Application 
appAccess.OpenCurrentDatabase ("C:\My Documents\WizCode.mdb") 
appAccess.Run "WizCode.NewForm", "Some String"

Si puede haber otro procedimiento con el mismo nombre en una base de datos diferente, clasifique el argumento procedure, como se muestra en el ejemplo precedente, con el nombre de la base de datos en la que reside el procedimiento deseado.

También puede usar el método Run para llamar a un procedimiento en una base de datos de Access a la que se hace referencia desde otra base de datos.

Ejemplo:

En el ejemplo siguiente se ejecuta un procedimiento Sub definido por el usuario en un módulo de una base de datos de Access desde otra aplicación que actúa como componente Active X.

Para probar este ejemplo, cree una nueva base de datos denominada WizCode.mdb y establezca su propiedad ProjectName en WizCode. Abra un nuevo módulo en esa base de datos y escriba el siguiente código. Guarde el módulo y cierre la base de datos.

Nota:

Para establecer ProjectName, seleccione HerramientasWizCode Properties (Propiedades > deWizCode) en el menú principal de VBE.

Public Sub Greeting(ByVal strName As String) 
 MsgBox ("Hello, " & strName & "!"), vbInformation, "Greetings" 
End Sub

Después de completar este paso, ejecute el código siguiente desde Microsoft Excel o Visual Basic. Asegúrese de que ha agregado una referencia a la biblioteca de tipos de Access eligiendo Referencias en el menú Herramientas y eligiendo Biblioteca de objetos de Microsoft Access 12.0 en el cuadro de diálogo Referencias .

Private Sub RunAccessSub() 
 
 Dim appAccess As Access.Application 
 
 ' Create instance of Access Application object. 
 Set appAccess = CreateObject("Access.Application") 
 
 ' Open WizCode database in Microsoft Access window. 
 appAccess.OpenCurrentDatabase "C:\My Documents\WizCode.mdb", False 
 
 ' Run Sub procedure. 
 appAccess.Run "Greeting", "Joe" 
 Set appAccess = Nothing 
 
End Sub

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.