Access

  MS Access 2010+  |  Metody obiektów MS Access  |   VBA 7.0

• Metoda CurrentDb obiektu Application.

Odwołanie do aktualnie otwartej bazy danych.

Metoda CurrentDb obiektu Application zwraca zmienną obiektową typu Database reprezentującą aktualnie otwartą bazę danych w oknie programu Microsoft Access.

Składnia funkcji CurrentDb.

CurrentDb

Uwaga.
Do operowania strukturą i danymi bazy danych za pomocą języka Visual Basic konieczne jest użycie obiektów dostępu do danych (DAO). Funkcja CurrentDb stanowi środek dostępu do bieżącej bazy danych za pomocą kodu języka Visual Basic bez potrzeby znajomości nazwy bazy danych. Po utworzeniu zmiennej wskazującej bieżącą bazę danych można także uzyskać dostęp i manipulować innymi obiektami i kolekcjami w hierarchii DAO.

Funkcji CurrentDb można używać do tworzenia wielu zmiennych obiektowych odwołujących się do bieżącej bazy danych. W poniższym przykładzie dwie zmienne dbs1 i dbs2 odwołują się do bieżącej bazy danych.

Dim dbs1 As DAO.Database
Dim dbs2 As DAO.Database

   Set dbs1 = CurrentDb
   Set dbs2 = CurrentDb
      ' instrukcje
   Set dbs2 = Nothing
   Set dbs1 = Nothing

Uwaga.
W poprzednich wersjach programu Microsoft Access możliwe było użycie składni DBEngine.Workspaces(0).Databases(0) lub DBEngine(0)(0) do zwrócania wskaźnika do bieżącej bazy danych. Począwszy od programu Microsoft Access 97 należy zamiast tych instrukcji używać funkcji CurrentDb. Funkcja CurrentDb tworzy następną instancję bieżącej bazy danych, natomiast składnia DBEngine(0)(0) odwołuje się do otwartej kopii bieżącej bazy danych. Funkcja CurrentDb pozwala utworzyć kilka zmiennych typu DAO.Database odwołujących się do bieżącej bazy danych. Program Microsoft Access nadal obsługuje składnię DBEngine(0)(0), lecz by uniknąć konfliktów w udostępnianej bazie danych, należy wprowadzić niezbędne poprawki w kodzie obsługującym bazę danych.

W razie potrzeby pracy z inną bazą danych w tym samym czasie, w którym bieżąca baza danych jest otwarta w oknie programu Microsoft Access, należy zastosować metodę OpenDatabase obiektu Workspace. Metoda OpenDatabase nie otwiera w rzeczywistości drugiej bazy danych w oknie programu Microsoft Access. Metoda ta zwraca jedynie zmienną Database reprezentującą drugą bazę danych.
W poniższym przykładzie do zmiennych obiektowych przypisany zostaje wskaźnik do bieżącej bazy danych dbsCurrent oraz do bazy danych o nazwie "InnaBazaDanych.accdb".


Dim dbsCurrent As DAO.Database
Dim dbsOtherDb As DAO.Database

   Set dbsCurrent = CurrentDb
   Set dbsOtherDb = DBEngine.Workspaces(0).OpenDatabase("C:\Tmp\InnaBazaDanych.accdb")
      ' instrukcje
      dbsOtherDb.Close
   Set dbsOtherDb = Nothing
   Set dbsCurrent = Nothing

Słownik użytych terminów.


• obiekt
Podstawowy typ danych reprezentujący każdy obiekt, który może być rozpoznany przez program Visual Basic. Typ danych Object jest ogólny: każdą zmienną obiektową można zadeklarować jako zmienną typu Object. Poprawniejsze jest deklarowanie zmiennych obiektowych zgodnie z odpowiadającym im typem danych. Na przykład, do reprezentowania formularza lepiej jest użyć zmiennej typu Form niż zmiennej typu Object. Istnieją dwie kategorie typu danych Object: typ obiektowy aplikacji Microsoft Access oraz typ obiektowy DAO.
• obiekty dostępu do danych (DAO)
Obiekty reprezentujące strukturę bazy danych i zawarte w niej dane. Obiektów DAO można używać w języku Visual Basic do tworzenia i dokonywania zmian w tabelach i kwerendach, zabezpieczania bazy danych lub w celu uzyskania dostępu do zewnętrznych źródeł danych. Można również użyć obiektów DAO do manipulowania danymi przechowywanymi w bazie danych z kodu.
• udostępniana (współużytkowana) baza danych
Baza danych dostępna jednocześnie dla wielu użytkowników, którzy mogą modyfikować ten sam zbiór danych w tym samym czasie.