Dienstleistungen mit MS Access und VBA/.NET

Eine einfache MS Access-Datenbank aufzubauen, erfordert tatsächlich keine besondere externe Unterstützung. Mit einem guten allgemeinen Verständnis von Datenbanktheorie, den Umsetzungen von modernen Datenbank-Konzepten in MS Access sowie Grundkenntnisse von VBA besitzt man einen Erfolg versprechenden Werkzeugkasten, mit dem man kleine und punktuell einsetzbare Unternehmensanwendungen entwickeln kann. Geht es aber darum, die Möglichkeiten der verschiedenen Microsoft-Produkte optimal auszuschöpfen, das richtige Verhältnis zwischen kleiner Lösung (MS Access-Datenhaltung, reine VBA-Entwicklung) und großer Lösung (MS SQL Server-Datenhaltung und VBA/.NET/T-SQL-Entwicklung) auszuloten, kann man regelmäßig beobachten, dass schon zu Beginn eines Projekts extern eingeholter Rat oder eine vollständig externe Durchführung des Projekts mit softwaretechnischen besseren Ergebnissen zu rechnen ist.

Neu-Konzeption von MS Access-Anwendungen

access logo Für datenbankgestützte Unternehmenslösungen mit geringen Benutzerzahlen, einem voraussichtlich geringen Lebenszyklus, geringen Sicherheitsanforderungen und einfacher Anwendungslogik ist in einem Microsoft-Netzwerkumfeld immer auch eine Variante mit MS Access zu berücksichtigen, bevor man eine mehrschichtige Anwendung mit MS SQL Server und .NET konzipiert. Nichtsdestoweniger lohnt es sich natürlich, bei der allgemeinen Anforderungsanalyse und Software-/ Datenstruktur-Konzeption nicht von vornherein einer Architektur den Vorzug zu geben, sondern die benötigte Technik von den ermittelten Anforderungen abhängig zu machen. Die Comelio GmbH bietet individuelle Softwareprojekte zur Einrichtung, Planung und Programmierung von MS Access-/ VBA-Anwendungen an. Dabei bleibt auch immer eine Option offen, bei absehbar umfangreicher Software oder gestiegenen Erwartungen hinsichtlich Laufzeitverhalten, Sicherheit und Einsatzdauer eine kombinierte Lösung mit MS Access als Front-End für den MS SQL Server oder sogar die Nutzung von :NET und MS SQL Server zu entwickeln. Dies ermöglicht es, die richtige Entscheidung zu treffen und die unternehmerischen Ziele, die mit der Anwendung verbunden sind, optimal zu erreichen.

Schritt 1: Anforderungsanalyse

Trotz der einfachen Verwendung von MS Access und er einfachen Entwicklung von MS Access-Lösungen ist die Erfassung der Anforderungen, ihre Strukturierung und Bewertung von entscheidender Bedeutung für das Gelingen eines MS Access-Projekts. Teilweise können die Berater der Comelio GmbH auch oft auf bereits bestehende Konzepte oder teilweise umgesetzte Anwendungen zurückgreifen, um die tatsächlichen Anforderungen, die in betriebswirtschaftlicher, technischer und datenorientierter Weise an eine MS Acesss-Anwendung gestellt werden, zu ermitteln. Die Planung erfolgt mit Hilft der Anwendungsfallanalyse, aus der dann das Entity-Relationship-Diagramm für die Datenstruktur und schließlich die konkreten Tabellen abgeleitet werden. In diesem Zusammenhang findet auch eine Prüfung statt, ob verschiedene Anforderungen besonders gut mit dem Einsatz von XML umgesetzt werden können. Die Konzeption führen die Comelio-Berater teilweise vor Ort und in direktem Dialog mit den Verantwortlichen und/oder Nutzern der geplanten Datenbank(software) und teilweise auch extern durch. Sie versuchen, eine gute Mischung aus direktem Gespräch und Analyse zu erreichen, um zu einem Anforderungsdokument zu kommen, das auf beiden Seiten geprüft und verbessert werden kann und dass schließlich für die Auftragsdurchführung, die Projektkontrolle und die zukünftige Erweiterung aufgrund seines dokumentarischen Charakters verwendet werden kann.

Schritt 2: Datenstruktur

Auf Basis der allgemeinen Anforderungen hat man im Normalfall bereits eine relativ genaue Vorstellung, wie die Datenstrukturen beschaffen sind: Tabellen und ihre Spalten, mögliche XML-Integration, zusätzliche Entwicklung von Sichten/Abfragen sowie der richtige Grad der Normalisierung. Diese Ergebnisse dieses Schritts integrieren die Comelio-Berater ebenfalls in das schon im vorherigen Schritt erstellte Anforderungsdokument, das sich nun zu einem Konzeptpapier und einer Architekturskizze wandelt. In Zusammenarbeit mit den Verantwortlichen auf der Kundenseite können nun so sichere und nachvollziehbare Entscheidungen getroffen werden, wie die zukünftige Datenbank-Software beschaffen sein soll. Gerade im Bereich der Anwendungsentwicklung lassen sich häufig überhastet getroffene Entscheidungen beobachten, die zu schwer wartbaren und nur mit überproportional großen Kosten verbundenen Änderungen führen. Dies widerspricht aber gerade dem Charakter der einfach einzurichtenden und zu anzupassenden MS Access-Architektur. Die Vorteile der vereinfachten Entwicklung entfalten sich erst dann voll, wenn man auf der Basis von ausreichender Planung und Berücksichtigung der benötigten Software-Eigenschaften die Anwendung einrichtet.

Schritt 3: Anwendungsentwicklung

Nachdem nach der Planungsphase schließlich die Anforderungen, welche aus betrieblicher Sicht an die Software gestellt werden, herauskristallisiert worden sind, können sich die Comelio-Programmierer daran machen, sukzessive die Anforderungen umzusetzen. Dies betrifft sowohl die eigentliche Datenbankentwicklung (Tabellen, Abfragen, Berichte) wie auch die Gestaltung und Programmierung der Benutzerschnittstelle (Formulare und auch Berichte) sowie die Übernahme, Bereinigung und Anpassung von Altdaten. Dabei stehen für die Entwicklung entweder VBA (Visual Basic for Applications) zur Verfügung als auch .NET (Vistual Studio Tools for Office) sowie bei Verwendung von XML eine Reihe von XML-Werkzeugen.

Schritt 4: Sicherheits-/Sicherungskonzeption

Bei der Verwendung von MS Access muss genauso wie bei anderen datenorientierten Anwendungen auch ein besonderes Augenmerk darauf gelegt werden, wie die Daten gesichert und wiederhergestellt werden können, oder welche Strategien innerhalb des bestehenden oder zu erweiternden Unternehmensnetzwerkes durchgeführt werden können, um Zugriffskontrolle einzurichten.

Migration von MS Access-Lösungen

Wie schon zuvor erwähnt, eignet sich MS Access aufgrund seiner einfachen Konzeption und seines angenehmen Einsatzes auch dazu, komplett oder in Teilen von Mitarbeitern des Kundenunternehmens entwickelt zu werden. Dies kann sogar so weit gehen, dass Fachkräfte aus anderen Bereichen als der Informatik damit beginnen, sich tiefer und tiefer in die Arbeit mit MS Access einzuarbeiten. Dies zeigen auch immer wieder hohen Teilnehmerzahlen in entsprechenden Seminaren, wo sogar in den fortgeschrittenen Themenbereichen noch viele Quereinsteiger angetroffen werden können. Nichtsdestoweniger muss man einfach immer wieder feststellen, dass auch langjährig genutzte Programme irgendwann im Rahmen einer Migration erhebliche Schwächen hinsichtlich ihrer Gestaltung offenbaren. Dies betrifft im Regelfall nicht die Umsetzung von gewünschten Funktionalitäten, sondern vielmehr die technische Umsetzung. Schwierigkeiten entstehen dann bei Erweiterungen, d.h. wenn de Bedarf an umfassenden Änderungen hinsichtlich neuer Funktionalitäten auf Datenebene oder in den Benutzerschnittstellen oder sogar der gesamten Architektur entsteht. Gerade in einer solchen Erweiterungs- und Migrationsphase lohnt es sich, mit den gewonnenen Erfahrungen an einen externen Partner heranzutreten und diese neue Funktionalitäten in einer neuen oder konzeptionell verbesserten Datenbank/Anwendung umsetzen zu lassen.

Auch wenn man nicht unmittelbar bei Veröffentlichung einer neuen MS Office-Version auf diese neue Version umsteigt, so wird man doch bei Anschaffung von neuen Lizenzen oder bei sich änderndem IT-Umfeld irgendwann auf diese neue Version migriern. Während dies bei allen Office-Programmen, die nicht mit VBA erweitert wurden, im Regelfall völlig problemlos verläuft, so muss man leider doch immer wieder beklagen, dass eine Migration von Anwendungen, die umfassend mit VBA oder seit Neuestem auch mit .NET angereichert wurden, eine gewisse Hürde darstellt.

Hier sehen sich Unternehmen oftmals nicht nur vor einer Herausforderung, bestehende VBA-Anwendungen weiter mit gleichen Funktionen zu verwenden, sondern es entsteht auch oft der Wunsch, neue Entwicklungen im Office-Bereich in die bestehende Anwendung zu übernehmen. Hier ist also auf der einen Seite ein Erneuerungsbedarf aufgrund von geänderten Umgebungsparamtern genauso zu erkennen wie aufgrund von neuen Anforderungen aus der betrieblichen Umgebung. In einer solchen Situation sollte man die Entscheidung treffen, nicht nur eine einfache Migration durchzuführen, sondern auch eine Neukonzeption ins Auge zu fassen, mit der Vorteile, die sich durch aktuelle Software-Techniken ergeben können, ebenfalls zu verwenden.

Für eine Migration stehen drei klassische Varianten zur Verfügung, die in den nächsten Abschnitten kurz charakterisiert werden.

Option 1: Access-zu-Access-Variante

Die günstigste und einfachste Umstellung besteht darin, von einer älteren MS Acess-Version auf eine neue umzusteigen. Hier ist es notwendig, VBA-Quelltext anzupassen oder neue Funktionen zu verwenden, welche vielleicht ein besseres Laufzeitverhalten oder größere Sicherheit versprechen. Teilweise können genutzte VBA-Bibliotheken/Funktionen auch veraltet sein, sodass hier entsprechend die neuesten Features genutzt werden müssen. Seitdem nun auch die Office-Produkte mit der sehr viel umfangreicheren Programmiertechnik .NET erweitert werden können, sollte man immer auch ins Auge fassen, nicht nur eine einfache Anpassung auf eine neue Version durchzuführen, sondern vielmehr zu versuchen, gleiche oder bessere Umsetzungen mit .NET zu erreichen.

Eine Voraussetzung für ein solches Migrationsprojekt, das typischerweise eine sehr geringe Größe hat, ist eigentlich immer, dass die Anforderungen, welche der MS Access-Software zu Grunde liegen, sich im Wesentlichen nicht verändert haben. So sind keine Änderungen an den Datenstrukturen, Import-/Export-Prozessen, Berichten und Formularen sowie der Anwendungslogik notwendig.

Option 2: Access-zu-SQL-Server-Variante

Eine erfolgreiche Software zeichnet sich oftmals dadurch aus, dass sie einen stabilen Kern an umgesetzten Anforderungen enthält und durch den großen Erfolg für immer mehr Anwendungsbereiche genutzt werden soll. Hier muss man zwar auch versuchen, die umgesetzten Funktionalitäten nicht ausufern zu lassen und ggf. sogar für eine ganze Gruppe von Anforderungen eine eigene Software zu entwickeln, doch ein gesundes Anforderungs- und Funktionswachstum ist immer als Auszeichnung der Anwendung zu verstehen. Hier kann es oft geschehen, dass die gewählte Architektur als nicht mehr tauglich erweist. MS Access zeichnet sich nun einmal dadurch aus, dass die Datenbank und die Anwendung in einer einzigen Datei liegen. Man kann Mehrbenutzerzugriff und hohe Benutzerzahlen durch eine zentrale Datenbankdatei abbilden, aber letztendlich kann man bei einer starken Nutzung feststellen, dass diese Architektur keine zukunftstaugliche Lösung mehr bietet.

In solchen Fällen muss man nicht sofort die gesamte MS Access-Lösung durch eine ganz neue .NET-Software ersetzen, denn es besteht auch die Möglichkeit, MS Access als Front-End für eine MS SQL Server-Datenbank zu verwenden. So erhält man sich die Option, noch für längere Zeit die bestehenden Formulare zu verwenden und gleichzeitig die Vorteile einer Großdatenbank hinsichtlich Transaktionsverwaltung, Mehrbenutzerzugriff, großer Datenmenge, interner Programmierung sowie sehr fortgeschrittenen Entwicklungskonzepten zu nutzen.

Option 3: Software-Redesign in .NET

Eine erfolgreich eingesetzte Anwendung, die man vielleicht sogar auch im Intranet nutzen möchte und die mit anderen Anwendungen kombiniert oder optisch und funktional anderen im Unternehmen eingesetzten Anwendungen entsprechen soll, kann man schließlich auch vollständig durch eine neue Software ersetzen. Dies ist zwar streng genommen weniger ein Migrationsprojekt als eine Neuentwicklung, doch gerade im Bereich der Nutzung von MS Access findet man bei diesen Projekten einige besondere Merkmale. Sie vereinfachen die Neu-Konzeption einer analogen .NET-Software mit Einsatz des MS SQL Servers erheblich und haben dadurch einen überaus hohen Qualitätsgrad.

Es existiert schon eine meist über mehrere Jahre genutzte und entwickelte Software, deren Stärken und Schwächen bekannt sind. So gibt es einen vollständig entwickelten Prototyp so wie auch umfangreiches Erfahrungswissen bzgl. der Geschäftslogik, Standard- und Sonderfällen, geänderten oder besonders gut umgesetzten Anforderungen. Die Erfolgsfaktoren der Anwendung sind einer Reihe von Anwendern bekannt, was bedeutet, dass man nicht auf Grundlage eines reinen Anforderungskatalogs eine neue Anwendung plant, sondern vielmehr aus einer ansonsten in diesem Maße nicht vorhandenen Informationsquelle schöpfen kann.

Die Comelio-Programmierer haben hier besonders die Möglichkeit, auf Basis der vorgefundenen Software eine Desktop- oder Web-Konzept mit erweiterten und verbesserten Anforderungen zu entwerfen, typische MS Access-Berichte gegen die Reporting Services des MS SQL Servers auszutauschen, Prozeduren/Funktionen in T-SQL zu programmieren, erweiterte Untersuchungen mit den Analysis Services und Datenimport mit den Integration Services umzusetzen sowie natürlich optisch an das Kundenunternehmen angepasste Formulare mit modernem Antlitz in .NET zu entwickeln.