Was ist überhaupt „veraltet“?
Nicht alles, was älter als fünf Jahre ist, ist automatisch Müll.
Aber: Wenn Du mit Access 2003 arbeitest – und das noch auf Windows 7 – dann ist das kein „bewährtes System“.
Dann ist das ein Risiko.
Veraltet ist:
- wenn keine Sicherheitsupdates mehr kommen
- wenn Office nicht mehr unterstützt wird
- wenn sich niemand mehr traut, den Code anzufassen
- wenn Du regelmäßig sagst: „Bitte nichts ändern!“
Typische Warnzeichen
.mdb
, .mde, .adp, .ade statt.accdb und .accde
- globale Variablen in Modulen ohne sauberen Kontext
- Menüs mit alten CommandBars
- Formulare ohne gebundenes Backend
- keine Versionsverwaltung, keine Testumgebung
Oder ganz simpel:
Wenn Du die letzte Änderung am Formular „frmKunde_alt2_TEST“ nicht mehr nachvollziehen kannst.
Warum Access trotzdem nicht tot ist
Access ist stabil. Schnell.
Und für viele KMU genau das richtige Werkzeug.
Aber nur, wenn Du es modern einsetzt.
Was geht auch heute noch gut?
- Frontend mit Access
- Backend in SQL Server (auch Express)
- REST-Schnittstellen über VBA und Power Automate
- Automatisierung über Timer, Events, Hintergrundabfragen
Wo’s kritisch wird
Sicherheitslücken
Ältere Access-Versionen können keine TLS 1.2-Verbindungen zu ODBC-Backends.
Das heißt: kein sicherer Zugriff auf SQL Server oder MySQL in der Cloud.
Betriebssysteme
Access 2003 unter Windows 11? Viel Spaß.
Office 2010 in einer Azure AD-Umgebung? Eher nicht.
Datenvolumen
Bei 2 GB ist Schluss.
Und mit jeder temp-Tabelle näherst Du Dich dem Limit.
Beispiele für Modernisierung
1. Modulstruktur aufräumen
Vorher:
Public kundenname As String
Sub AlteFunktion()
kundenname = Me.txtKunde
End Sub
Nachher:
Function GetKundenname(frm As Form) As String
GetKundenname = Nz(frm!txtKunde, "")
End Function
2. ODBC auf DSN-less umstellen
CurrentDb.TableDefs("t_kunde").Connect = _
"ODBC;Driver={SQL Server};Server=sql01;Database=appdb;Trusted_Connection=Yes;"
CurrentDb.TableDefs("t_kunde").RefreshLink
Damit kannst Du Server wechseln, ohne alle Tabellen neu zu verknüpfen.
3. REST statt Zwischen-Excel
Function SendeJsonAnAPI(jsonText As String)
Dim http As Object
Set http = CreateObject("MSXML2.XMLHTTP")
http.Open "POST", "https://meine-api.de/api/kunden", False
http.setRequestHeader "Content-Type", "application/json"
http.Send jsonText
Debug.Print http.ResponseText
End Function
4. Logging statt Raten
Function LogEvent(txt As String)
Open "C:\AccessLog\events.log" For Append As #1
Print #1, Now & " - " & txt
Close #1
End Function
Das hilft auch, wenn Du nach Monaten verstehen willst, was passiert ist.
Technisch modern heißt nicht „wegwerfen“
Viele Systeme lassen sich „modularisieren“.
Backend in die Cloud. Frontend in Office 365.
REST als Brücke. Daten in SQL. Reports in Power BI.
Nicht immer brauchst Du eine „neue App“.
Oft reicht: klare Architektur, sichere Technik, saubere Dokumentation.
Mein Vorschlag
Wenn Du den Satz „Läuft ja, fass das bloß nicht an“ schon mal gehört hast:
Dann ist es Zeit, wenigstens zu prüfen, was modernisierbar ist.
Du musst nicht alles neu machen.
Aber Du musst wissen, was Du tust. Und wo Du Dich verlierst.
Ich zeig Dir gern, wie Du einen veralteten Access-Client mit wenigen Handgriffen
sicherer, stabiler und teamtauglich machst – ohne gleich alles über Bord zu werfen.
Keine Antworten