Warum noch ein Access-Buch?
Für wen ist das Buch?
Jetzt bestellen
+ direkter Download des eBooks!
Nur EUR 59,95!
Fehler gefunden?
Bitte melden!
Wünsche an das Buch?
Her damit!
Was denken die Leser über dieses Buch?
Lesen Sie aktuelle Rezensionen!
Kapitel des noch nicht veröffentlichten Buchs zum Downloaden, Probelesen und Kommentieren
Beispieldatenbanken
Zusätzliches Material

Das Buch im HTML-Format

Für unbestimmte Zeit bieten Addison-Wesley und André Minhorst den kompletten Inhalt des Buchs als Download an. Schauen Sie rein und informieren Sie sich über den Inhalt! Und wenn Ihnen das Buch nützlich erscheint und Sie glauben, dass Sie etwas gelernt haben oder durch das Gelesene sogar etwas Zeit und somit Geld bei Ihrer Arbeit einsparen konnten, können Sie sich ja beim Autor und beim Verlag revanchieren - beispielsweise durch den Kauf dieses Buchs.

Am schönsten wäre es natürlich, wenn Sie das Buch direkt hier bestellen - Sie erhalten das Buch dann direkt vom Verlag, und der Autor und Verlag haben dann noch mehr davon, als wenn Sie es anderswo kaufen.

Danke für Ihr Interesse!

2.1.1 Tabellen anlegen

2.1.2 Felder hinzufügen

Tabellen bestehen nicht wie bei Excel aus Zeilen und Spalten, sondern aus Feldern und Datensätzen. Dabei unterscheiden sich nicht nur die Bezeichnungen, sondern auch die Funktionen: In Access enthält ein Datensatz ein Objekt eines bestimmten Typs und die Felder enthalten Werte für dessen Eigenschaften.

Für jedes Feld müssen Sie einen Feldnamen mit maximal 64 Zeichen sowie einen Felddatentyp festlegen. Informationen über die richtige Wahl von Feldnamen finden Sie in Abschnitt 2.2.2, »Feldnamen«, die Felddatentypen stellt Tabelle 2.1 vor.

Sie sollten auch für jedes Feld eine Beschreibung eingeben. Diese wird später, wenn Sie die Daten der Tabelle in einem Formular anzeigen, als SteuerelementTip-Text oder in der Statusleiste eingeblendet.

Außerdem können Sie damit anderen Entwicklern die Arbeit erleichtern, wenn diese Ihre Anwendung verstehen oder anpassen wollen. Bei der Auswahl des Felddatentyps sollten Sie folgende Faktoren berücksichtigen:

  • Schätzen Sie ab, welche Länge Texte haben. Haben Sie kurze (bis 255 Zeichen) oder lange Texte? Verwenden Sie je nach Antwort entweder ein Feld mit dem Datentyp Text oder Memo.
  • Welchen Wertebereich nehmen Zahlenfelder ein? Rechnen Sie mit den größten zu erwartenden Bereichen und wählen Sie einen der Zahl-Datentypen aus. Beachten Sie auch, dass manche nur ganze Zahlen und manche auch Dezimalzahlen akzeptieren.
  • Bei Datums- und Währungsangaben fällt die Auswahl nicht schwer: Die Datentypen Datum/Zeit und Währung helfen weiter. Verwenden Sie für Währungsangaben niemals den Datentyp Double, da dies in Berechnungen zu Rundungsfehlern führen kann.
  • Für Primärschlüssel verwenden Sie in der Regel einen Autowert mit dem Untertyp Long Integer. Nur, wenn Sie mit verteilten Anwendungen arbeiten und die Daten zusammenführen müssen, macht der Untertyp Replikations-ID Sinn.
  • Binäre Daten wie Dateien (insbesondere Bilder) können Sie mit Access 2007 nicht nur in OLE-Objekt-Feldern, sondern auch in Feldern des Datentyps Anlage speichern. Die Vor- und Nachteile erfahren Sie im Kapitel 11, »Bilder und binäre Dateien«.
  • Wenn Sie für ein Feld ein Nachschlagefeld bereitstellen wollen, mit dem der Benutzer Daten aus einer vorgegebenen Liste oder einer anderen Tabelle auswählen soll, können Sie den Nachschlage-Assistenten für die Einrichtung verwenden. Im Grunde ist Nachschlage-Assistent aber kein Datentyp, als Datentyp richtet Access den zuvor ausgewählten Datentyp ein. Sie erfahren aber weiter unten, wie Sie die notwendigen Eigenschaften für den Einsatz von Nachschlagefeldern (auch mehrwertiger) von Hand einrichten können.
  • Es gibt Sonderfälle, bei denen Sie einen anderen Datentyp als den offensichtlichen verwenden: Wenn Sie etwa Postleitzahlen eingeben und nur die reinen Zahlenwerte ohne das Länderkürzel (also 47137 statt D-47137) verwenden, sollten Sie ein Textfeld und nicht etwa den Felddatentyp Zahl (Long) auswählen. Der Grund: Manche Postleitzahlen enthalten eine führende 0, und die fällt in Zahlenfeldern natürlich unter den Tisch. Außerdem können Sie, wenn Sie etwa deutsche und österreichische Postleitzahlen gemischt verwenden, immer noch nach der Anfangszahl sortieren, während in einem Zahlenfeld nach dem Wert der Zahl sortiert würde.
  • Felddatentyp VBA-Datentyp Beschreibung
    Text String Kurze Texte, max. 255 Zeichen, 2 Byte je Zeichen
    Memo String Lange Texte, max. 65.536 Zeichen bei Eingabe über die Benutzeroberfläche, 2 GB bei Eingabe per Code, 2 Byte je Zeichen
    Zahl ( Byte) Byte Zahlen von 0 bis 255, 1 Byte
    Zahl ( Integer) Integer Zahlen von -32768 bis 32.767, 2 Byte
    Zahl ( Long Integer) Long Zahlen von -2.147.483.648 bis 2.147.483.647, 4 Byte
    Zahl ( Single) Single Gleitkommazahlen einfacher Genauigkeit von -3,402823E38 bis -1,401298E-45 für negative Zahlen, 1,401298E-45 bis 3,402823E38 für positive Zahlen und 0, 4 Byte
    Zahl ( Double) Double Gleitkommazahlen doppelter Genauigkeit von -1,79769313486232E308 bis -4,94065645841247E-324 für negative Zahlen, 4,94065645841247E-324 bis 1,79769313486232E308 für positive Werte und 0, 8 Byte

    Tabelle 2.1: Datentypen beim Anlegen von Tabellen in der Entwurfsansicht

    Felddatentyp VBA-Datentyp Beschreibung
    Zahl ( Replikations-ID) Benutzerdefinierter Typ 16 Byte
    Zahl ( Dezimal) Variant Zahlen als Potenzen zur Basis 10. Für Zahlen ohne Nachkommastellen +/-79.228.162.514.264.337.593.543.950.335, für Zahlen mit 28 Nachkommastellen +/-7,9228162514264337593543950335
    Datum/Uhrzeit Date Datums- oder Zeitangaben, 1.1.100 bis 31.12.9999, 8 Byte
    Währung Currency Skalierte Ganzzahl von -922.337.203.685.477,5808 bis 922.337.203.685.477,5807, 8 Byte
    Autowert (Long Integer) Long Zahlen von -2.147.483.648 bis 2.147.483.647, 4 Byte
    Autowert (Replikations-ID) Benutzerdefinierter Typ 16 Byte
    OLE-Objekt Byte-Array Enthält OLE-Objekte und binäre Daten, 1 Gigabyte
    Hyperlink String Enthält vier Zeichenketten mit maximal 2.048 Zeichen (Anzeigetext, Hyperlink, Unterhyperlink, Hilfetext). Die einzelnen Bestandteile trennt man durch das Raute-Zeichen (#).
    Anlage Byte-Array Speichert Dateien im binären Format. Genaue Informationen finden Sie in Kapitel 12, »Bilder und binäre Daten«. Maximale Größe: keine Informationen verfügbar, Experimente ergaben kein klares Ergebnis.
    Nachschlageassistent Verschiedene Stellt die Feldeigenschaften für Felder so ein, dass diese als Nachschlagefeld für Wertlisten, Tabellen/Abfragen oder komplexe Datentypen verwendet werden können.

    Tabelle 2.1: Datentypen beim Anlegen von Tabellen in der Entwurfsansicht (Fortsetzung)

    Wenn Sie die Feldnamen und Felddatentypen ermittelt haben, können Sie diese in den Tabellenentwurf eintragen (siehe Abbilddung 2.2). Fügen Sie die Felder einfach von oben nach unten ein.

    Wenn Sie die Reihenfolge der Felder ändern möchten, markieren Sie einfach das zu verschiebende Feld durch einen Klick auf das graue Kästchen links daneben und ziehen es dann bei gedrückter linker Maustaste an die gewünschte Stelle.

    Das Löschen und Einfügen von Zeilen erledigen Sie am einfachsten mit den passenden Einträgen des Kontextmenüs der Entwurfsansicht - experimentieren Sie halt einfach mal. Aber Achtung: Das Löschen eines Feldes löscht unwiderruflich auch die enthaltenen Daten.

    Mit den im unteren Bereich angezeigten Eigenschaften können Sie die einzelnen Felder weiter anpassen. Weitere Informationen zu den Eigenschaften finden Sie weiter unten.

    Abbildung 2.2: Eintragen von Feldnamen, Felddatentypen und Beschreibungen in der Tabellenentwurfsansicht

    Besonderheiten des Felddatentyps Memo

    Seit Access 2007 können Memofelder Rich-Text aufnehmen. Eigentlich konnten sie das schon vorher (mit den entsprechenden Format-Tags), aber nun unterstützt Access auch die Anzeige in Formularen und Berichten. Um ein Memo-Feld mit Rich-Text zu füllen, stellen Sie vorab die Eigenschaft Textformat auf den Wert Rich-Text ein (siehe Abbildung 2.3).

    Abbildung 2.3: Vorbereiten eines Memo-Felds auf die Eingabe von Text im Rich-Text-Format

    Direkt im Anschluss können Sie in der Datenblattansicht der Tabelle auf die Rich-Text-Formatierung zugreifen. Dazu müssen Sie nur mit der Maus den zu formatierenden Text markieren und die passende Formatierung aus dem nun erscheinenden Popup-Menü auswählen (siehe Abbildung 2.4). Dieses Menü erscheint übrigens nicht, wenn Sie Text mit der Tastatur markieren; in dem Fall müssen Sie auf die passenden Formatierungs-Schaltflächen im Ribbon unter Start|Schriftart und Start|Rich-Text zurückgreifen.

    Abbildung 2.4: Formatieren von Rich-Text-Format direkt in der Datenblattansicht einer Tabelle

    Access stellt die Rich-Text-Formatierungen übrigens nicht über das etwa in RTF-Dateien verwendete Format, sondern über HTML her. Den verwendeten HTML-Code können Sie nicht direkt über die Benutzeroberfläche, aber über eine kleine VBA-Anweisung ermitteln. Diese setzen Sie im Direktfenster des VBA-Editors ab, den Sie mit Strg + G öffnen:

    Debug.Print DLookup("BeispielRTF", "tblBeispielRTF")

    Für das erste Rich-Text-Feld aus der Tabelle in Abbildung 2.4 sieht der HTML-Code etwa so aus:

    Dies ist Text im Rich-Text-Format. Nach dem Markieren von Text erscheint eine kleine Leiste mit Formatierungsoptionen, wie Sie im nächsten Datensatz sehen können. Sie können aber auch die passenden Schaltflächen im Ribbon verwenden.

    Den Inhalt eines Memofeldes im Rich-Text-Format können Sie auch per VBA einfügen; zu beachten ist hier, dass nicht alle HTML-Elemente, sondern nur eine Auswahl verfügbar ist. Um welche es sich genau handelt, ist zum Zeitpunkt der Erstellung dieses Buches nicht dokumentiert; es sind aber mehr, als das zum Formatieren verfügbare Popup-Menü anbietet.

    Weitere Informationen über den Einsatz von Rich-Text-Feldern finden Sie in Kapitel 5, »Steuerelemente«, in Abschnitt 5.1.1, »Rich-Text in Textfeldern«.

    Besonderheiten des Felddatentyps Zahl mit Format Prozent

    Access 2003 und älter brachte eine etwas gewöhnungsbedürftige Behandlung von Prozentzahlen mit sich: Zwar gab es für den Felddatentyp Zahl mit der Formateinstellung Prozent entsprechend formatierte Werte aus, jedoch interpretierte es die Eingabe von 1 als 100% und 100 als 10.000%, was zu vielen Eigenentwicklungen zur Behandlung von Prozentzahlen führte. Access 2007 zeigt sich da wesentlich entwicklerfreundlicher, da es die Eingabe von 1 auch als 1% interpretiert und 100 als 100%.

    Besonderheiten des Felddatentyps Datum/Uhrzeit

    Eingaben in Felder des Felddatentyps Datum/Uhrzeit speichert Access intern als Double-Werte. Dabei entspricht der ganzzahlige Anteil dem Datum (dabei steht 1 für den 31.12.1899) und der Teil hinter dem Komma der Uhrzeit (in Bruchteilen eines Tages). Bei der Eingabe zweistelliger Jahreszahlen interpretiert Access alle Jahre von 00 bis 29 als Jahre des 21. Jahrhunderts (15 entspricht also dem Jahr 2015) und alle Jahre von 30 bis 99 als Jahre des 20. Jahrhunderts (71 entspricht somit dem Jahr 1971).

    Ab Access 2007 steht für Datumsfelder eine Eigenschaft zur Verfügung, mit der Sie einen Dialog zur Auswahl von Datumsangaben aktivieren können. Verantwortlich hierfür ist die Eigenschaft Datumsauswahl anzeigen, für die Sie den Wert Für Datumsangaben einstellen müssen (siehe Abbildung 2.5).

    Abbildung 2.5: Für Datumsfelder steht ab jetzt ein Dialog zur Datumsauswahl bereit

    Abbildung 2.6 zeigt diesen Dialog im Einsatz. Beim Klick auf ein Datumsfeld erscheint neben dem Feld eine Schaltfläche, mit der Sie den Dialog zur Datumsauswahl öffnen können. Leider ist diese Lösung etwas halbherzig; wer damit Termine auswählen möchte, die etwa weit zurückliegen, muss endlos klicken, bis er zum gewünschten Jahr gelangt.

    Abbildung 2.6: Einblenden des Dialogs zur Auswahl von Datumsangaben

    Besonderheiten des Felddatentyps Anlage

    Das Feld Anlage gibt es erst seit Access 2007. Es kann eines oder mehrere Dateien speichern und bringt einen Dialog zu ihrer Auswahl mit. Abbildung 2.7 zeigt eine solche Tabelle mit einem leeren Feld.

    Wie in der Abbildung zu sehen ist, zeigt Access für Anlage-Felder keinen Feldnamen in der Kopfzeile an; wenn Sie hier einen Feldnamen sehen möchten, müssen Sie diesen für die Eigenschaft Beschriftung des Feldes eintragen.

    Abbildung 2.7: Eine Tabelle mit einem leeren Feld des Datentyps Anlage

    Ein Doppelklick auf ein Anlage-Feld aktiviert den Dialog aus Abbildung 2.8, mit dem Sie die in diesem Feld enthaltenen Dateien verwalten können. Der mit der Schaltfläche Hinzufügen geöffnete Dialog ist ein gewöhnlicher Dateiauswahl-Dialog, mit dem Sie eine oder mehrere Dateien auswählen können. Sie können als Dateiname auch Links zu Daten im Internet angeben, Access lädt diese dann herunter.

    Die übrigen Schaltfächen des Anlagen-Dialogs sind selbsterklärend; mit ihnen können Sie die enthaltenen Dateien wieder entfernen, diese öffnen oder auf der Festplatte speichern.

    Abbildung 2.8: Mit diesem Dialog verwalten Sie die in einem Anlage-Feld enthaltenen Dateien

    Was sich hinter einem Anlage-Feld verbirgt, können Sie im Beziehungen-Fenster oder im Abfrageentwurf entdecken, wenn Sie dort eine Tabelle mit einem solchen Feld einfügen (siehe Abbildung 2.9).

    Es enthält intern drei weitere Felder, die mit den Binärdaten, dem Dateinamen (ohne Verzeichnis) und dem Datentyp beziehungsweise der Dateiendung gefüllt werden.

    Abbildung 2.9: Abfrage einer Tabelle mit einem Anlage-Feld

    Das Ergebnis einer solchen Abfrage sieht wie das einer Abfrage mit zwei per 1:n-Beziehungen verknüpften Tabellen aus. Die Daten der übergeordneten Tabelle (tblAnlagenBeispiel) werden dabei für jeden Datensatz der untergeordneten Tabelle (hier die interne Tabelle mit den in jedem Anlage-Feld gespeicherten Daten) wiederholt ausgegeben (siehe Abbildung 2.10).

    Abbildung 2.10: Abfrage über die Datensätze einer Tabelle mit einem Anlage-Feld mit jeweils mehreren gespeicherten Dateien

    Eine Besonderheit ergibt sich bei Bilddateien: Für diese können Sie in den Access-Optionen unter Aktuelle Datenbank|Anwendungsoptionen|Bildeigenschaften-Speicherformat einstellen, ob sie im Quellbildformat oder im Bitmap-Format gespeichert werden sollen (siehe Abbildung 2.11). In älteren Versionen war nur Letzteres möglich, was zu vielen Workarounds führte.

    Abbildung 2.11: Eigenschaft zum Einstellen des Formats von in Anlage-Feldern gespeicherten Bilddateien

    Anlage-Felder nehmen möglicherweise nicht alle Dateien auf, die Sie darin speichern möchten. Dabei entscheidet sich anhand der Dateiendung, ob eine Datei aufgenommen werden kann oder nicht. Welche Dateiendungen gesperrt sind, erfahren Sie in der Onlinehilfe des VBA-Editors unter »Attachment-Objekt«. Interessanterweise prüft Access nur die Dateiendungen; wenn Sie eine Datei mit einer nicht erlaubten Endung in eine mit einer erlaubten Endung umbenennen, akzeptiert Access diese ohne Probleme. Generell stellt sich die Frage, warum man nicht standardmäßig beliebige Dateien in Anlage-Feldern speichern kann.

    Weitere Informationen zum Thema Bilder und binäre Dateien in Access finden Sie in Kapitel 11, »Bilder und binäre Dateien«. Dort erfahren Sie etwa, wie Sie Dateien per VBA in Anlage-Feldern speichern und wie Sie darin enthaltene Bilder in Formularen und Berichten anzeigen.

    Tabellen nach Vorlage erstellen

    Wie bereits oben erwähnt, liefert Access 2007 die Möglichkeit, den Tabellenentwurf in der Datenblattansicht zu verändern. Darüber hinaus können Sie komplette vorgefertigte Tabellen anlegen lassen oder zumindest fertige Felder in Ihre Tabellen einfügen.

    Beim Anlegen von Tabellen wählen Sie dazu den Ribbon-Eintrag Erstellen|Tabellenvorlagen| aus, wobei für verschiedene Tabellen wie Kontakte, Aufgaben, Probleme, Ereignisse oder Posten steht (siehe Abbildung 2.12). Leider ist dieses Feature ziemlich nutzlos: Im Gegensatz zu den weiter unten beschriebenen Feldvorlagen lässt sich die Auswahl vorhandener Tabellen nämlich nicht über die Benutzeroberfläche erweitern oder anpassen.

    Abbildung 2.12: Auswahl einer vorgefertigten Tabelle

    Felder in der Datenblattansicht hinzufügen

    Haben Sie bereits eine Tabelle erstellt, können Sie dort in der Datenblattansicht fertige Felder einfügen. Dazu betätigen Sie einfach die Ribbon-Schaltfläche Datenblatt|Felder und Spalten|Neues Feld und wählen aus dem dann erscheinenden Dialog Feldvorlagen das gewünschte Feld aus (siehe Abbildung 2.13).

    Abbildung 2.13: Hinzufügen vordefinierter Felder in der Datenblattansicht

    Nun ist es aber leider so, dass die Felder nicht unbedingt auf professionelle Bedürfnisse zugeschnitten sind und in den meisten Fällen noch angepasst werden müssen. Die Zeitersparnis ist also praktisch Null. Das können Sie aber ändern, denn die Informationen über die vordefinierten Felder sind - zumindest zum Teil - in handelsüblichen XML-Dateien mit der Endung .accfl gespeichert. Sie finden diese Dateien im Verzeichnis C:\Programme\Microsoft Office\Templates\1031\Access.

    Wenn Sie die vorhandenen Einträge aus der Liste entfernen möchten, können Sie dies ganz einfach tabellenweise erledigen, indem Sie die passenden Dateien aus dem angegebenen Verzeichnis entfernen.

    Zum Erweitern der Liste gehen Sie folgendermaßen vor:

  • Erstellen Sie eine Tabelle mit oft benötigten Feldern und fügen stellen Sie deren Eigenschaften ein. Speichern Sie die Tabelle dann unter dem gewünschten Namen.
  • Klicken Sie im Navigationsbereich mit der rechten Maustaste auf die soeben erstellte Tabelle und wählen Sie dort den Eintrag Exportieren|XML-Datei aus.
  • Geben Sie im Exportieren-Dialog als Dateinamen C:\Programme\Microsoft Office\Templates\1031\Access\.xml an, wobei entsprechend zu ersetzen ist.
  • Aktivieren Sie im Dialog XML exportieren lediglich die Option Schema der Daten (XSL) und behalten Sie die weiteren Einstellungen bei.
  • Nach dem Beenden des Assistenten müssen Sie die so erzeugte Datei nur noch derart umbenennen, dass die Datei auf .accfl endet.
  • Fertig! Sie müssen nun nur noch Access neu starten, eine Tabelle in der Datenblattansicht öffnen, die Ribbon-Schaltfläche Datenblatt|Neues Feld betätigen und die neuen Feldvorlagen in die Tabelle einfügen.

    Nun ist es nicht so, dass man hier nicht noch etwas verbessern könnte: Schön wäre etwa, wenn man dieses Feature auch in der doch übersichtlicheren Entwurfsansicht einsetzen könnte. Außerdem ist es in der vorliegenden Version von Access noch ein wenig buggy: Textfelder etwa werden unabhängig von den Einstellungen immer mit 255 Zeichen angelegt.

    Nächster Abschnitt:

    2.1.3 Schlüssel festlegen

    © 2006-2008 André Minhorst Alle Rechte vorbehalten.