Zugriff auf Tabellendefinitionen
815
Programmierung
Ergibt
lstFilmtitel.ItemData(varTmp)
den Wert 0, so wurde der Eintrag »*** Alle Filme ***« selek-
tiert. In diesem Fall werden mithilfe einer INSERT INTO-Abfrage, die über die Methode
Execute
ausgeführt wird, alle Filmnummern aus tblFilme in tblTmpFilme umkopiert.
Ansonsten werden für alle selektierten Einträge des Listenfeldes über
AddNew
neue Datensätze in
tblTmpFilme angelegt.
Zugriff auf Tabellendefinitionen
Mit der Hilfe von ADOX (siehe Abschnitt »Zugriff auf Access-Parameterabfragen mit ADOX«) können
die Tabellen einer Datenbank verwaltet werden.
Das folgende Unterprogramm ermittelt einige Eigenschaften für alle Tabellen der aktuellen Daten-
bank. Mithilfe einer
For Each
-Schleife werden alle Tabellenobjekte durchlaufen und die entspre-
chenden Eigenschaften im Direktfenster ausgegeben:
Abbildg. 37.12
Eigenschaften der Tabellen
Sub AlleTabellenMitADOX_ADO()
Dim conn As ADODB.Connection
Dim cat As New ADOX.Catalog
Dim tbl As ADOX.Table
Dim prp As ADOX.Property
Set conn = CurrentProject.Connection
Set cat.ActiveConnection = conn
For Each tbl In cat.Tables
Debug.Print tbl.Name; " (Typ: "; tbl.Type; ") ";
Debug.Print "vom "; tbl.DateCreated; "/"; tbl.DateModified
For Each prp In tbl.Properties
Debug.Print Spc(10); prp.Name; " = "; prp.Value
Next
Next
Set cat = Nothing
End Sub
Kapitel 37
Datenzugriff mit ADO
816
Die folgende Tabelle listet einige der Eigenschaften von
Table
-Objekten auf:
Für die Tabellentypen (Eigenschaft
Type
) sind die in der folgenden Tabelle aufgeführten Konstanten
in ADOX definiert.
Die folgende Funktion ermittelt die Existenz einer Tabelle in der
Tables
-Auflistung.
Tabelle 37.8
Ausgewählte Tabelleneigenschaften
Eigenschaft Beschreibung
Name
Gibt den Namen der Tabelle an
DateCreated
Gibt das Erstellungsdatum der Tabelle an
DateModified
Gibt das Datum der letzten Bearbeitung an
Type
Siehe Tabelle 37.10
Columns
Gibt eine Auflistung von
Column
-Objekten zurück, die die Felder einer
Tabelle beschreiben
Indexes
Gibt eine Auflistung von
Index
-Objekten zurück, die die Indizes einer
Tabelle beschreiben
Keys
Gibt eine Auflistung von
Key
-Objekten zurück, die die Beziehungen
zwischen Tabellen beschreiben
Properties
Gibt eine Auflistung von
Property
-Objekten zurück, die weitere
Eigenschaften beschreiben
Tabelle 37.9
Konstanten für Tabellentypen
Konstante Beschreibung
TABLE
Tabelle
VIEW
Auswahlabfrage ohne Parameter
LINK
Verknüpfte Tabelle
ACCESS TABLE
Access-Systemtabelle
SYSTEM TABLE
ACE-Systemtabelle
PASS-THROUGH
Verknüpfte ODBC-Tabelle
Zugriff auf Tabellendefinitionen
817
Programmierung
Die Auflistung Columns
Jede Tabelle besteht aus Feldern, die mithilfe von
Column
-Objekten in einer
Columns
-Auflistung
beschrieben werden. Die folgende Routine listet für alle Tabellen der aktuellen Datenbank die Felder
auf. Dabei wird die anschließend aufgelistete Funktion
FeldTyp()
verwendet, die den Typ des jewei-
ligen Feldes als String zurückgibt.
Function TableExists_ADO(ByVal strTableName As String) As Boolean
Dim conn As ADODB.Connection
Dim cat As New ADOX.Catalog
Dim tbl As ADOX.Table
Set conn = CurrentProject.Connection
Set cat.ActiveConnection = conn
For Each tbl In cat.Tables
If tbl.Name = strTableName Then
TableExists_ADO = True
Set cat = Nothing
Exit Function
End If
Next
TableExists_ADO = False
Set cat = Nothing
End Function
Sub TabellenFelderMitADOX_ADO()
Dim cat As New ADOX.Catalog
Dim conn As ADODB.Connection
Dim col As ADOX.Column
Dim tbl As ADOX.Table
Set conn = CurrentProject.Connection
Set cat.ActiveConnection = conn
' Für alle Tabellen
For Each tbl In cat.Tables
If tbl.Type=”TABLE” then
Debug.Print "Tabellenfelder für : "; tbl.Name
For Each col In tbl.Columns
Debug.Print " --- "; col.Name; " ("; FeldTyp(col); ")"
Next
End If
Next
Set cat = Nothing
End Sub
Kapitel 37
Datenzugriff mit ADO
818
Die folgende Tabelle enthält einige der in einem
Column
-Objekt verwalteten Eigenschaften.
Feldtypen werden durch Integer-Werte dargestellt. Damit nicht mit Zahlen für die Typen gearbeitet
werden muss, sind in ADOX Konstanten für die verschiedenen Feldtypen definiert. Die folgende
Tabelle gibt Ihnen einen Überblick über die wichtigsten vordefinierten Typ-Konstanten.
Tabelle 37.10
Feldeigenschaften
Eigenschaft Beschreibung
Name
Gibt den Namen des Feldes zurück
Type
Gibt den Datentyp (Tabelle 37.13) zurück
DefinedSize
Liefert die Größe des Feldes
Precision
Gibt die Genauigkeit bei numerischen Spalten an
Attributes
Beschreibt die Attribute eines Feldes. Sie können sein:
Null
– undefiniert,
adColFixed
– mit fester Länge oder
adColNullable
– kann Nullwerte enthalten.
Properties
Enthält eine
Property
-Auflistung mit spezifischen Eigenschaften
Tabelle 37.11
Konstanten für Feldtypen
Konstante Beschreibung
adBoolean
Boolescher Wert (True/False, 1 Bit)
adUnsignedTinyInt
8-Bit Byte
adSmallInt
16-Bit Integer
adInteger
32-Bit Integer
adSingle
Fließkommazahl mit einfacher Genauigkeit
adDouble
Fließkommazahl mit doppelter Genauigkeit
adDecimal
Dezimalzahl
adCurrency
Währungsdaten
adDate
Datums-/Zeitwert
adWChar
Text variabler Länge
adBinary
Binärdaten
adLongWChar
Memo-Feld
adLongVarBinary
Binärdaten variabler Länge, z.B. OLE-Objekte
adGUID
GUID-Wert zur Replikation
adEmpty
Kein Wert

Get Microsoft Office Access 2007 - Das Handbuch now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.