Frontend-Alternativen für Datenbanklösungen 1 - Preiswerte Datenbanklösungen mit Excel-Frontend

Grenzen

Bei so wenigen Systemvoraussetzungen muss das Ganze natürlich auch einen Haken haben. Den gibt es auch, aber so gravierend ist er wiederum nicht: Sie können zwar problemlos auf die Daten der Datenbank zugreifen, nicht jedoch auf Berichte und Formulare. Diese lassen sich nur in Access anzeigen. Zwar ließen sie sich aufrufen, das würde dann aber wieder Access auf dem Zielrechner voraussetzen.

Die komplette Benutzeroberfläche, also Formulare zur Dateneingabe oder Anzeige sowie Berichte zur Auswertung der Daten, müssen Sie in der Anwendung definieren, die das Frontend stellt.

Bild 1: Notwendige Verweise.
Bild 1: Notwendige Verweise.

Am einfachsten ist das noch in Excel, weshalb Excel Ihre erste Wahl sein sollte. Aber auch in Excel bedeutet dies eine Menge Aufwand, der sich bei sehr großen Anwendungen, die aus mehreren Dutzend Tabellen bestehen, nicht lohnt. In einem solchen Fall wäre es ratsam, die Formulare in Form von UserForms so zu programmieren, dass sie für mehr als eine Tabelle verwendet werden können.

Public Const AppName = "Adressverwaltung"
'Zugangsdaten für die Datenbank
Public Const DBName = "adressen.mdb"
Public Const DBPfad = ""
Public Const Benutzer = "Admin"
Public Const Passwd = ""
'Daten zur Konfiguration der UserForm
Public Const MaxFelder = 30
Public Const DefTabelle = "tabAdressen"
Public strTabname As String
Public strDBName As String

Der daraus entstehende Code lässt sich dannjedoch problemlos für mehrere Datenbanken verwenden, da alle Informationen mit Hilfe der ADOX-Bibliothek aus der Datenbank ermittelt werden. Wie das aussieht, zeigt das nachfolgend vorgestellte Beispiel.

Andernfalls ist der Aufwand sehr viel größer, als eine Runtime-Anwendung für Access zu entwickeln. Berichte können Sie erstellen, indem Sie die Daten in ein Excel-Tabellenblatt einfügen und dort formatieren. Aber auch die Ausgabe als HTML-Seite wäre natürlich möglich und auch praxistauglich.

Diese Einschränkungen bei Nutzung von Word und Excel als Frontend werden aber durch einen großen Vorteil kompensiert. Da Sie Formulare und Berichte im Frontend definieren müssen, entfällt in der Datenbank einen Menge Code und sie bleibt immer klein und handlich. Zudem lässt sie sich sehr einfach sichern, weil die Datenbankverbindung jederzeit getrennt und die MDB-Datei der Datenbank in ein Sicherungsverzeichnis kopiert werden kann.

Function getConn() As ADODB.Connection
Dim strDBConn As String
Dim objCon As New ADODB.Connection
Dim strDBPfad As String
On Error GoTo FEHLER
If DBPfad = "" Then
strDBPfad = ThisWorkbook.Path
Else
strDBPfad = DBPfad
End If
'Prüfen, ob das letzte Zeichen ein "\" ist
If Mid(strDBPfad, Len(strDBPfad) - 1, 1) <> "\" Then
'Backslash anhängen
strDBPfad = strDBPfad & "\"
End If
'Verbindungszeichenfolge generieren
strDBConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
strDBPfad & strDBName & ";User ID=" & Benutzer & ";Password=" & Passwd
'Verbindung erstellen
objCon.ConnectionString = strDBConn
objCon.CursorLocation = adUseClient
'Verbindung öffnen
objCon.Open
Set getConn = objCon
Set objCon = Nothing
Exit Function
FEHLER:
MsgBox "Fehler bei Aufbau der Datenbankverbindung: " & _
Err.Description, vbCritical, "FEHLER"
Exit Function
End Function