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
Schritt | Ziel | Tools / Technik |
---|---|---|
1. Trennung | Frontend/Backend | Access / VBA |
2. Migration | SQL Server | SSMA / T-SQL |
3. Verbindung | ODBC DSN-less | VBA / DAO |
4. Authentifizierung | Azure AD | ODBC Driver 18 / AAD |
5. Verteilung | lokales Frontend mit Auto-Update | VBA, optional: ClickOnce |
6. Erweiterung | mobile/Workflow-Teile in Power Apps | Power Platform, SQL bleibt bestehen |
Mein Setup fĂŒr saubere Access-Cloud-Migrationen
Bereich | Empfehlung |
---|---|
Datenhaltung | Azure SQL oder SQL Server VM |
Frontend | lokal, verteilt per Updater |
Authentifizierung | Azure AD oder Azure AD Integrated Login |
Sicherheit | Rollenbasiert auf SQL Server |
Performance | nur gezielte Abfragen mit Indexnutzung |
Erweiterungen | Power 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