Language: Deutsch English















Last Update: 2017 - 11 - 14





Access Daten von externen Benutzern bearbeiten lassen

by Philipp Stiefel, ursprünglich veröffentlicht am 03. Juli 2016

In diesem Artikel geht es darum, wie du Daten aus deiner Access Anwendung von externen Benutzern überprüfen und korrigieren lassen. Unter externen Benutzern verstehe ich in diesem Kontext Leute, die zwar einen Bezug zu den Daten haben, aber nicht direkt auf die Anwendung zugreifen können und sollen.

Ich behandle das Thema hier weitgehend nur theoretisch, ohne konkrete Implementierungen der Lösungswege zu demonstrieren.

Ich sehe drei Lösungswege für diese Anforderung.

1) Per Email-Text

Du erstellst eine Email aus deiner Access Anwendung und sendest sie an den externen Benutzer. Diese Email enthält die Daten im Text in einem klar strukturierten Format. Z.B. werden die Daten zeilenweise als Name-Wert-Paare (Name=Wert) dargestellt.

Der Empfänger kann einfach diese Email beantworten und dabei den ursprünglichen Text in seine Antwort übernehmen. In der Antwort kann er die Daten nach seinen Wünschen ändern. Dabei muss er allerdings die Struktur für die Daten (Name=Wert) beachten.

Du liest mit deiner Anwendung dann die eingehenden Emails in dem dafür vorgesehenen Antwort-Postfach aus und aktualisierst deine Daten.

Dafür musst du den Text der eingehenden Email mit Stringfunktionen parsen und die Daten extrahieren. Die resultierenden Daten schreibst du dann in deine Datenbank.

Dabei musst du allerdings berücksichtigen, dass bei der Email-Übermittlung deine Datenstruktur eventuell etwas verändert werden kann. Besonders wahrscheinlich ist es z.B. dass Zeilenumbrüche entfernt oder hinzugefügt werden. Daher solltest du Name-Bezeichner in der Email so wählen, dass du auch bei geänderten Zeilenumbrüchen die Daten noch auslesen kannst.

Etwas verbessern lässt sich die Datenstruktur, wenn die Daten in einer HTML-Tabelle in einer HTML-Email versendet werden. Dies setzt aber voraus, dass der Empfänger die Daten auch wieder im HTML-Format zurücksendet.

Vorteile

  • Erfordert keine zusätzliche Infrastruktur, weder bei dir noch beim Empfänger
  • Ist relativ einfach zu implementieren (im Vergleich zu den anderen Lösungsvorschlägen)

Nachteile

  • Ist durch die reine Text-Darstellung nur für ein paar wenige, flach strukturierte Daten verwendbar.
  • Nicht besonders benutzerfreundlich
  • Keine Datenvalidierung bei der Eingabe möglich
  • Mangels Validierung und strukturiertem Datenformat sehr fehleranfällig

Bewertung

Ich würde diesen Ansatz nicht verwenden.

Aufgrund der hohen Fehleranfälligkeit eignet sich die dieser Ansatz nur für einfachste Daten und erfordert eine manuelle Nachkontrolle.

In einem solchen Fall würde ich lieber den Empfänger einfach als Freitext auf die Email antworten lassen und dann manuell die Daten in der eigenen Anwendung aktualisieren. - Wenn das Datenvolumen zu umfangreich wird, würde ich entweder Lösung 2 oder 3 implementieren.

2) Dokument zur Dateneingabe verschicken

Du verschickst per Email eine Datei, die ein Formular zur Dateneingabe enthält und die Daten in strukturierter Form speichern kann.

Dies kann ein einfaches Dokument sein, wie z.B. eine Excel-Mappe mit geschützten Bereichen oder ein Word-Formular mit definierten Eingabefeldern. Der Empfänger erfasst die Daten, speichert das Dokument und sendet es dann per Email zurück an dich.

Wenn du komplexe, strukturierte Daten darstellen und ändern lassen willst, könntest du sogar eine Access-Anwendung verschicken, in der der Empfänger die Daten bearbeiten kann. Diese Anwendung könnte sogar auf Knopfdruck die Daten in einem definierten Format an dich zurückschicken. – Das setzt dann einen zur Automatisierung geeigneten Email-Client voraus.

Deine Haupt-Anwendung verarbeitet dann wieder die eingehenden Antwort-Emails und speichert die Änderungen in deiner Datenbank ab, die mit den Formular-Dateien zurückgesendet werden. Excel-Daten kannst du sehr einfach direkt importieren, die Daten aus einem Word-Formular kannst du in Word im CSV-Format speichern und diese dann ebenfalls einfach importieren.

Vorteile

  • Du kannst die Benutzeroberfläche, die die Daten darstellt und der Empfänger sie bearbeitet, gestalten. – Einschließlich Datenvalidierung
  • Beim Transfer wird ein Format verwendet, dass du bestimmen kannst. Daher lassen sich auch umfangreichere Daten auf diesem Weg übermitteln.

Nachteile

  • Der Empfänger muss die entsprechende Anwendung (Word, Excel oder Access) für die Verarbeitung besitzen.
  • Bei eingehenden Email mit Dateianhängen greifen u.U. Sicherheitsmechanismen des Email-Clients und unterbinden den Zugriff auf die Datei.
  • Das manuelle Speichern und Zurücksenden der Datei durch den Benutzer ist eine potenzielle Fehlerquelle.

Bewertung

Dieser Lösungsansatz ist primär für firmeninterne Szenarien geeignet, in der du die technische Infrastruktur des Empfängers kennst, aber dem Empfänger keinen direkten Zugriff auf deine eigentliche Anwendung geben kannst oder willst.

2b) Mit dem Daten-Sammeln-Feature von Access

In Access 2007 und 2010 gibt es das Feature Daten Sammeln. Konzeptionell ist dieses Feature sehr ähnlich zu meinen Lösungsansätzen 1 und 2.

Wahlweise werden die Daten entweder analog zu Lösung 1 per HTML-Email an den Empfänger gesendet, oder es wird dafür, analog zu Lösung 2, ein Microsoft Info Path Formular erstellt und dieses versendet. – Es gelten die Vor- und Nachteile der jeweiligen Lösungsansätze.

Ein großer Vorteil der Daten Sammeln Funktionalität ist allerdings, dass über einen Assistenten in Access die gesamte Funktionalität für das Versenden der Email und das Auswerten und speichern der Antworten bereits implementiert ist. Es ist also eine Möglichkeit diese Lösungsansätze mit sehr wenig Aufwand umzusetzen.

Allerdings solltest du bedenken, dass dieses Feature in neueren Versionen von Access (ab Access 2013) wieder entfernt wurde.

3) Eigene Webanwendung

Du erstellst eine eigene Webanwendung mit ASP.Net oder PHP, oder evtl. auch eine Access-Web-App.  Diese Webanwendung hostest du auf einem Server, der von überall her über das Internet erreicht werden kann.

Mit deiner Email schickst du dem externen Benutzer einen Link zu der Seite, auf der er die Daten bearbeiten kann. Deine Anwendung kann die geänderten Daten aus dem Web dann einfach automatisch importieren und verarbeiten.

Das klingt von der Handhabung sehr einfach. – Ist es auch. Dies ist der einzige Weg, auf dem das für einen öffentlichen Empfängerkreis umgesetzt werden kann. - Allerdings ist der Aufwand der Implementierung nicht zu unterschätzen.

Vorteile

  • Keine Anforderungen an die Infrastruktur beim Empfänger (außer Internetverbindung und Webbrowser).
  • Du kannst auch komplexe Daten in einer von dir gestalteten Oberfläche darstellen.

Nachteile

  • Die hier erwähnte Webanwendung zu erstellen, erfordert einiges an Know-How und benötigt eine geeignete Infrastruktur.
  • Der Aufwand ist erheblich und nicht mit Access allein zu realisieren. Allerdings gibt es mit Office 365 bzw. Microsoft Azure inzwischen relativ einfache Möglichkeiten die erforderliche Infrastruktur für eine Access-Web-App zu mieten.

Fazit

Aus meiner Sicht ist nur der Einsatz einer eigenen Webanwendung eine ernstzunehmende Lösung für diese Problemstellung. Die beiden einfacheren Ansätze sind aufgrund ihrer zahlreichen Einschränkungen und des dennoch hohen Implementierungsaufwandes keine echten Alternativen.

Eine Sonderstellung genießt die Daten-Sammeln-Funktion von Access 2007 und 2010. Da durch die Assistenten der Aufwand einer solchen Lösung wesentlich geringer ist, kann man ihre Schwächen evtl. in Kauf nehmen.

Share this article: Share on Facebook Tweet Share on LinkedIn Share on XING

Abonniere meinen Newsletter

*

Ich werde Deine Email-Addresse niemals weitergeben. Du kannst den Newsletter jederzeit abbestellen.



© 1999 - 2017 by Philipp Stiefel