DSGVO-konforme Auskunftsberichte mit Daten aus WordPress und Access kombinieren

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

  1. Daten identifizieren und zuordnen (welche ID, welche Quelle)
  2. ZusammenfĂŒhren in einem zentralen Bericht (Access)
  3. 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

DatenquelleInhalt
AccessKundendaten, Supporttickets
WordPressNutzerkonto, Formulare
Server-LogIP-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.

Kategorien: