Warum das Ganze?
Du willst Formulareingaben aus WordPress nicht per E-Mail oder CSV.
Du willst sie direkt in Access verarbeiten.
Geht.
Mit Webhooks, REST und VBA.
Ich zeig Dir meinen Weg.
Grundidee
- WordPress-Formular (z. B. WPForms, Gravity, Formidable)
- Webhook schickt JSON an lokalen API-Endpunkt
- Access holt sich die Daten zyklisch oder on-demand
- Daten landen direkt in einer Tabelle
Voraussetzungen
- Formular-Plugin mit Webhook-Support
- Lokaler Webserver oder Script-Receiver (z. B. PowerShell, PHP, Flask)
- Access-DB mit JSON-Verarbeitung
- VBA für automatisierten Import
Schritt 1: Webhook in WordPress aktivieren
In WPForms:
→ Einstellungen → Marketing → Webhooks aktivieren
Ziel-URL:
http://dein-pc-im-netzwerk:5000/input
Payload als JSON. Beispiel:
{
"name": "Max Mustermann",
"email": "max@example.com",
"nachricht": "Bitte Angebot zusenden"
}
Schritt 2: Lokalen API-Endpunkt einrichten (Beispiel Flask)
from flask import Flask, request
import json
app = Flask(__name__)
@app.route('/input', methods=['POST'])
def receive_data():
data = request.json
with open("form_input.json", "a") as f:
json.dump(data, f)
f.write("\n")
return "OK", 200
app.run(host='0.0.0.0', port=5000)
Alternativen: PowerShell mit IIS, PHP auf XAMPP
Schritt 3: JSON-Daten in Access einlesen
VBA-Funktion zum Einlesen und Schreiben
Public Sub ImportWebhookData()
Dim fso As Object, ts As Object
Dim sPath As String, sLine As String
Dim json As Object
Dim db As DAO.Database
Set fso = CreateObject("Scripting.FileSystemObject")
sPath = CurrentProject.Path & "\form_input.json"
If Not fso.FileExists(sPath) Then Exit Sub
Set ts = fso.OpenTextFile(sPath, 1)
Set db = CurrentDb
Do Until ts.AtEndOfStream
sLine = ts.ReadLine
Set json = JsonConverter.ParseJson(sLine)
db.Execute "INSERT INTO tbl_Formulare (Name, Email, Nachricht) VALUES (" & _
"'" & json("name") & "', " & _
"'" & json("email") & "', " & _
"'" & Replace(json("nachricht"), "'", "''") & "')"
Loop
ts.Close
Set ts = Nothing
Kill sPath
End Sub
→ JsonConverter
z. B. von VBA-JSON (Tim Hall) erforderlich
Schritt 4: Automatisieren
Du kannst die ImportWebhookData
-Funktion regelmäßig starten:
- beim Start der Access-Anwendung
- als Button im Menü
- über Aufgabenplanung + AutoExec-Makro
Vorteil gegenüber CSV & Co.
- Echtzeitfähig
- Kein manueller Export/Import
- Beliebig erweiterbar mit Logik (z. B. Duplikatprüfung)
Mögliche Erweiterungen
- Rückmeldung per API an WordPress
- Logging aller Formulareingaben
- Verbindung zu bestehenden Kundenstammdaten
- Automatische E-Mail-Benachrichtigung bei bestimmten Feldern
Du willst Formular-Daten nicht mehr „rüberschubsen“ – sondern direkt nutzen?
Dann meld Dich bei mir.
Ich helfe Dir beim Aufbau einer echten WordPress-Access-Integration.
Keine Antworten