Access als Frontend für KI-Modelle aus Python oder R: So klappt die Kommunikation

Warum Access?

Weil Du dort Deine Benutzer hast.
Weil Access schnell Formulare baut.
Und weil Du Python oder R im Backend laufen lassen kannst.
Die Nutzer merken davon nichts. Du hast die Kontrolle.

Typische Anwendung

  • Prognosen auf Knopfdruck
  • Klassifikation von Text oder Bildern
  • Data Science, ohne dass der Vertrieb Python installieren muss

Architekturüberblick

KomponenteAufgabe
AccessBenutzeroberfläche, Datenhaltung
VBAHTTP-Anfrage an lokalen oder Cloud-Server
Python/RVerarbeitung, Modell, Rückgabe via API

Backend vorbereiten (Python-Beispiel mit Flask)

from flask import Flask, request, jsonify
import joblib

model = joblib.load("modell.pkl")
app = Flask(__name__)

@app.route("/predict", methods=["POST"])
def predict():
    daten = request.get_json()
    eingabe = daten["eingabe"]
    ergebnis = model.predict([eingabe])[0]
    return jsonify({"vorhersage": ergebnis})

if __name__ == "__main__":
    app.run(port=5000)

Das Ganze läuft auf dem lokalen Server oder einem kleinen Azure-Container.
Einfach per POST ansprechbar.

Access: Anfrage an Python-API senden

Function RufeVorhersage(eingabeWert As String) As String
    Dim http As Object
    Dim jsonRequest As String
    Dim jsonResponse As String

    Set http = CreateObject("MSXML2.XMLHTTP")

    jsonRequest = "{""eingabe"":""" & eingabeWert & """}"

    With http
        .Open "POST", "http://localhost:5000/predict", False
        .SetRequestHeader "Content-Type", "application/json"
        .Send jsonRequest
        jsonResponse = .ResponseText
    End With

    RufeVorhersage = ExtrahiereWert(jsonResponse, "vorhersage")
End Function

JSON-Wert extrahieren (Minimallösung)

Function ExtrahiereWert(json As String, schluessel As String) As String
    Dim startPos As Long, endPos As Long
    startPos = InStr(json, schluessel & """:" & """") + Len(schluessel) + 3
    endPos = InStr(startPos, json, """")
    ExtrahiereWert = Mid(json, startPos, endPos - startPos)
End Function

Beispiel: Prognose-Button im Formular

Private Sub btnVorhersage_Click()
    Dim eingabe As String
    Dim ergebnis As String

    eingabe = Me.txtInput
    ergebnis = RufeVorhersage(eingabe)
    Me.txtErgebnis = ergebnis
End Sub

R-Backend funktioniert ähnlich

Mit plumber statt Flask:

library(plumber)

#* @post /predict
function(req) {
  eingabe <- req$body$eingabe
  vorhersage <- predict(modell, data.frame(eingabe = eingabe))
  list(vorhersage = vorhersage)
}

Wichtige Hinweise

  • Access kommuniziert per HTTP – kein direkter DLL-Call
  • Python-/R-API muss lokal laufen oder in der Cloud erreichbar sein
  • Keine großen Datenmengen über JSON schicken – besser Referenzen
  • Logging einbauen (siehe vorheriger Beitrag)

Vorteile dieser Lösung

  • Du brauchst kein zusätzliches Frontend
  • Deine Nutzer bleiben in ihrer gewohnten Umgebung
  • KI läuft da, wo sie hingehört: im Backend
  • Du hast volle Kontrolle über Datenfluss und Modelle

Zitat zum Mitnehmen

„Access vorne, Python hinten – das passt besser, als viele glauben.“

Wenn Du das für Dein KMU brauchst: Ich helfe beim Verbinden.
Ohne Cloud-Zwang. Ohne Abogebühren. Nur echte Integration.

Keine Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert