Compartir a través de


Método Application.CurrentDb (Access)

El método CurrentDb devuelve una variable de objeto de tipo Database que representa la base de datos abierta actualmente en la ventana de Microsoft Access.

Sintaxis

expresión. CurrentDb

expresión Variable que representa un objeto Application.

Valor devuelto

Base de datos

Comentarios

Nota:

En Microsoft Access, el método CurrentDb establece una referencia oculta a la biblioteca de objetos del motor de conectividad de Acceso de Microsoft Office 12.0 en una base de datos de Microsoft Access.

Para manipular la estructura de la base de datos y sus datos de Visual Basic, debe usar objetos de acceso a datos (DAO). El método CurrentDb ofrece un modo de obtener acceso a la base de datos actual desde el código de Visual Basic sin necesidad de conocer el nombre de la base de datos. Después de tener una variable que apunte a la base de datos actual, también puede acceder y manipular otros objetos y colecciones de la jerarquía dao.

Use el método CurrentDb para crear varias variables de objeto que hagan referencia a la base de datos actual. En el ejemplo siguiente, las variables dbsA y dbsB ambos hacen referencia a la base de datos actual:

Dim dbsA As Database, dbsB As Database 
Set dbsA = CurrentDb 
Set dbsB = CurrentDb

Nota:

En versiones anteriores de Microsoft Access, es posible que haya usado la sintaxis DBEngine.Workspaces(0).Databases(0)o DBEngine(0)(0)que haya devuelto un puntero a la base de datos actual. En Microsoft Access 2000 y versiones posteriores, debe usar el método CurrentDb en su lugar. El método CurrentDb crea otra instancia de la base de datos actual, mientras que la DBEngine(0)(0)sintaxis hace referencia a la copia abierta de la base de datos actual. El método CurrentDb permite crear más de una variable del tipo Base de datos que hace referencia a la base de datos actual. Microsoft Access sigue siendo compatible con la DBEngine(0)(0)sintaxis, pero debe considerar la posibilidad de realizar esta modificación en el código para evitar posibles conflictos en una base de datos multiusuario.

Si necesita trabajar con otra base de datos al mismo tiempo que la base de datos actual está abierta en la ventana de Microsoft Access, use el método OpenDatabase de un objeto Workspace . El método OpenDatabase no abre realmente la segunda base de datos en la ventana de Microsoft Access; se limita a devolver unan variable Base de datos que representa la segunda base de datos. En el siguiente ejemplo se devuelve un puntero a la base de datos actual y a una base de datos denominada Contacts.mdb:

Dim dbsCurrent As Database, dbsContacts As Database 
Set dbsCurrent = CurrentDb 
Set dbsContacts = DBEngine.Workspaces(0).OpenDatabase("Contacts.mdb")

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.