Wenn Access nicht ersetzt, sondern ergänzt
Microsoft will in die Cloud.
Und Access? Ist immer noch da.
Zuverlässig. Schnell gebaut.
Aber eben lokal.
Die gute Nachricht: Du kannst Access mit Dataverse verbinden.
Ohne gleich alles neu zu bauen.
Frontend bleibt. Backend wird moderner.
Was ist Dataverse?
Dataverse ist die Datenplattform in Microsoft 365.
Hinter Power Apps, hinter Teams-Listen, hinter Dynamics.
Relationale Tabellen. Rechteverwaltung. Versionskontrolle.
Und: per OData erreichbar.
Warum ich Access + Dataverse kombiniere
- Benutzer wollen ihre gewohnten Formulare
- Daten sollen sicher in der Cloud liegen
- Web-Zugriff via Power Platform später möglich
- Rollen und Sicherheitsgruppen zentral gesteuert
- Keine eigene SQL-Infrastruktur nötig
Kurz: Access bleibt lokal – aber greift online auf Dataverse zu.
Access mit Dataverse verbinden
Du brauchst:
- Access ab Version 2103
- Microsoft 365-Konto mit Power Platform-Lizenz
- Umgebungs-URL z. B.
https://orgname.crm4.dynamics.com
Dann:
- In Access → Externe Daten → Neue Datenquelle → Von Online-Diensten → Dataverse
- Mit Microsoft 365-Konto anmelden
- Tabellen auswählen (z. B.
accounts
,contacts
) - Tabellen werden lokal verknüpft (ähnlich wie bei SQL Server)
Tabellennamen und Primärschlüssel
Achte auf:
- Primärschlüssel ist
GUID
(z. B.accountid
) - Feldnamen sind oft
schemaname_logischername
- Beziehungen kommen mit (aber manchmal fehlerhaft)
Beispiel: Tabelle contacts
→ Feld parentcustomerid_account
Beispiel: Neue Datenzeile per VBA einfügen
Public Sub NeuerKontakt()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("contacts", dbOpenDynaset)
rs.AddNew
rs!firstname = "Max"
rs!lastname = "Muster"
rs!emailaddress1 = "max@firma.de"
rs.Update
MsgBox "Kontakt angelegt."
End Sub
Wichtig: GUIDs müssen gültig sein.
Für Beziehungen brauchst Du referenzierbare IDs.
GUID erzeugen für neue Objekte
Public Function NeueGUID() As String
Dim g As GUID
CoCreateGuid g
NeueGUID = "{" & _
Hex$(g.Data1) & "-" & _
Hex$(g.Data2) & "-" & _
Hex$(g.Data3) & "-" & _
Hex$(g.Data4(0)) & Hex$(g.Data4(1)) & "-" & _
Hex$(g.Data4(2)) & Hex$(g.Data4(3)) & Hex$(g.Data4(4)) & Hex$(g.Data4(5)) & _
Hex$(g.Data4(6)) & Hex$(g.Data4(7)) & "}"
End Function
Nur nötig, wenn Du GUIDs selbst generieren willst – meistens besser: Autowert nutzen.
Lesende Abfragen: OData-Grenzen kennen
- Kein
SELECT *
- Kein
TOP n
in SQL - Access übersetzt intern in OData
Wenn Du Performance brauchst: lieber DoCmd.TransferSpreadsheet
mit gefilterter Abfrage auf Dataverse (Power Query, Power Automate).
Tabelle: Vor- und Nachteile Access + Dataverse
Vorteil | Nachteil |
---|---|
Bestehende Masken nutzbar | Performance bei großen Datenmengen |
Kein SQL Server nötig | Keine komplexen Abfragen im SQL-Fenster |
Rollensteuerung über Azure AD | GUIDs erschweren manuelle Bearbeitung |
Kombinierbar mit Power Apps | Einschränkungen bei VBA-Funktionalität |
Mein Setup für Access mit Dataverse
Bereich | Umsetzung |
---|---|
Tabellenzugriff | verknüpft über Dataverse-Connector |
Backend | Dataverse Cloud-Datenbank |
Authentifizierung | Microsoft 365 via Azure AD |
Offlinefähigkeit | keine – nur bei aktiver Verbindung |
Erweiterung | Power Automate für E-Mail-Benachrichtigungen etc. |
Mit Dataverse bringst Du es in die Cloud – ohne Deine Nutzer zu verschrecken.
Und wenn’s später mal doch Power Apps werden soll,
hast Du die Daten schon da, wo sie hin sollen.
No responses yet