Microsoft Access(auch MS Access) istein Datenbanksystem, welches die Verwaltung von Datenund die Entwicklung von Datenbankanwendungen ermöglicht. MS Access istBestandteil des Microsoft Office Professional-Pakets von Microsoft undunterstützt nur SQL-92. MS Accessexistiert derzeit in der Version MS Access 2003. Access gibt es im Gegensatz zuanderen Office-Programmen von Microsoft nur für Windows. Access speichertalle Daten einer Datenbank in eine einzelne Datei des eigenen mdb-Dateiformatesab, dies schließt sowohl Elemente der Oberfläche als auch die Datenbanktabellenein. Es ist allerdings möglich, die Tabellendefinitionen und den Datenbestandsowie die Oberfläche in verschiedenen Dateien zu halten (sog. front- bzw.backend). Beim Einbinden bzw. Verknüpfen von externen Tabellen können auchAccess-fremde Formate über ODBC angesprochen werden. Im Gegensatz zufrüheren PC-basierenden Datenbanksystemen unterstützt MS Access das RelationaleDatenbankmodell. Um extern auf Access-Datenbanken zuzugreifen, eignet sich ambesten die ebenfalls von Microsoft entwickelte ODBC-API. Ferner kann aufAccess-Datenbanken auch von anderen Programmiersprachen, z.B. Delphi, VisualBasic, etc. durch den Einsatz von ADO zugegriffen werden. Dazu muss Accessnicht installiert sein. Ab Windows 2000 ist ADO als Teil von MDAC einBestandteil des Betriebssystems. Für frühere Windowsversionen kann eskostenfrei nachinstalliert werden. MS Access mitder Jet-Engine als Datenbank-Backend eignet sich für kleinere bis mittlereDatenbanken. Um den Mehrbenutzerzugriff zu ermöglichen, erfolgenSchreibzugriffe in einer Access-Datenbank immer am Dateiende. Gelöschte oderabgeänderte Elemente bleiben als "Löcher" in der Datei stehen, bisdie Access-Datei komprimiert (im engeren Sinne ist es ein Defragmentieren derDatenbankdatei selbst) wird. Durch schrittweise erweiterte unter anderemCache-basierte Zugriffstechniken war es bereits ab Version 1.0 möglich, auch inNetzwerken beachtliche Zugriffsgeschwindigkeiten zu erreichen. Der Betrieb vonAccess-Anwendungen im LAN ist jedoch an eine stabile Netzwerkumgebung gebunden.Bereits kleine Aussetzer lassen die Verbindung zum Backend abreissen. EinProgrammneustart ist dann notwendig. In der Praxis sind aber in standardmäßigeingerichteten Netzwerken z.B. auf Ethernet-Basis keine größeren Probleme zuerwarten. Für den Einsatz in heterogenen Netzwerken oder gar im WLAN ist Accessallerdings wegen dieser statusgebundenen Zugriffstechnologie über dasDateisystem nicht geeignet. Um dieseSchwächen zu überwinden, hat Microsoft ab der Version 2000 Access so erweitert,dass Anwendungen direkt auf einer Datenbank, die auf einem SQL-Server betriebenwird, aufgebaut werden können, anstatt sie über ODBC einzubinden. Für diesenZweck wurde ein neues Dateiformat mit der Endung adp entwickelt und derDateizugriff von DAO (Data Access Objects) auf das vielseitigere ADO (ActiveData Objects) umgestellt. ADO abstrahiert wesentlich stärker von denverwendeten Datenbankquellen als sein Vorgänger und kann daher eine wesentlichhöhere Stabilität gewährleisten. Mit Access wirdab Version 2000 eine kostenfreie Desktop-Version des Microsoft SQL-Serversausgeliefert, die sich über die Access-Oberfläche verwalten lässt. Daher ist esnicht nötig, eine zusätzliche Programmlizenz zu erwerben. Allerdings sind dieVerwaltungsmöglichkeiten stark eingeschränkt, weswegen für größere Projekte dieVerwendung des MSSQL-Servers notwendig ist. Durch dieBereitstellung von visuellen Programmierobjekten, die speziell im Hinblick aufden Datenbankzugriff optimiert sind, ist es mit Access möglich, innerhalb vonkurzer Zeit datenbankbasierte Anwendungen zu erstellen, ohne umfangreicheProgrammierarbeiten durchführen zu müssen. Dabei ist es möglich, auf Skripte,die in einer speziellen Makro-Sprache erstellt werden müssen, zurückzugreifen.Um jedoch umfangreichere Anwendungen erstellen zu können, ist in Access eine Entwicklungsumgebungfür Visual Basic for Applications integriert, die allerdings in einigen Punktenvon der VBA-Version der übrigen Office-Versionen abweicht. Zur Verbesserung derGeschwindigkeit der Programmausführung kann der auf Basis von VBA erstellteQuelltext kompiliert und zusätzlich als maschinennaher Pseudocode in derDatenbankdatei gespeichert werden. Zur Weitergabeentwickelter Datenbanken an Benutzer, die kein Access besitzen, gibt es diesog. runtime-Versionen - diese können mit der Office Developer Edition erstelltwerden. Sofern man eineDatenbank betrachten möchte ohne sich Access anzuschaffen, kann man denkostenlosen Access-Viewer benutzen. Wie bei allen anderen Microsoft Viewern undder Name Viewer schon sagt, können hier natürlich keine Daten abgeändertwerden. Mit derUmstellung auf eine SQL-basierte Anwendung hat Access einiges an Bedienkomforteingebüßt. So ist zum Beispiel die Datenbindung von Formularen im Normalfallnur für eine Tabelle möglich, während die dateibasierte Version von Accessselbst mit komplexeren Abfragen keine Probleme hatte. Insgesamt ist auffällig,dass Microsoft seit der Einführung von Access 2.0 bis auf die spätere Kopplungan Visual Basic 6.0 und die Unterstützung von SQL-Datenbanken kaumsubstantielle Änderungen bzw. Erweiterungen am Programm vorgenommen hat. Vielewillkürlich erscheinende Beschränkungen bleiben für die Entwickler bestehenoder haben sogar zugenommen. Als Beispiel wäre hier zu nennen, dass dasBearbeiten von Programmcode im Multiuserbetrieb in früheren Versionenproblemlos möglich war. Ebenso ist der neue Querydesigner nur umständlich zubedienen und sehr unübersichtlich. Gleichzeitig fehlt eine ordentlichetextbasierte Umgebung zum Erstellen von SQL-Code, die auch nur annähernd dieFunktionen eines einfachen Texteditors bietet. Zusammenfassend lässt sichsagen, dass Microsoft das Programm Access vor allem als Officebestandteil fürden Endbenutzer weiterentwickelt und Programmierer nur am Rande im Blick hat. Access2: "Access Developer's Toolkit"(ADT) für Access2
Access95: "Access Developer'sToolkit" (ADT) für Access95
Access97: "Office Developer's Edition" (ODE)
Access2000: "Microsoft Office Developer" (MOD)
AccessXP: "Office XP Developer"
Access2003: "Access 2003 Developer Extensions"
Zur Erstellung einer Datenbank werden vom Entwickler mehrere Objektarten erstellt:
Tabellen zur Speicherung der Daten
Abfragen zur Aufbereitung (Filterung, Sortierung usw.) der Daten
Formulare zur Dateneingabe per Bildschirmmaske
Berichte zur Ausgabe der Daten über einen Drucker
Makros zur einfachen Automation
Visual Basic Module zur Programmierung in Visual Basic for Applications (VBA) |