Registrierte Abonnenten finden an dieser Stelle den Download der kompletten Ausgabe im PDF-Format und die Beispieldateien.
Formulare [basics]: Benannte oder integrierte Abfrage
Wenn wir ein Formular mit Daten füllen wollen, gibt es drei Möglichkeiten: Wir weisen direkt eine komplette Tabelle als Datensatzquelle hinzu, legen eine bereits zuvor angelegte Abfrage aus dem Navigationsbereich fest oder wir nutzen den in den Formularentwurf integrierten Abfrageentwurf, um die benötigte Abfrage zu definieren. In diesem Artikel schauen wir uns einmal an, wie sich die letztgenannten beiden Möglichkeiten unterscheiden und welche Variante wir bevorzugen sollten – und welche fortgeschritteneren Optionen es noch gibt.
Formular [basics]: 1:n-Beziehungen in Formularen
Die 1:n-Beziehung ist die wichtigste Beziehung in Datenmodellen. Deshalb ist es wichtig, die Darstellungsformen von Daten aus einer 1:n-Beziehung zu kennen, wenn man Datenbankanwendungen programmiert. Dabei gibt es verschiedene Möglichkeiten, die wir in diesem Übersichtsartikel einmal vorstellen.
Abfragen [basics]: Aktualisierbare Abfragen
Microsoft Access ist sehr großzügig, was die Aktualisierbarkeit von Abfragen angeht. Was bedeutet Aktualisierbarkeit von Abfragen überhaupt? Das heißt, dass wir den Inhalt einer Abfrage aktualisieren können. Das ist nicht zwingend bei allen Abfragen der Fall. Je nachdem, wie die enthaltenen Tabellen und Felder sowie die Beziehungen zwischen den Feldern definiert sind, kann man die in der Abfrage enthaltenen Daten entweder einfach über die Benutzeroberfläche aktualisieren oder auch nicht. In diesem Artikel schauen wir uns einmal an, was den Unterschied zwischen aktualisierbaren und nicht aktualisierbaren Abfragen ausmacht und warum man diese Grenzen nicht zu weit ausreizen sollte.
Tabellen [basics]: Memofelder oder Langer Text
Eigentlich sind die Textfelder unter Access der perfekte Ort, um Texte zu speichern. Allerdings haben sie eine entscheidende Einschränkung: Sie können nur maximal 255 Zeichen aufnehmen. Damit ist uns natürlich nicht geholfen, wenn wir längere Texte wie beispielsweise Produktbeschreibungen unterbringen wollen. Glücklicherweise gibt es noch einen weiteren Textdatentyp unter Access, der früher Memofeld hieß und der heutzutage im Tabellenentwurf unter dem Namen Langer Text auswählbar ist. Hier können wir weitaus mehr Zeichen speichern (die genaue Zahl ist nicht genau definiert, aber wir können laut offiziellen Angaben maximal 1.048.576 Zeichen darin speichern. Das gelingt jedoch nicht unter allen Umständen. Davon ab bieten Memofelder noch eine Reihe spannender Features, die wir uns ebenfalls in diesem Artikel und in noch einem weiteren Artikel ansehen.
Tabellen [basics]: Unterdatenblätter
Mit den Unterdatenblättern stellt Microsoft Access eine interessante Möglichkeit zur Darstellung hierarchisch verknüpfter Daten vor. Dabei können wir für einen Datensatz in den üblichen Datenblättern mit einem Plus-Zeichen die Datensätze untergeordneter Tabellen anzeigen. Untergeordnet bedeutet in diesem Fall Daten aus Tabellen, die über ein Fremdschlüsselfeld mit den Daten der eigentlichen Tabelle verknüpft sind. In diesem Artikel schauen wir uns an, wie wir diese Unterdatenblätter konfigurieren und nutzen können.
Formulare [basics]: 1:n-Beziehungen mit Kombifeld
Die einfachste Abbildung von 1:n-Beziehungen in Formularen ist die, bei der wir die Daten der Mastertabelle als Datensatzquelle verwenden und die Daten der verknüpften Detailtabelle nur über ein Kombinationsfeld verfügbar machen, das dem Fremdschlüsselfeld der Beziehung entspricht. Damit können wir zunächst einmal nicht die Daten aus der Detailtabelle bearbeiten, was aber auch in den meisten Fällen gar nicht notwendig ist. Und sollte dies doch einmal erforderlich sein, gibt es genügend Möglichkeiten, den verknüpften Datensatz dennoch zu bearbeiten. In diesem Artikel schauen wir uns jedoch erst einmal an, wie einfach es ist, eine 1:n-Beziehung in einem Formular abzubilden, wenn man die richtige Vorarbeit geleistet hat. Und wir zeigen auch, welche Schritte notwendig sind, wenn das nicht geschehen ist.
Tabellen [basics]: Referenzielle Integrität nachrüsten
Wenn man Beziehungen zwischen zwei Tabellen erstellt, kann man dies ohne referenzielle Integrität erledigen oder auch mit. Wir empfehlen dringend, immer referenzielle Integrität zu definieren, außer es ist technisch nicht möglich – beispielsweise, weil die Tabellen nicht in der gleichen Datenbank liegen. Manchmal ist das Kind jedoch bereits in den Brunnen gefallen. Der Entwickler hat für die Tabellen nur eine einfache Beziehung ohne referenzielle Integrität definiert und die Benutzer haben dies unwissend ausgenutzt: So sind Inkonsistenzen im Datenbestand entstanden, die früher oder später zu gravierenden Problemen führen können. Also zeigen wir in diesem Artikel zunächst, wie solche Probleme überhaupt auftreten können und wie wir diese wieder beheben. Und wir schauen uns auch an, welche Rolle Eigenschaften wie Eingabe erforderlich und die Löschweitergabe in dieser Situation spielen.