Schwierigkeiten bei Migration in die Cloud => Wie ich Access-Projekte schrittweise in die Cloud bringe

Wenn Access auf OneDrive liegt, ist das keine Cloudlösung

Viele denken, sie hĂ€tten Access „in die Cloud gebracht“,
weil die .accdb jetzt im Teams-Ordner liegt.
Nein.

Das fĂŒhrt nur zu gesperrten Dateien, verlorenen DatensĂ€tzen und korrupten Datenbanken.

Ich zeige Dir, wie ich Access-Projekte richtig in Richtung Cloud ĂŒberfĂŒhre –
schrittweise, strukturiert, mit Augenmaß.

Schritt 1: Frontend und Backend sauber trennen

Der Klassiker.
Ohne Trennung kannst Du gar nichts migrieren.

Public Sub VerknuepfeTabellen()
    Dim tdf As DAO.TableDef
    For Each tdf In CurrentDb.TableDefs
        If Len(tdf.Connect) > 0 Then
            tdf.Connect = ";DATABASE=\\server\sqlbackend.accdb"
            tdf.RefreshLink
        End If
    Next
End Sub

Ab hier kannst Du das Backend austauschen – gegen SQL Server oder Azure SQL.
Und das Frontend lokal halten.

Schritt 2: SQL Server als Zwischenziel

Ich ziehe die Daten zuerst auf SQL Server (on-prem oder VM in Azure).
Das geht am einfachsten mit dem „SQL Server Migration Assistant (SSMA) for Access“.

Oder manuell:

SELECT * INTO KundenNeu 
FROM OPENDATASOURCE(
    'Microsoft.ACE.OLEDB.12.0',
    'Data Source=\\server\app\backend.accdb'
)...Kunden;

Wichtig: Tabellenstruktur prĂŒfen.
Datentypen wie Yes/No und Memo brauchen Aufmerksamkeit.

Schritt 3: Frontend auf ODBC umstellen

Nach dem SQL-Import werden die Tabellen per ODBC verknĂŒpft.
Ich nutze dafĂŒr DSN-less-Verbindungen:

Public Function SQLVerknuepfung()
    Dim db As DAO.Database
    Dim tdf As DAO.TableDef
    Set db = CurrentDb

    Set tdf = db.CreateTableDef("dbo_Kunden")
    tdf.Connect = "ODBC;Driver={ODBC Driver 17 for SQL Server};Server=tcp:meinserver.database.windows.net,1433;Database=meinDB;Uid=appuser;Pwd=meinPW;Encrypt=yes;"
    tdf.SourceTableName = "dbo.Kunden"
    db.TableDefs.Append tdf
End Function

So ist das Frontend auch cloudfÀhig.
Und braucht keinen freigegebenen Ordner mehr.

Schritt 4: Authentifizierung auf Azure umstellen

Statt SQL Login → Azure AD Integrated:

tdf.Connect = "ODBC;Driver={ODBC Driver 18 for SQL Server};Server=tcp:meinserver.database.windows.net;Database=meineDB;Authentication=ActiveDirectoryIntegrated;"

Voraussetzung: Azure AD Join oder Hybrid Join.

Das erhöht die Sicherheit – und passt besser in das Microsoft-Ökosystem.

Schritt 5: Frontend als ClickOnce oder Updater

Ein Cloud-Backend bringt nichts, wenn alle mit veralteten Frontends arbeiten.
Deshalb baue ich einen Auto-Updater ein:

Public Sub StarteMitUpdate()
    Dim quelle As String, ziel As String
    quelle = "\\server\app\frontend.accde"
    ziel = Environ("USERPROFILE") & "\AppData\Local\Firma\frontend.accde"

    If FileDateTime(quelle) > FileDateTime(ziel) Then
        FileCopy quelle, ziel
    End If

    Shell """" & ziel & """", vbNormalFocus
    Application.Quit
End Sub

So landet das Frontend immer lokal.
Kein OneDrive-Gedöns. Kein Fileshare-Chaos.

Schritt 6: Schrittweise FunktionalitÀt in Power Platform auslagern

Was in Access schwerfĂ€llig ist – z. B. mobil nutzbare Formulare oder genehmigte Prozesse –
baue ich in Power Apps / Power Automate.

Aber: Ich halte den SQL Server als Datenbasis.
So bleibt alles zentral.
Und die Tools können nebeneinander bestehen.

Beispiel: Flow fĂŒr neue Kundenanlage

CREATE TRIGGER trg_KundeNeu
ON dbo.Kunden
AFTER INSERT
AS
BEGIN
    -- Dummy-Webhook-Aufruf fĂŒr Power Automate
    EXEC xp_cmdshell 'curl -X POST https://prod-xyz.logic.azure.com/...';
END

Oder: Power App schreibt direkt in SQL ĂŒber Connector.

Tabelle: Migrationsschritte im Überblick

SchrittZielTools / Technik
1. TrennungFrontend/BackendAccess / VBA
2. MigrationSQL ServerSSMA / T-SQL
3. VerbindungODBC DSN-lessVBA / DAO
4. AuthentifizierungAzure ADODBC Driver 18 / AAD
5. Verteilunglokales Frontend mit Auto-UpdateVBA, optional: ClickOnce
6. Erweiterungmobile/Workflow-Teile in Power AppsPower Platform, SQL bleibt bestehen

Mein Setup fĂŒr saubere Access-Cloud-Migrationen

BereichEmpfehlung
DatenhaltungAzure SQL oder SQL Server VM
Frontendlokal, verteilt per Updater
AuthentifizierungAzure AD oder Azure AD Integrated Login
SicherheitRollenbasiert auf SQL Server
Performancenur gezielte Abfragen mit Indexnutzung
ErweiterungenPower Platform + REST-Anbindung

Access gehört nicht in den Browser.
Aber es kann sehr wohl in die Cloud.

Mit SQL als RĂŒckgrat.
Mit gutem Deployment.
Und mit Klarheit, was Frontend und Backend eigentlich tun sollen.

Kein All-In. Sondern StĂŒck fĂŒr StĂŒck.
Dann klappt’s auch mit der Cloud.

Keine Antworten

Schreibe einen Kommentar

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