Access

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

• DAO. Obiekt TableDef

Obiekt TableDef reprezentuje zachowaną definicję tabeli bazowej lub tabeli połączonej (tylko w obszarach roboczych Microsoft Jet).

Zastosowanie obiektu TableDef

Operowanie na definicji tabeli odbywa się za pośrednictwem obiektu TableDef oraz jego metod i właściwości. Można na przykład:

Obiekt DAO TableDef
  • Przeglądać strukturę pól i indeksu dowolnej lokalnej, połączonej lub zewnętrznej tabeli bazy danych.
  • Wykorzystać właściwości Connect i SourceTableName do ustawienia lub pobrania informacji o tabelach połączonych, oraz zastosować metodę RefreshLink, aby uaktualnić łącza do tabel połączonych.
  • Wykorzystać właściwości ValidationRule i ValidationText do ustawienia lub pobrania warunków poprawności.
  • Zastosować metodę OpenRecordset, aby utworzyć obiekt Recordset typu tabela, typu zestaw dynamiczny, typu dynamicznego, typu utrwalonego lub typu progresywnego, bazując na definicji tabeli.

W przypadku tabel bazowych, właściwość RecordCount zawiera liczbę rekordów w określonej tabeli bazy danych. W przypadku tabel połączonych ustawienia właściwości RecordCount mają zawsze wartość -1.

Aby utworzyć nowy obiekt typu TableDef, należy zastosować metodę CreateTableDef.

Aby dodać pole do tabeli

  1. Upewnij się, że wszystkie obiekty Recordset bazujące na tej tabeli są zamknięte.
  2. Zastosuj metodę CreateField, aby utworzyć zmienną obiektową typu Field i ustawić jej właściwości.
  3. Zastosuj metodę Append, aby dodać nowy obiekt Field do kolekcji Fields obiektu TableDef.

Obiekt Field można usunąć z kolekcji TableDefs, jeśli nie przypisano do niego żadnych indeksów; tracone są jednak dane znajdujące się w polach.

Aby utworzyć w bazie danych tabelę gotową do wstawiania nowych rekordów

  1. Zastosuj metodę CreateTableDef, aby utworzyć obiekt TableDef.
  2. Ustaw jego właściwości.
  3. Dla każdego pola tabeli zastosuj metodę CreateField, aby utworzyć zmienną obiektową typu Field i ustawić jej właściwości.
  4. Zastosuj metodę Append, aby dodać nowe pola do kolekcji Fields obiektu TableDef
  5. Zastosuj metodę Append, aby dodać nowy obiekt TableDef do kolekcji TableDefs obiektu Database.

Tabela połączona jest wiązana z bazą danych za pośrednictwem właściwości SourceTableNameConnect obiektu TableDef.

Aby dołączyć (dowiązać) tabelę do bazy danych

  1. Zastosuj metodę CreateTableDef, aby utworzyć obiekt TableDef.
  2. Ustaw jego właściwości Connect i SourceTableName (oraz, opcjonalnie, jego właściwość Attributes).
  3. Zastosuj metodę Append, aby dodać ten obiekt do kolekcji TableDefs obiektu Database.

Aby odwołać się do obiektu typu TableDef znajdującego się w kolekcji poprzez jego numer porządkowy lub poprzez jego właściwość Name, należy użyć jednej z poniższych form składniowych:

TableDefs(0)
TableDefs("Name")
TableDefs![Name]

Słownik użytych terminów.


• tabela bazowa
Tabela w bazie danych Microsoft Jet. Tabela definiuje strukturę relacyjnej bazy danych i jest obiektem, w którym dane przechowywane są w rekordach i polach. Strukturę tabeli bazowej można zmieniać, korzystając z obiektów DAO lub instrukcji definicji danych języka SQL. Dane w tabeli bazowej można modyfikować za pomocą obiektów Recordset lub kwerend funkcjonalnych.
• 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.
• 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.
• indeks
Dynamiczne wzajemne powiązanie jednego lub większej liczby pól tabeli (kolumn) umożliwiające szybsze wydobywanie z tabeli określonych rekordów. W trakcie dodawania, zmieniania lub usuwania rekordów system zarządzania bazą danych automatycznie uaktualnia indeks zgodnie ze zmianami w bazie danych.
W przypadku posługiwania się obiektem Recordset typu tabela bieżący indeks określa kolejność, w jakiej rekordy przesyłane są do obiektu Recordset. Tabela może mieć kilka indeksów.
Obiekt Index typu DAO reprezentuje indeks dla obiektu TableDef.
• zmienna obiektowa
Zmienna zawierająca odesłanie do obiektu.
• 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.