Veraltete Software: Warum „alt aber bewährt“ oft ein Risiko ist und wie wir Microsoft Access sinnvoll modernisieren

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.

Kategorien:

Keine Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert