Access-Migration in die Azure Cloud => Möglichkeiten und Grenzen erklärt

Wenn Access in die Cloud soll – aber niemand weiß, wie

Access läuft.
Seit Jahren. Lokal.
Aber die IT will in die Cloud.
„Mach das mal Azure-fähig.“

Geht das?
Ja.
Aber nicht einfach so.

Ich zeig Dir, wie ich Access-Apps in die Azure-Welt bringe.
Stück für Stück. Ohne All-In-Desaster.

Was geht – und was nicht

TeilbereichAzure-kompatibelEinschränkungen
Datenbank-Backend✅ Azure SQLMigration nötig, Performance beachten
Frontend (Formulare, VBA)❌ nur lokalkein Hosting von ACCDE in der Cloud
ODBC-VerbindungDSN-less empfohlen, VPN/Azure AD empfohlen
Automatisierung (VBA)✅ bedingtLaufzeit nur lokal, keine Cloud-Funktion
Webzugriffnur per Power Apps/WebView-Ansatz möglich

Fazit: Access bleibt lokal – aber das Backend wandert hoch.

Schritt 1: Azure SQL-Datenbank vorbereiten

Im Azure-Portal:

  • Ressourcengruppe erstellen
  • SQL-Datenbank erstellen
  • Serverzugang einrichten (Firewallregel: Dein Büro-Subnetz)
  • Authentifizierung: SQL oder Azure AD (empfohlen)

Beispiel T-SQL zum Anlegen einer Tabelle:

CREATE TABLE Kunden (
  KundenID INT IDENTITY(1,1) PRIMARY KEY,
  Name NVARCHAR(100) NOT NULL,
  PLZ NVARCHAR(10),
  Aktiv BIT DEFAULT 1
);

Schritt 2: Access-Frontend mit Azure verbinden

ODBC-Treiber installieren:
„ODBC Driver 18 for SQL Server“

Dann DSN-less-Connect:

Dim tdf As DAO.TableDef
Set tdf = CurrentDb.CreateTableDef("tblKunden")

tdf.Connect = "ODBC;Driver={ODBC Driver 18 for SQL Server};Server=tcp:meinserver.database.windows.net,1433;Database=meinedb;Encrypt=yes;TrustServerCertificate=no;Authentication=ActiveDirectoryPassword;UID=xyz@firma.de;PWD=Geheim123"

tdf.SourceTableName = "dbo.Kunden"
CurrentDb.TableDefs.Append tdf

Alternativ: manuell verknüpfen → Externe Daten → ODBC → DSN auswählen

Schritt 3: Performance und Fallstricke beachten

Azure SQL hat höhere Latenzen.
Deshalb:

  • Keine Formulare direkt auf großen Tabellen
  • Abfragen mit WHERE-Klauseln vorfiltern
  • Kein ständiges Öffnen/Schließen von Recordsets
  • dbOpenSnapshot statt dbOpenDynaset, wenn möglich
  • Vorsicht mit DLookup, DCount, ComboBox.RowSource

Beispiel: Suche per parametrischer Abfrage

SELECT * FROM Kunden WHERE PLZ = [Bitte PLZ eingeben];

→ In Access nicht performant
→ Besser: VBA-generierte Abfrage

Dim qdf As DAO.QueryDef
Set qdf = CurrentDb.CreateQueryDef("qryKundenSuche", _
  "SELECT * FROM Kunden WHERE PLZ = '" & Me!txtPLZ & "'")

Schritt 4: Access-Frontend per AutoUpdate verteilen

Cloud heißt nicht, dass die Frontend-Datei mitzieht.
Aber Du kannst eine Verteilung bauen:

  • ACCDE lokal speichern
  • Update per Script oder Tool (z. B. robocopy, PowerShell)
  • Versionierung prüfen beim Öffnen
If CurrentProject.Properties("Version") <> "1.3.7" Then
    MsgBox "Bitte neue Version installieren.", vbExclamation
    Application.Quit
End If

Schritt 5: Alternativen mit Power Platform prüfen

Wenn Access zu eng wird, gibt’s Alternativen:

  • Power Apps + Dataverse
  • Power Automate für Prozesse
  • Power BI für Reporting

Migration ist kein Knopfdruck.
Aber machbar. Schrittweise.

Mein Setup für Access + Azure SQL

KomponenteUmsetzung
BackendAzure SQL, strukturierter Aufbau mit FK + SP
FrontendAccess ACCDE lokal pro Nutzer
VerbindungODBC DSN-less mit Azure AD
SicherheitAzure Firewall + Azure AD Authentication
DeploymentUpdater-Tool oder Loginskript mit Versionsprüfung
ErweiterungPower Apps für mobile Nutzung optional

Access in die Cloud heißt: nicht wegwerfen, sondern aufteilen. Backend hoch. Frontend bleibt.

Klingt simpel – ist es nicht.
Aber es funktioniert.
Wenn Du weißt, was Du tust.
Und nicht versuchst, 90er-Logik in die Cloud zu pressen.

Kategorien:

Keine Antworten

Schreibe einen Kommentar

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