Zusammenfassung
Sie lernen, warum und wie man temporäre Tabellen anlegt und wieder löscht und welche verschiedenen Möglichkeiten es dazu gibt.
Techniken
VBA, SQL, DDL, ADO, DAO
Voraussetzungen
Access 2000 oder höher
Beispieldateien
TemporaereTabellen.mdb (Access 2000)
André Minhorst, Duisburg
Temporäre Tabellen benötigt man beispielsweise, wenn man ein Kombinations- oder Listenfeld mit Informationen bestücken möchte, die nicht in einer Tabelle vorliegen und auch nicht dauerhaft in einer Tabelle gespeichert werden sollen. Im vorliegenden Beitrag erfahren Sie, wie Sie temporäre Tabellen anlegen und wieder löschen und welche unterschiedlichen Möglichkeiten es dazu gibt.
Für den Einsatz von temporären Tabellen gibt es mehrere Gründe, die alle eines gemeinsam haben: Sie enthalten Daten, die nur für kurze Zeit benötigt werden und die ansonsten das Datenbankfenster unnötig füllen würden. Einige Beispiele:
Die temporäre Tabelle als Manifestierung eines Abfrageergebnisses macht nur dann Sinn, wenn häufig auf die Werte zugegriffen wird und sich die Daten selten ändern – ansonsten verwendet man einfach das Abfrageergebnis statt der temporären Tabelle.
Die Anzeige von Daten in einem Formular ist von dem Vorhandensein eines Recordsets abhängig – dies kann ebenso wie eine Tabelle temporär erzeugt werden.
Um Daten in Kombinations- und Listenfeldern anzuzeigen, die nicht in Tabellenform vorliegen, kann man auch eine Wertliste verwenden – man setzt dazu einfach die Eigenschaft Herkunftstyp auf Wertliste und stellt eine Datensatzherkunft aus den durch Semikola getrennten Werten zusammen. Die Anzahl der in der Wertliste enthaltenen Zeichen ist allerdings begrenzt.
Tabellen legt man mit der SQL-Anweisung CREATE TABLE an. Diese ist prinzipiell so aufgebaut:
CREATE TABLE Tabellenname (Feldliste, Mehrfeldeinschränkungen)
Die Feldliste enthält die einzelnen Felder und deren Eigenschaften und unter Mehrfeldeinschränkungen versteht man beispielsweise Indizes, die mehrere Felder umfassen.
Ein Eintrag der Feldliste hat folgende Syntax:
Feldname Datentyp [(Größe)] [NOT NULL] [Einzelfeldeinschränkungen]
Feldname und Datentyp sind die Pflichtfelder zur Festlegung eines Feldes. Die möglichen Datentypen finden Sie in Tab. 1 – dort sind zusätzlich die Bezeichnungen der Datentypen in der Entwurfsansicht von Tabellen enthalten.
Die Größe geben Sie beispielsweise für den Datentyp TEXT an, um die Anzahl der maximal enthaltenen Zeichen zu deklarieren.
Ein Beispiel für eine einfache CREATE TABLE-Abfrage ist folgendes:
CREATE TABLE tblPerson(PersonID INTEGER, Vorname TEXT(50), Nachname TEXT(50))
Die Abfrage erzeugt die Tabelle aus Bild 1.
Bild 1: Eine einfache Tabelle
Der Ausdruck NOT NULL legt fest, ob das Feld Nullwerte enthalten darf. Unter Einzelfeldeinschränkung lassen sich Eigenschaften wie Primärindex, Eindeutigkeit und Zulassen von Nullwerten einstellen; außerdem können Sie hier Verknüpfungen mit anderen Tabellen festlegen.