MEIN ENTWICKLUNGSANSATZ
Struktur
Viele Anwendungen entwickeln sich im Lauf der Zeit in ein Chaos: Hier eine Tabelle, dort eine Grafik, dann muss der Anwender wieder händisch in eine Excel-Tabelle eingreifen. Ich achte deswegen von Anfang an auf eine saubere Struktur, egal ob es sich um eine Access-Datenbank oder eine Excel-Anwendung handelt. Eine saubere Struktur erleichtert nicht nur für mich den Aufbau der Anwendung, sondern ermöglicht es, dem Kunden einen Workflow zu geben, der einfach, intuitiv und effizient ist. Schritt für Schritt wird der Kunde durch seinen Ablauf geleitet - ohne jede Kenntnis von Excel oder Access. Mit einer sauberen Struktur können auch Bedienfehler abgefangen werden - und der Anwender kann sich auf seine Arbeit konzentrieren, ohne die Angst zu haben, er könnte etwas kaputt machen.
"rapid Prototyping"
Meinen Entwicklungsstil könnte man als "rapid prototyping" bezeichnen: Schnell zu Ergebnissen kommen, und im Zweifel nicht passende Ansätze modifizieren. Dadurch bekommt der Kunde sehr schnell eine Ahnung, in welche Richtung die Entwicklung geht und wir können während der Erstellung der Anwendung noch gut Korrekturen vornehmen. Das hat sich bewährt: Häufig tauchen im Lauf der Entwicklung noch neue Anforderungen auf, Bedingungen wurden übersehen, oder der angedachte Workflow stellt sich als unhandlich und wenig intuitiv aus. Hier zahlt sich die Arbeitsweise aus: Der Kunde bekommt von mir die Anwendung, die er wirklich will und mit der er mit Freude arbeiten kann.
weiter denken
Viele Entwickler erstellen exakt das, was der Kunde vorgibt. Ich nicht! Ich hinterfrage, ob die projektierte Anwendung überhaupt die gewünschten Anforderungen erfüllen kann. Das betrifft nicht nur den prinzipiellen Aufbau, sondern auch Workflows, die vielleicht angepasst oder ganz neu konzipiert werden müssen. Eine große Hürde ist, dass Kunden sich selbst beschränken, indem sie denken "das geht doch gar nicht" oder "das wird zu aufwändig". Ich versuche, hinter die Vorstellungen vom Kunden zu kommen und animiere ihn, erst mal "wünsch dir was" zu spielen. Mit diesen Ergebnissen können wir dann gemeinsam festlegen, was realisierbar ist, was zwar schön wäre, aber das Budget sprengen würde, was auf eine spätere Erweiterungsstufe verschoben wird. Meistens sind die Wünsche aber direkt umsetzbar - und der Kunde freut sich, dass seine Anwendung am Ende mehr kann als er jemals zu träumen gewagt hat.
Programmierung mit VBA
Im Microsoft-Office-Paket ist grundsätzlich eine Programmiersprache enthalten: VBA. Diese ermöglicht es, neben komplexen Berechnungen und Automatisierungen auch direkt auf Inhalte der jeweiligen Anwendung zuzugreifen - egal ob Excel, Access, PowerPoint, Outlook. Und das auch über die Grenzen der jeweiligen Umgebung hinaus. Neben Berechnungen verwende ich VBA auch, um zum Beispiel automatisiert E-Mails an Kunden zu erstellen, aus Excel- oder Access-Daten eine PowerPoint-Präsentation zu erstellen. Dadurch verschwimmen die Grenzen zwischen Excel, Access, PowerPoint, Outlook.
Darstellung
Unter Darstellung fallen nicht nur die bekannten Grafiken wie Säulen- oder Tortendiagramme. Vielmehr einhaltet das das gesamte Aussehen der Anwendung - von der Benutzeroberfläche bin hin zu Dokumenten für den Kunden. Hier achte ich auf saubere, klare Formen und Farben, und berücksichtige auf Wunsch auch das Corporate Design, bis hin zu firmeneigenen Schrifttypen.
Datenbanken mit System
Datenbanken können auf den ersten Blick recht einfach ausschauen - und müssen am Ende eine Vielzahl von Anforderungen erfüllen. Ich achte von Anfang an auf einen formal korrekten Aufbau. Genauso soll die Struktur der Datenbank Erweiterungen ermöglichen - auch solche, die bei Projektstart noch gar nicht ersichtlich waren. Selbstverständlich sind meine vergebenen Namen für Tabellen, Abfragen, Tabellenfelder, Formulare usw. selbsterklärend und mit System aufgebaut.
Benötige ich Vorkenntnisse über Excel oder Access?
Nein, du brauchst keine Vorkenntnisse.
Stell dir vor, du setzt dich an den PC oder ans Smartphone, öffnest einen Webbrowser (Chrome, Safari, Edge, Firefox, ...), und bedienst die für dich passenden Webseiten. Sei es, dass du was auf Google suchst, oder Nachrichten liest, aber vielleicht auch beim Shoppen unterwegs bist und etwas einkaufst. Und das alles, obwohl du keinerlei Ahnung über die Funktionsweise von einem Browser oder über Webseitenprogrammierung hast.
Meine Anwendungen sind ähnlich aufgebaut. Du startest Excel oder Access, genauso wie du einen Browser startest. Und anstelle einer URL (wie www.google.com) startest du deine Access-Datenbank oder Excel-Anwendung. Die Benutzerführung ist selbsterklärend gestaltet, und du kannst dich auf deine Aufgaben konzentrieren. Und was im Hintergrund passiert, brauchst du nicht zu wissen. Genau dafür stehe ich: Intuitiv bedienbare Anwendungen.
VBA oder Makro: Was ist der Unterschied?
Historisch gesehen ist ein Makro eine Möglichkeit, Tastatureingaben automatisiert und wiederholt wiederzugeben.
In den 1990er Jahren hat Excel noch sogenannte "Makro-Tabellenblätter" mit entsprechenden "Makro-Befehlen" gehabt. Mit diesen konnte man eben die gewünschte Automatisierung und auch einige Berechnungen machen. Ende der 1990er Jahre hat Microsoft dann VBA integriert, und damit bei Excel ein wesentlich mächtigeres Werkzeug gebracht. Die alten "Makro-Tabellenblätter" sind schnell in Vergessenheit geraten, aber Microsoft hat den Begriff "Makro" bei Excel auch für VBA übernommen.
Bei Access ist das anders. Dort gibt es bis heute diese "Makro-Befehle" und VBA. Obwohl die Möglichkeiten mit den Makros sehr beschränkt sind, wird das von Microsoft noch aktiv unterstützt, und ab und zu bekomme ich fremde Datenbanken zu Gesicht, die noch mit den Makros arbeiten. Hier muss also zwingend unterschieden werden: Makro oder VBA.
Ich verwende sowohl für Excel als auch Access ausschließlich VBA. Und um Missverständnisse zu verhindern, benenne ich das auch entsprechend. Danke an Microsoft für die Sprachverwirrung, dass "Makro" in Access und Excel unterschiedliche Bedeutungen hat.
VBA: Ist das gefährlich? Warum wird davor gewarnt?
Tatsächlich kann VBA ein Einfallstor für Schadcode sein. Aber das wird nur aktiv, wenn der Anwender die entsprechende Datei (Word, Excel, PowerPoint) öffnet. Wenn also eine E-Mail mit einem Text in der Art "Hallo, hier kommen die Quartalsdaten von unserer Firma" kommt und im Anhang eine Excel-Tabelle liegt, solltest du aufmerksam werden. Besonders, wenn so etwas noch nie vorgekommen ist und niemand in der Firma das angekündigt hat. In solchen Fällen ist sehr sicher Schadcode drin, der auch sofort startet, sobald der VBA-Code aktiv werden kann. Deshalb sind in vielen Firmen die Voreinstellungen, dass VBA-Code (oder auch "Makros" genannt) separat bestätigt werden muss. Und wichtig ist eben auch, dass der Sender bekannt ist.
Natürlich kannst du sicher sein, dass ich keinen Schadcode verbreite. Du kennst mich, und du kannst meinen Anwendungen vertrauen. Wenn du noch Fragen dazu hast, oder die IT-Abteilung Bedenken anmeldet, reden wir darüber. Dann finden wir Lösungen und ich erkläre die Risiken, aber auch die Chancen von VBA.
Design auch in deiner Anwendung!
Design heißt nicht nur schöne Diagramme. Excel besteht aus mehr als nur ein paar Kästchen. Und dein Firmenauftritt kann sich in der Access- oder Excel-Anwendung widerspiegeln. Als Beispiel habe ich eine fiktive Excel-Anwendung erstellt, die mein Design aufnimmt. Du siehst auf dem Bild: Das Firmendesign wird aufgegriffen, die Bedienung ist klar und intuitiv.