Compartir a través de


Objeto CurrentProject (Access)

El objeto CurrentProject hace referencia al proyecto del proyecto Microsoft Access (.adp) actual o la base de datos de Access.

Comentarios

El objeto CurrentProject tiene varias colecciones que contienen objetos AccessObject específicos dentro de la base de datos actual. La tabla siguiente recoge el nombre de cada colección y los tipos de objetos que contiene.

Colecciones Tipo de objeto
AllForms Todos los formularios
AllReports Todos los informes
AllMacros Todas las macros
AllModules Todos los módulos

Nota:

[!NOTA] Las colecciones que aparecen en la tabla anterior contienen todos los objetos respectivos de la base de datos, independientemente de que estén abiertas o cerradas.

Por ejemplo, un objeto AccessObject que representa un formulario es un miembro de la colección AllForms, que es una colección de objetos AccessObject dentro de la base de datos actual. Dentro de la colección AllForms, los miembros individuales de la colección están indizados empezando por cero. Haga referencia a un objeto AccessObject individual de la colección AllForms haciendo referencia al formulario por nombre o haciendo referencia a su índice dentro de la colección. Si desea hacer referencia a un objeto específico de la colección AllForms , es mejor hacer referencia a él por su nombre porque el índice de colección de un elemento puede cambiar. Si el nombre del objeto incluye un espacio, el nombre debe estar encerrado entre corchetes ([]).

Sintaxis Ejemplo
AllForms!formname AllForms!OrderForm
AllForms![form name] AllForms![Formulario Pedidos]
AllForms("formname") AllForms("OrderForm")
AllForms(index) AllForms(0)

Ejemplo:

En el ejemplo siguiente se imprimen algunos valores de propiedad actuales del objeto CurrentProject y, a continuación, se establece una opción para mostrar objetos ocultos dentro de la aplicación.

Sub ApplicationInformation() 
 ' Print name and type of current object. 
 Debug.Print Application.CurrentProject.FullName 
 Debug.Print Application.CurrentProject.ProjectType 
 ' Set Hidden Objects option under Show on View Tab 
 'of the Options dialog box. 
 Application.SetOption "Show Hidden Objects", True 
End Sub

En el ejemplo siguiente se muestra cómo usar el objeto CurrentProject mediante Automation desde otra aplicación de Microsoft Office. En primer lugar, desde la otra aplicación, cree una referencia a Microsoft Access eligiendo Referencias en el menú Herramientas de la ventana Módulo. Active la casilla situada junto a Biblioteca de objetos de Microsoft Access y escriba el código siguiente en un módulo de Visual Basic dentro de esa aplicación y llame al procedimiento GetAccessData .

En el ejemplo se pasa un nombre de base de datos y un nombre de informe a un procedimiento que crea una nueva instancia de la clase Application , se abre la base de datos y se comprueba que el informe especificado existe mediante el objeto CurrentProject y la colección AllReports .

Sub GetAccessData() 
' Declare object variable in declarations section of a module 
 Dim appAccess As Access.Application 
 Dim strDB As String 
 Dim strReportName As String 
 
 strDB = "C:\Program Files\Microsoft " _ 
          & "Office\Office11\Samples\Northwind.mdb" 
 strReportName = InputBox("Enter name of report to be verified", _ 
                          "Report Verification") 
 VerifyAccessReport strDB, strReportName 
End Sub 
 
Sub VerifyAccessReport(strDB As String, _ 
                       strReportName As String) 
 ' Return reference to Microsoft Access 
 ' Application object. 
 Set appAccess = New Access.Application 
 ' Open database in Microsoft Access. 
 appAccess.OpenCurrentDatabase strDB 
 ' Verify report exists. 
 On Error Goto ErrorHandler 
 IsObject appAccess.CurrentProject.AllReports(strReportName) 
 MsgBox "Report " & strReportName & _ 
        " verified within " & appAccess.CurrentProject.Name & " database."
 appAccess.CloseCurrentDatabase 
 Set appAccess = Nothing 
Exit Sub 
ErrorHandler: 
 MsgBox "Report " & strReportName & _ 
        " does not exist within " & appAccess.CurrentProject.Name & " database."
 appAccess.CloseCurrentDatabase 
 Set appAccess = Nothing 
End Sub

Métodos

Propiedades

Vea también

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.