Microsoft Access

MS Access hat den Ruf der Desktop-Datenbanken, nur Anwendungen für besondere Spezialisten zu sein, geändert. Datenbanken werden jetzt von einer großen Anzahl von Benutzern eingesetzt. Mehr und mehr Entwickler erstellen einfach zu bedienende Lösungen für Endanwender.

MS Access hat die traditionell schwierige Datenbank-Technologie für den normalen Geschäftsanwender zugänglich gemacht. Ob die Anwender Zugriff auf ein LAN oder das Internet haben oder auch nicht, mit MS Access können Sie die Vorteile einer Datenbank schnell nutzen. Mit seinen integrierten Technologien macht es MS Access jedem Anwender leicht, Antworten zu finden, rechtzeitig Informationen mit anderen Nutzern auszutauschen und schnellere Lösungen zu erstellen.

Gleichzeitig hat MS Access eine mächtige Datenbank-Engine und eine leistungsfähige Programmiersprache, die es zum geeigneten Werkzeug für viele komplexe Datenbankapplikationen macht.

Die Datenbank-Engine

MS Access wird mit der MS Jet Datenbank-Engine ausgeliefert. (Weitergehende Informationen über die Jet Datenbank-Engine finden Sie in dem Buch "MS Jet Database Engine Programmer's Guide", herausgegeben von Microsoft Press). Es handelt sich hier um die gleiche Engine, die auch mit Visual Basic und mit MS Office ausgeliefert wird. MS Jet ist eine 32-Bit Multithreading-Datenbank-Engine, die für Applikationen, die für die Entscheidungsfindung eingesetzt werden, optimiert ist. Außerdem ist es ein hervorragendes Werkzeug zum Arbeiten im Team.

MS Jet hat erweiterte Kapazitäten, die normalerweise bei Desktop-Datenbanken nicht zur Verfügung stehen. Diese sind:

  • Zugriff auf heterogene Datenquellen. MS Jet unterstützt mit Hilfe von Open Database Connectivity (ODBC)-Treibern den Zugriff auf über 170 verschiedene Datenformate einschließlich Borlands dBASE und Paradox, ORACLE von der Oracle Corporation, den MS SQL Server und IBM DB2. Entwickler können Applikationen erstellen, in denen die Anwender praktisch jedes Datenformat lesen und verändern können.
  • Referenzielle Integrität und die Gültigkeit von Daten. MS Jet unterstützt sowohl Primärschlüssel als auch Fremdschlüssel, datenbankspezifische Regeln und das Löschen oder Ändern von Datensätzen in untergeordneten Tabellen. Das bedeutet, daß der Entwickler diese Regeln nicht mehr selbst entwickeln muß. Die Datenbank-Engine enthält die Regeln bereits, so daß sie für jede Applikation verfügbar sind.
  • Erweiterte Sicherheitsmerkmale für Workgroups. MS Jet speichert die Benutzerrechte in einer separaten Datenbank, die normalerweise im Netzwerk abgelegt wird. Zugriffe auf Datenbank-Objekte (z. B. Tabellen oder Abfragen) werden in jeder Datenbank gespeichert. Durch die Trennung von Benutzerrechten und Informationen über Dateizugriffe erleichtert MS Jet die Administration der Datenbanken im Netzwerk.
  • Veränderbare Datenblattansicht. Im Gegensatz zu vielen Datenbank-Engines, die Datenbankabfragen in temporären Views oder Snapshots anzeigen, gibt MS Jet eine Datenblattansicht zurück, die automatisch alle Änderungen, die die Anwender vornehmen, in die Original-Datenbank zurückschreibt. Das heißt, daß alle Ergebnisse einer Abfrage, auch wenn sie auf verschiedene Tabellen zugegriffen hat, genauso behandelt werden können wie die Tabellen selber. Außerdem können Abfragen auch auf anderen Abfragen basieren.
  • Abfrage-Optimierung mit der Microsoft RushmoreTM-Technologie. MS Jet enthält die innovative RushmoreTM-Technologie von MS FoxPro; die Geschwindigkeit der Abfragen erhöht sich damit erheblich.

Anwender von MS Access können mit einer Kopie einer Datenbank arbeiten und dann die Änderungen sowohl in andere Kopien als auch in die Original-Datenbank einmischen. Das kann mit dem Windows® 95 Aktenkoffer, aber auch durch Code erledigt werden. MS Access ermöglicht die Replikation ganzer Tabellen, von Teilen der Tabellen oder einzelner Datensätze. Ändert der Entwickler die Tabellenstruktur, erscheinen diese Änderungen auch in allen Replikationen. Die Replikationen können auch benutzt werden, um auf Remote-Datenbanken zuzugreifen.

Mit dem MS Replikation Manager, der mit dem MS Office 97 Developer Edition, verfügbar ist, können Replikationen auch über das Internet verteilt werden.

Die Design-Tools

Der Mittelpunkt von MS Access ist das Datenbank-Fenster, mit dem die Dateien in der Datenbank organisiert und verwaltet werden. Das Datenbank-Fenster hat Reiter für Tabellen, Abfragen, Formulare, Berichte, Makros und Module. Es erlaubt dem Anwender, auf einfache Art auf alle Objekte der Datenbank zuzugreifen.

Vom Datenbank-Fenster kann der Entwickler das Fenster beobachten, das die Relationen anzeigt. Es erlaubt Anwendern, auf grafischem Wege Datenbanken aufzubauen, indem sie dem Relationen-Fenster Tabellen hinzufügen und sie dann durch einfaches Drag-and-Drop verbinden. Relationen dienen der referentiellen Integrität und dem automatischen Ändern oder Löschen von abhängigen Datensätzen, wenn der Datensatz, von dem sie abhängig sind, geändert bzw. gelöscht wird. Das Relationen-Fenster bietet auch den Zugriff auf den Tabellen-Designer, in dem der Entwickler die Tabellenstruktur ändern kann.

Der Formularassistent wird vom Anwender gebraucht, um eigene Formulare zu erstellen. Alle Objekte eines Formulars haben sämtliche Eigenschaften, Methoden und Ereignisse. Code zur Prüfung der Daten und für andere Operationen ist in Visual Basic für Applikationen geschrieben und kann wahlweise mit dem Formular oder in einer eigenen Datei gespeichert werden.

Die Verbindung von Objekten und Daten ist in MS Access einfach zu bewerkstelligen. Komplexe Formulare für das Daten-Management können durch einfaches Ziehen und Fallenlassen (Drag-and-Drop) von Feldern und Kontrollelementen in das Formular erstellt werden. Wenn ein Formular mit einer Tabelle, zu der weitere Detailtabellen existieren, verbunden ist, genügt es, einfach eine Detailtabelle auf das Formular zu ziehen, um ein weiteres Formular zu erstellen, in dem automatisch alle Datensätze der Detailtabelle angezeigt werden, die zu der Auswahl in der Elterntabelle passen.

MS Access besitzt eine große Auswahl an Assistenten, die sowohl Anwendern als auch Entwicklern die Applikationsentwicklung erleichtern. Diese sind:

  • Der Datenbank-Assistent, der mehr als 20 Vorlagen enthält, um vollwertige Applikationen mit wenigen Mausklicks zu erstellen. Die Vorlagen sind durch den Benutzer auf seine Bedürfnisse anzupassen.
  • Der Tabellenanalyse-Assistent, der Informationsduplikate in Ihrer Tabelle erkennen kann und eine relationale Datenbank erstellt.
  • Mehrere Formular- und Berichtsassistenten, die den Anwendern viele Möglichkeiten für Datenbankabfragen bereitstellen, so daß sie genau die Daten angezeigt bekommen, die sie benötigen. Dabei können auch abhängige Tabellen oder Unterabfragen existieren.
  • Der Pivot-Tabellenassistent führt den Anwender durch die Erstellung von MS Excel Pivot-Tabellen, ausgehend von einer MS Access Tabelle oder Abfrage.
  • Der Leistungsanalyse-Assistent, der existierende Datenbanken prüft und Änderungen zur Leistungsverbesserung vorschlägt.

Zusätzlich zu den hier aufgeführten Assistenten unterstützt MS Access eine Anzahl von einfach zu bedienenden Funktionen, die dem Anwender einen leichten Zugriff auf seine Daten ermöglichen. Dazu gehören:

  • Filter im Formular. Er erlaubt dem Anwender, einzugeben, welche Daten er sucht, und MS Access generiert die notwendige Abfrage, um die Daten in einem Formular anzuzeigen.
  • Filter bei der Eingabe. Der Anwender kann durch einen Klick mit der rechten Maustaste ein Popup-Menü öffnen, in dem er in ein Eingabefeld die Filterkriterien einträgt. Nach der Betätigung der
  • Enter-Taste ist der Filter aktiviert, und der Anwender sieht nur die Daten, die er sucht.
  • Filter bei der Selektion. Das erlaubt dem Anwender, Informationen in Datenblättern und Formularen schnell zu finden, da diese Informationen markiert und die darunterliegenden Daten gefiltert werden.

Die Programmiersprache und die Entwicklungsumgebung

Die Programmiersprache von MS Access ist Visual Basic für Applikationen. Es handelt sich hier um das gleiche Visual Basic für Applikationen, wie es auch in anderen MS Office Applikationen und auch in Visual Basic verwandt wird. Dieses ermöglicht dem MS Access Entwickler eine eindrucksvolle Steigerung seiner Leistung. Datenzugriffsroutinen, Gültigkeitsprüfungen in Formularen und vieles mehr kann für eine MS Access-Anwendung geschrieben und dann in einer MS Excel Arbeitsmappe oder einem MS Word-Dokument wiederverwendet werden. Zusätzlich hat Visual Basic für Applikationen große Ähnlichkeit mit der Visual Basic Scripting Edition (VBScript)-Sprache, die im MS Internet Explorer und dem MS OutlookTM 97 Desktop Information Manager benutzt wird.

Die programmatische Kontrolle der MS Jet Datenbank-Engine wird durch Data Access Objects (DAO) ermöglicht. DAO organisiert Tabellen, Abfragen, Felder usw. in einer Hierarchie von Objekten und Objektsammlungen. Zum Beispiel enthält eine Datenbank eine Sammlung von Tabellen. Jede Tabelle ist ein Objekt und enthält eine Sammlung von Feldern und Indizes. Objekte haben Eigenschaften, die ihren Charakter beschreiben, und Methoden, um Operationen auszuführen. DAO unterstützt alle Methoden, um auf Daten zuzugreifen. Diese können einfach sein wie das Öffnen von Tabellen und das Ausführen von Abfragen, das Suchen von Datensätzen oder das Ändern von Daten. Sie können aber auch komplexere Aktionen ausführen wie Änderungen von Tabellenstrukturen oder die Replikation von Daten.

Der Zugriff auf Daten aus einem Programm heraus wird auch von ODBCDirekt, das das gleiche Objektmodell wie DAO benutzt, unterstützt. ODBCDirekt bietet einen schnellen, optimierten Zugriff auf ODBC-Daten, ohne daß dafür die MS Jet Engine gestartet werden muß. Dadurch wird eine höhere Geschwindigkeit bei geringerem Speicherverbrauch erreicht.

Sowohl DAO als auch ODBCDirekt sind auch in den anderen MS Office-Applikationen verfügbar. Code, der für den Datenzugriff in MS Access geschrieben wurde, kann auch in einer anderen MS Office-Applikation benutzt werden.

Die Debugging-Umgebung von MS Access unterstützt den Entwickler mit Haltepunkten, einer Variablenüberwachung und einem Trace-Fenster. Das Code-Fenster bietet zwei besonders hilfreiche Punkte für die Unterstützung der Entwickler. QuickTips zeigt die Syntax für eine Funktion, Methode oder Prozedur an, ausgehend von der Position des Cursors. Jeder Parameter wird fett angezeigt, wenn der Anwender ihn eingeben muß. Eine zusätzliche Hilfe für den Entwickler ist ein Drop-Down-Menü, das erscheint, nachdem der Anwender den Namen eines Objektes eingegeben hat. Das Menü enthält eine Liste der Eigenschaften und Methoden, die für das Objekt verfügbar sind.

MS Access enthält einen Objekt-Browser, der es Entwicklern erlaubt, sich schnell eine Objekthierarchie anzeigen zu lassen, um spezielle Informationen zu finden. Der Browser unterscheidet zwischen Eigenschaften, die von MS Access zur Verfügung gestellt werden, benutzerdefinierten Eigenschaften, Methoden, Ereignisbehandlungsroutinen und benutzerdefinierten Prozeduren.

Klassenmodule sind Module in MS Access, die die Definition eines neuen Objekts enthalten können. Wenn eine neue Instanz einer Klasse erstellt wurde, ist auch das neue Objekt erstellt. Jede Prozedur, die in dem Modul definiert wurde, bekommt die Eigenschaften und Methoden des Objekts. Diese Funktionalität gibt Entwicklern eine bessere Kontrolle über den Code ihrer Applikation und damit die Möglichkeit, einfacher wiederverwendbare Komponenten zu erstellen.

MS Access bietet die vollständige Integration von MS Visual SourceSafeTM (VSS). Diese Integration wird ab der Entwicklerversion von MS Office 97 unterstützt und ist im Basispaket von MS Access nicht enthalten.

Erweiterungen mit ActiveX

MS Access unterstützt auch ActiveX-Kontrollelemente, einschließlich solcher, die einzelne Datensätze binden. Es werden keine Kontrollelemente unterstützt, die gleichzeitigen Zugriff auf mehr als einen Datensatz erlauben.

MS Access kann OLE-Automation Server kontrollieren und kann, weil MS Access auch selber ein Automation Server ist, von anderen Applikationen gesteuert werden. Das erlaubt zum Beispiel einer MS Excel-Anwendung, MS Access-Berichte zu verwenden, um Informationen anzuzeigen. Anders als Visual Basic und Visual FoxPro kann MS Access keine benutzerdefinierten Automation Server erzeugen.

Microsoft Access und das Internet

MS Access 97 ist eine der ersten PC-Datenbanken, die Hyperlinks als einen Datentyp erkennen und abspeichern kann. Wird ein Hyperlink angeklickt, öffnet er ein verbundenes MS Office-Dokument oder eine Internet-Adresse (Uniform Resource Locator = URL), die sich auf dem Internet, einem Intranet, dem Firmen-Netzwerk oder auf der lokalen Maschine befinden kann.

Der Internet-Assistent für MS Access für Windows 95 ist in MS Access integriert. Der Web-Assistent ist ein flexibles Werkzeug, das es Ihnen ermöglicht, jedes Objekt in Ihrer Datenbank im Internet sowohl statisch als auch dynamisch anzuzeigen. Er ermöglicht dem Anwender die Verwendung der Hypertext Markup Language (HTML) unter Einsatz von Vorlagen und das Speichern der Einstellungen für die Ausgabe von Objekten.

Der Internet-Assistent ermöglicht es Anwendern, Daten in einer Tabelle, einer Abfrage, einem Formular oder Bericht zu publizieren. Die Daten können in drei Formaten angezeigt werden:

  • In einer statischen HTML-Seite,
  • dynamisch mit HTX/IDC, wobei .IDC und .HTX-Dateien erstellt werden, die vom Internet Database Connector benutzt werden,
  • dynamisch mit ASP, wobei .ASP-Dateien erstellt werden, die vom Active Server benutzt werden.

Weitere Informationen finden Sie auf der Microsoft Website unter http://www.microsoft.com/accessdev/.