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.
No responses yet