Access

  MS Access 2010+  |  DAO. Data Access Objects  |   VBA 7.0

• Metoda OpenDatabase obiektu DAO.Workspace.

Metoda OpenDatabase otwiera podaną bazę danych w obiekcie typu Workspace i zwraca odwołanie do reprezentującego ją obiektu Database.

Składnia metody OpenDatabase

' definicja:
Function OpenDatabase(Name As String, [Options], [ReadOnly], [Connect]) As Database
' wywołanie:
Set Database = Workspace.OpenDatabase (Name, [Options], [ReadOnly], [Connect])

Składnia metody OpenDatabase zawiera następujące elementy:

  Element  Opis
Database zmienna obiektowa reprezentująca obiekt Database, który ma zostać otwarty.
Workspace Element nieobowiązkowy. Jest to zmienna obiektowa reprezentująca istniejący obiekt Workspace, który będzie zawierał bazę danych. Jeśli nie zostanie podana wartość elementu Workspace, metoda OpenDatabase użyje bieżącego obszaru roboczego.
Name Jest to wartość typu String będąca nazwą istniejącego pliku bazy danych Microsoft Jet lub nazwą źródła danych (DSN, Data Source Name) ze źródła danych ODBC. Więcej informacji o ustawianiu tej wartości można znaleźć w opisie właściwości Name.
Option Element nieobowiązkowy typu Variant ustawiający różne opcje bazy danych, zgodnie z opisem w punkcie „Ustawienia”.
ReadOnly Element nieobowiązkowy typu Variant (podtyp Boolean), który przyjmuje wartość True, jeśli baza danych ma zostać otwarta w trybie tylko do odczytu, lub False (domyślnie), jeśli baza danych ma zostać otwarta w trybie do odczytu i zapisu.
Connect Element nieobowiązkowy typu Variant podtyp String określający różne informacje o połączeniu, łącznie z hasłem.

Ustawienia w obszarze obszarze roboczym Microsoft Jet

Jako argument Option w obszarze roboczym Microsoft Jet można stosować następujące wartości:

  Ustawienie  Opis
True Otwiera bazę danych w trybie wyłącznym.
False Element nieobowiązkowy. Wartość domyślna. Otwiera bazę danych w trybie współużytkowania.

Ustawienia w obszarze obszarze roboczym ODBCDirect

W obszarze roboczym ODBCDirect argument Option określa, czy i kiedy zażądać od użytkownika realizacji połączenia. W tym celu można użyć jednej z poniższych stałych:

  Stała  Opis
dbDriverNoPrompt Menedżer sterowników ODBC wykorzystuje ciąg połączenia podany przez argumenty NameConnect. Jeśli niezbędna informacja nie zostanie podana, spowoduje to wystąpienie błędu wykonania.
dbDriverPrompt Menedżer sterowników ODBC wyświetla okno dialogowe „Źródła danych ODBC”, w którym wyświetlane są informacje odpowiadające danym przekazanym przez argumenty Name lub Connect. Ciąg połączenia jest tworzony na podstawie DSN, które użytkownik wybiera poprzez okna dialogowe, lub na podstawie domyślnego DSN, jeśli użytkownik nie podał DSN.
dbDriverComplete Wartość domyślna. Jeżeli argumenty Name lub Connect zawierają całą informację niezbędną do realizacji połączenia, Menedżer sterowników ODBC wykorzystuje ciąg z argumentu Connect. W przeciwnym przypadku zachowuje się podobnie jak w przypadku podania stałej dbDriverPrompt
dbDriverCompleteRequired Opcja ta działa podobnie jak dbDriverComplete poza tym, że sterownik ODBC wyłącza żądania podania informacji, które nie są potrzebne do realizacji połączenia.

Użycie

Otwierana baza danych jest automatycznie dodawana do kolekcji Databases. Ponadto, w obszarze roboczym  tworzony jest obiekt Connection, odpowiadający nowemu obiektowi Database, który jest dołączany do kolekcji Connections tego samego obiektu Workspace.

Przy stosowaniu argumentu Name należy pamiętać o poniższych uwagach:

  • Jeśli odnosi się on do bazy danych, która jest już otwarta w trybie wyłącznym przez innego użytkownika, pojawia się błąd.
  • Jeśli nie odnosi się on do istniejącej bazy danych lub prawidłowej nazwy źródła danych ODBC, pojawia się błąd.
  • Jeśli jest to ciąg o długości zerowej (""), a argument Connect ma wartość "ODBC;", w oknie dialogowym wyświetlana jest lista nazw wszystkich zarejestrowanych źródeł danych ODBC, umożliwiając wybór bazy danych.
  • Jeśli baza danych otwierana jest przez obszar roboczy  i w argumencie Connect podane jest DSN, argumentowi Name można przypisać dowolny ciąg znaków, który w dalszym kodzie może być używany przy odwoływaniu się do tej bazy danych.

Argument Connect jest wyrażany w postaci dwóch części: typ bazy danych, po którym następuje średnik (;) i argumenty nieobowiązkowe. W pierwszym rzędzie należy określić typ bazy danych, jak "ODBC;" lub "FoxPro 2.5;". Argumenty nieobowiązkowe, umieszczone w dowolnej kolejności, są rozdzielane średnikami. Jednym z takich argumentów może być hasło (jeśli zostało przypisane). Na przykład:

"FoxPro 2.5; pwd=MojeHasło"

Zastosowanie metody NewPassword w stosunku do obiektu Database innego niż baza danych  powoduje zmianę hasła umieszczanego w części ";pwd=..." tego argumentu. Aby podać ciąg źródłowy, należy określić argumenty OptionReadOnly. Składnię podano w opisie właściwości Connect.

Aby zamknąć bazę danych i w ten sposób usunąć obiekt Database z kolekcji Databases, należy zastosować w stosunku do tego obiektu metodę Close.

Uwaga.
Jeśli realizowany jest dostęp do źródła danych ODBC dołączonych do aparatu, lepszą wydajność aplikacji można osiągnąć przez otwarcie dołączonego do źródła danych ODBC obiektu Database zamiast tabeli połączonych indywidualnych obiektów TableDef do tabel źródła danych ODBC.

Słownik użytych terminów.


• metoda
Procedura podobna do instrukcji lub funkcji, operująca na konkretnych obiektach. Można na przykład zastosować metodę Print obiektu Debug w celu przeniesienia drukowanych danych wyjściowych do okienka bezpośredniego w „Oknie analizy programu”.
• zmienna obiektowa
Zmienna zawierająca odesłanie do obiektu.
• String - typ danych
Podstawowy typ danych służący do przechowywania informacji znakowych. Zmienna typu String ma stałą lub zmienną długość i zawiera po jednym znaku na bajt. Ciągi znaków o stałej długości mają zadeklarowaną konkretną długość i mogą zawierać od 1 do maksymalnie 65 536 (2^16) znaków. Ciągi o zmiennej długości mogą mieć długość do około 2 miliardów (2^31) znaków (około 65 000 (2^16) znaków.
• baza danych Microsoft Jet
Baza danych utworzona przez aparat bazy danych Microsoft Jet. Plik bazy danych Microsoft Jet ma rozszerzenie nazwy .mdb lub .accdb.
• źródła danych ODBC
Termin wykorzystywany do odwoływania się do bazy danych lub do serwera bazy danych jako do źródła danych. Do źródeł danych ODBC można się odwoływać przez nazwę źródła danych (Data Source Name, DSN). Źródła danych można tworzyć za pomocą „Panelu sterowania” Windows lub metody RegisterDatabase.
• Variant - typ danych
Specjalny typ danych, mogący zawierać zarówno dane liczbowe, dane znakowe, daty, jak i wartości specjalne EmptyNull. Funkcja VarType określa sposób traktowania danych typu Variant. Wszystkie zmienne są typu Variant, jeżeli nie zostały zadeklarowane jawnie jako zmienne jakiegoś innego typu.
• Boolean - typ danych
Wartość True/False lub tak/nie. Wartości typu Boolean są w bazie danych Microsoft Jet przechowywane zwykle jako pola bitowe (typu Bit), jednak niektóre bazy danych nie obsługują tego typu danych bezpośrednio.
• obszar roboczy Microsoft Jet
Obszar roboczy wykorzystujący aparat bazy danych Microsoft Jet w celu uzyskiwania dostępu do źródła danych. Źródłem danych może być plik bazy danych Microsoft Jet (.mdb), baza danych ODBC, jak np. baza danych Paradox, lub baza danych ISAM.
• wyłączny
Tryb dostępu chroniący dane w bazie danych współużytkowanej w sieci. Otwarcie bazy danych w trybie wyłącznym uniemożliwia innym użytkownikom otwarcie tej bazy danych.
• obszar roboczy ODBCDirect
Obszar roboczy wykorzystujący technologię ODBCDirect w celu uzyskiwania bezpośredniego dostępu do źródeł danych ODBC, z pominięciem aparatu bazy danych Microsoft Jet.
• Menedżer sterowników ODBC
Aplikacja zarządzająca połączeniami pomiędzy źródłami danych ODBC, a sterownikami umożliwiającymi dostęp do nich.
• ciąg połączenia
Ciąg wykorzystywany do zdefiniowania źródła danych dla zewnętrznej bazy danych. Ciąg połączenia jest zwykle przypisywany do właściwości Connect obiektu QueryDef, TableDef, Connection lub Database albo jest podawany jako argument metody OpenDatabase.
• sterownik ODBC
Biblioteka dołączana dynamicznie (dynamic link library, DLL) wykorzystywana przez inne aplikacje (klientów) do połączenia się z określonym źródłem danych ODBC.
• ciąg o długości zerowej
Ciąg nie zawierający żadnych znaków (""). Funkcja Len wywołana dla takiego ciągu zwraca wartość 0.
• źródło danych ODBC dołączone do aparatu Microsoft Jet
Źródło danych ODBC, do którego dostęp jest realizowany z wykorzystaniem obiektów dostępu do danych (DAO) i aparatu bazy danych Microsoft Jet.
• tabela połączona
Tabela z innej bazy danych połączona z bazą danych Microsoft Jet w trakcie operowania na nich, dane połączonych tabel pozostają w zewnętrznej bazie danych. Tabele te dawniej nazywane były tabelami dołączanymi.