Метод Application.CurrentDb (Access)
Метод CurrentDb возвращает объектную переменную типа Database , которая представляет базу данных, открытую в окне Microsoft Access.
Синтаксис
expression. CurrentDb
выражение: переменная, представляющая объект Application.
Возвращаемое значение
База данных
Комментарии
Примечание.
В Microsoft Access метод CurrentDb устанавливает скрытую ссылку на библиотеку объектов microsoft Office 12.0 Access Connectivity Engine в базе данных Microsoft Access.
Чтобы управлять структурой базы данных и ее данными из Visual Basic, необходимо использовать объекты доступа к данным (DAO). Метод CurrentDb позволяет получить доступ к текущей базе данных из кода Visual Basic без необходимости знать имя базы данных. После получения переменной, указывающей на текущую базу данных, вы также можете обращаться к другим объектам и коллекциям в иерархии DAO и управлять ими.
Используйте метод CurrentDb для создания нескольких объектных переменных, ссылающихся на текущую базу данных. В следующем примере переменные dbsA
и dbsB
оба ссылаются на текущую базу данных:
Dim dbsA As Database, dbsB As Database
Set dbsA = CurrentDb
Set dbsB = CurrentDb
Примечание.
В предыдущих версиях Microsoft Access вы могли использовать синтаксис DBEngine.Workspaces(0).Databases(0)
или DBEngine(0)(0)
для возврата указателя на текущую базу данных. В Microsoft Access 2000 и более поздних версиях вместо этого следует использовать метод CurrentDb . Метод CurrentDb создает другой экземпляр текущей базы данных, а DBEngine(0)(0)
синтаксис ссылается на открытую копию текущей базы данных. Метод CurrentDb позволяет создать несколько переменных типа Database , ссылающихся на текущую базу данных. Microsoft Access по-прежнему DBEngine(0)(0)
поддерживает синтаксис, но рекомендуется внести это изменение в код, чтобы избежать возможных конфликтов в многопользовательской базе данных.
Если необходимо работать с другой базой данных в то же время, когда текущая база данных открыта в окне Microsoft Access, используйте метод OpenDatabase объекта Workspace . Метод OpenDatabase фактически не открывает вторую базу данных в окне Microsoft Access. он просто возвращает переменную Database , представляющую вторую базу данных. В следующем примере возвращается указатель на текущую базу данных и на базу данных Contacts.mdb:
Dim dbsCurrent As Database, dbsContacts As Database
Set dbsCurrent = CurrentDb
Set dbsContacts = DBEngine.Workspaces(0).OpenDatabase("Contacts.mdb")
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.