Ziel
Du musst auf Anfrage eines Nutzers alle gespeicherten Daten liefern.
Nicht nur aus Access. Auch aus WordPress.
Am besten in einem kombinierten, verstÀndlichen Bericht.
Ich zeige Dir, wie Du das technisch sauber löst – ohne die DSGVO mit WordPress-Plugins zu erschlagen.
Was gehört in den Auskunftsbericht?
Mindestens:
- Stammdaten (Name, E-Mail, Adressen)
- Bestellungen, Anfragen, Kommentare, Formulare
- Zugriffsprotokolle (sofern vorhanden)
- Herkunft, Zwecke, Löschfristen
- Alle Systeme, in denen die Daten gespeichert sind
Ziel: ein Dokument, das Du als PDF exportieren und per Post oder E-Mail versenden kannst.
Vorgehen in drei Schritten
- Daten identifizieren und zuordnen (welche ID, welche Quelle)
- ZusammenfĂŒhren in einem zentralen Bericht (Access)
- Ausgabe als Word, PDF oder HTML
Schritt 1: Identifikation per E-Mail oder Nutzer-ID
Die DSGVO erlaubt keine vagen Suchbegriffe.
Du brauchst also:
- die E-Mail-Adresse
- oder die WordPress-ID
- oder ein internes Kundenkennzeichen
Typischer Einstiegspunkt: eine Access-Abfrage mit der E-Mail
SELECT * FROM tbl_Kunden WHERE EMail = 'max@mustermann.de';
Oder in WordPress:
SELECT ID, user_login FROM wp_users WHERE user_email = 'max@mustermann.de';
Schritt 2: WordPress-Daten auslesen
Am besten per ODBC oder JSON-API.
Beispiel mit VBA und ODBC:
Public Function HoleWPUserDaten(email As String) As String
Dim conn As Object, rs As Object, sql As String
Set conn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
conn.Open "Driver={MySQL ODBC 8.0 Unicode Driver};Server=deinserver;Database=wp_db;User=lesenur;Password=geheim;"
sql = "SELECT ID, user_login, user_registered FROM wp_users WHERE user_email = '" & email & "'"
rs.Open sql, conn
If Not rs.EOF Then
HoleWPUserDaten = "WP-ID: " & rs("ID") & vbCrLf & _
"Login: " & rs("user_login") & vbCrLf & _
"Registriert am: " & rs("user_registered")
Else
HoleWPUserDaten = "Keine Daten in WordPress"
End If
rs.Close: conn.Close
End Function
Alternativ kannst Du WordPress-Daten regelmĂ€Ăig importieren.
Schritt 3: Access-Bericht erzeugen
In Access baust Du einen kombinierten Bericht rpt_DS_Auskunft.
Datenbasis: eine zentrale Abfrage mit JOINs oder VBA-basiertem Recordset.
Beispiel fĂŒr zusammengefĂŒhrte Daten
| Datenquelle | Inhalt |
|---|---|
| Access | Kundendaten, Supporttickets |
| WordPress | Nutzerkonto, Formulare |
| Server-Log | IP-Adresse, letzter Login |
Diese kannst Du entweder live anzeigen oder als temporÀre Tabelle aufbauen.
Beispiel: dynamischer Bericht in VBA
Public Sub ErstelleDSGVOBericht(email As String)
Dim berichtText As String
berichtText = "Datenauskunft fĂŒr: " & email & vbCrLf & vbCrLf
berichtText = berichtText & HoleWPUserDaten(email) & vbCrLf & vbCrLf
berichtText = berichtText & "Support-Tickets:" & vbCrLf
Dim rs As DAO.Recordset
Set rs = CurrentDb.OpenRecordset("SELECT Betreff, Datum FROM tbl_Support WHERE EMail = '" & email & "'")
Do Until rs.EOF
berichtText = berichtText & "- " & rs("Datum") & ": " & rs("Betreff") & vbCrLf
rs.MoveNext
Loop
rs.Close
Call SpeichereAlsTextdatei("DSGVO_" & Replace(email, "@", "_") & ".txt", berichtText)
End Sub
Private Sub SpeichereAlsTextdatei(pfad As String, inhalt As String)
Dim fso As Object, file As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Set file = fso.CreateTextFile(pfad, True)
file.WriteLine inhalt
file.Close
End Sub
Das kannst Du spĂ€ter ĂŒber Word oder PDF automatisiert weiterverarbeiten.
Optional: WordPress per REST-API abfragen
Wenn kein ODBC möglich ist, nutze die JSON-API von WordPress:
GET https://deine-site.de/wp-json/wp/v2/users?email=max@mustermann.de
Mit Authentifizierung per JWT oder OAuth.
Ergebnis wird in Access mit MSXML2.ServerXMLHTTP geholt und geparst.
Sicherheit beachten
- Bericht nur mit eindeutiger Identifikation ausgeben
- Kein Zugriff ohne Berechtigung
- TemporĂ€re Dateien regelmĂ€Ăig löschen
- Ausgabe idealerweise passwortgeschĂŒtzt als PDF
Mein Fazit
DSGVO-Auskunft ist kein Hexenwerk.
Aber Du brauchst Disziplin in der Datenhaltung – und klare Strukturen fĂŒr IDs und Mailadressen.
Mit Access und etwas PHP kommst Du da gut durch.
Und das Schaf? Das schaut mit prĂŒfendem Blick.