Drei Systeme, ein Ziel
Du willst FlexibilitÀt, Skalierbarkeit und Kontrolle.
Ohne alles neu zu erfinden.
Ich setze dabei auf ein bewÀhrtes Trio:
- Access fĂŒr die interne Fachlogik
- WordPress fĂŒr das Web-Frontend
- Azure SQL Database als zentrale Datenplattform
Das funktioniert – und wĂ€chst mit.
Ich zeige Dir, wie.
Grundprinzip: Trennung der Verantwortlichkeiten
| Schicht | System | Aufgabe |
|---|---|---|
| Backend lokal | Access | Pflege, Import, Auswertung |
| Backend online | Azure SQL | zentrale Speicherung, Zugriff via API |
| Frontend | WordPress | Darstellung, Formulare, Login-Portale |
Jedes System macht, was es gut kann.
Und nichts, was es nicht muss.
Azure SQL Database als HerzstĂŒck
Vorteile
- HochverfĂŒgbar
- Skalierbar
- Sicher
- DSGVO-konform (in West-Europa)
- Per ODBC und PHP direkt nutzbar
Verbindung aus Access
Dim conn As Object
Set conn = CreateObject("ADODB.Connection")
conn.Open "Provider=MSOLEDBSQL;Data Source=tcp:meinserver.database.windows.net,1433;" & _
"Initial Catalog=meinedatenbank;User ID=adminuser;Password=geheim123!;Encrypt=yes;TrustServerCertificate=no;"
Dann normale SQL-Statements oder DAO mit verknĂŒpften Tabellen.
Access: Schnell, lokal, stark in Fachlichkeit
Access bleibt das Tool der Wahl, wenn es um:
- Massendaten-Pflege
- Formulare mit interaktiver Logik
- Seriendrucke, Reports
- Tabellenfilterung mit hoher Performance (lokal zwischenspeichern)
geht.
Beispiel:
If Me.Status = "Neu" And DateDiff("d", Me.ErfasstAm, Date) > 5 Then
Me.Status = "Veraltet"
End If
In Azure SQL? Möglich. Aber umstÀndlich.
WordPress: Das Frontend im Browser
Die Online-Darstellung lĂ€uft ĂŒber WordPress.
Daten kommen direkt aus Azure SQL – entweder per API oder per Custom Query.
PHP-Query direkt gegen Azure SQL
$serverName = "tcp:meinserver.database.windows.net,1433";
$connectionOptions = [
"Database" => "meinedatenbank",
"Uid" => "adminuser",
"PWD" => "geheim123!",
"Encrypt" => 1,
"TrustServerCertificate" => 0,
];
$conn = sqlsrv_connect($serverName, $connectionOptions);
$sql = "SELECT Name, Lieferdatum FROM Lieferungen WHERE Status = 'offen'";
$stmt = sqlsrv_query($conn, $sql);
Mit Shortcodes, ACF oder REST kannst Du die Daten dann im Portal darstellen.
REST-API statt direkter DB-Zugriff (empfohlen)
Du kannst auch ĂŒber eine eigene REST-API auf Azure SQL zugreifen.
DafĂŒr setze ich meist eine kleine Node.js oder PHP-Zwischenschicht auf Azure Functions oder einen App Service.
WordPress ruft dann z. B. ab:
GET https://meinedomain/api/lieferung/123
Und die API liefert JSON – z. B. aus einem T-SQL Select mit JOINs.
Sicherheit: Das darf nicht fehlen
- IP-Filter fĂŒr Azure SQL
- Azure AD-Authentifizierung fĂŒr Zugriff von Access
- Keine direkten Zugangsdaten im WordPress-Quellcode
- API-Zugriff per OAuth oder JWT
- Rollenbasiertes Konzept in allen drei Schichten
Typische Rollenverteilung
| Rolle | Zugriff auf |
|---|---|
| Access-User | alle Tabellen, Schreibrechte |
| WP-User | nur selektive Views per API |
| Admin | Vollzugriff, Logging |
T-SQL-Beispiel: View fĂŒr WordPress
CREATE VIEW vw_OffeneLieferungen AS
SELECT ID, Lieferdatum, Kunde
FROM Lieferungen
WHERE Status = 'offen' AND SichtbarImPortal = 1
In WordPress greifst Du nur auf diese View zu.
Keine Rohdaten, kein Chaos.
Warum das zukunftssicher ist
- Access stirbt nicht, sondern stabilisiert den operativen Alltag
- WordPress ist flexibel, gĂŒnstig und mobilfĂ€hig
- Azure SQL ist skalierbar und modern
Und alles ist modular.
Wenn Du mal auf Power Platform, Power BI oder eine App umsteigen willst – Azure SQL bleibt kompatibel.
Mein Fazit als DatenschÀfer
Ich baue Systeme fĂŒr KMU, nicht fĂŒr Entwicklerpreise.
Access ist das Werkzeug. WordPress das Schaufenster. Azure SQL das RĂŒckgrat.
Zusammen ergibt das ein System, das auch in fĂŒnf Jahren noch wartbar ist.
Oder wie wir im Norden sagen: „LĂ€uft.“