Idee: Access als Datenspeicher – Modell läuft extern

Access kann kein ML-Modell trainieren.
Aber Access kann Daten liefern. Und Ergebnisse verarbeiten.
Die eigentliche Intelligenz liegt außerhalb – z. B. in Python, Azure oder einem Webservice.

Dein Job:
Zuverlässige Integration zwischen Access und dem Modell herstellen.

Variante 1: Machine Learning via Python-Skript

Daten aus Access exportieren → Python verarbeitet → Ergebnis zurück in Access.

Schritt 1: Daten aus Access exportieren

DoCmd.TransferText _
    acExportDelim, , _
    "qryMLInput", _
    "C:\ML\Input.csv", _
    True

Schritt 2: Python-Skript aus Access starten

Shell "python C:\ML\predict.py", vbHide

Schritt 3: Ergebnisse einlesen

DoCmd.TransferText _
    acImportDelim, , _
    "tmp_ML_Ergebnis", _
    "C:\ML\Output.csv", _
    True

Optional: Ergebnis verarbeiten

CurrentDb.Execute "UPDATE tblKunden SET Score = (SELECT Score FROM tmp_ML_Ergebnis WHERE tmp_ML_Ergebnis.ID = tblKunden.ID)"

Variante 2: API-Aufruf an externen ML-Dienst (REST)

Beispiel: POST an Azure Function / Flask / FastAPI

Public Function RufeMLModellAuf(jsonInput As String) As String
    Dim http As Object
    Set http = CreateObject("MSXML2.XMLHTTP")

    http.Open "POST", "https://ml-api.firma.de/predict", False
    http.setRequestHeader "Content-Type", "application/json"
    http.Send jsonInput

    RufeMLModellAuf = http.responseText
End Function

Nutzung mit JSON-Payload

Dim input As String
input = "{""Alter"":45,""Umsatz"":2300}"

Dim ergebnis As String
ergebnis = RufeMLModellAuf(input)

MsgBox "Vorhersage: " & ergebnis

Variante 3: Power Automate + Power BI + Access

  • Daten in Access markieren (z. B. ScoreBerechnen=True)
  • Power Automate-Flow holt die Daten
  • Schickt sie an Azure ML / AutoML
  • Schreibt Score zurück in Access-Tabelle

Funktioniert über ODBC + Gateway.
Kein VBA nötig – aber Adminrechte für Flow und Azure.

Wichtige Tipps zur Umsetzung

  • ML-Modelle arbeiten nicht in Access – aber mit Access
  • JSON ist der Standard – baue Dir eigene Funktionen zur Serialisierung
  • Validierung der Eingabedaten ist entscheidend
  • Logge alle Aufrufe und Ergebnisse (Tabelle tblML_Log)

Beispiel: JSON zusammenbauen in VBA

Public Function KundenToJSON(KundenID As Long) As String
    Dim rs As DAO.Recordset
    Set rs = CurrentDb.OpenRecordset("SELECT * FROM tblKunden WHERE ID=" & KundenID)

    KundenToJSON = "{""ID"":" & rs!ID & ",""Alter"":" & rs!Alter & ",""Umsatz"":" & rs!Umsatz & "}"
    rs.Close
End Function

Beispiel: Ergebnisfeld eintragen

Public Sub AktualisiereScore(KundenID As Long, Score As Double)
    CurrentDb.Execute "UPDATE tblKunden SET Score=" & Score & " WHERE ID=" & KundenID
End Sub

Geeignete Use Cases

  • Churn-Vorhersage
  • Kreditrisiko-Bewertung
  • Lead-Scoring
  • Rechnungsanomalien
  • Absatzprognosen

Fazit für die Praxis

Du baust kein ML-Modell in Access.
Aber Du machst es nutzbar – für Leute, die damit arbeiten.

Categories:

Tags:

No responses yet

Schreibe einen Kommentar

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