Warum Access + KI?

Weil Du Daten hast – und daraus automatisch Inhalte machen willst.
Ein Text pro Kunde. Ein Bild pro Produkt.
Du brauchst keine neue Plattform. Nur ein REST-Aufruf aus Access.

Ich zeig Dir, wie Du mit VBA Inhalte generierst:
Texte via ChatGPT, Bilder via DALL·E.

Voraussetzungen

  • OpenAI API-Key
  • Internetzugang aus Access
  • Tabellen für Prompts, Antworten, Bild-URLs

Tabellenstruktur (Beispiel)

TabelleZweck
tblPromptsEingaben für Text/Bild
tblTexteGPT-Antworten
tblBilderURLs zu generierten DALL·E-Bildern

GPT: Texte erzeugen mit ChatGPT (GPT-4 oder 3.5)

Text-Request in VBA senden

Function GeneriereText(prompt As String) As String
    Dim http As Object
    Dim apiKey As String
    Dim json As String
    Dim response As String

    apiKey = "DEIN_OPENAI_API_KEY"

    json = "{" & _
           """model"":""gpt-4""," & _
           """messages"":[{""role"":""user"",""content"":""" & Replace(prompt, """", "\""") & """}]" & _
           "}"

    Set http = CreateObject("MSXML2.ServerXMLHTTP")
    http.Open "POST", "https://api.openai.com/v1/chat/completions", False
    http.setRequestHeader "Content-Type", "application/json"
    http.setRequestHeader "Authorization", "Bearer " & apiKey
    http.send json

    response = http.responseText
    GeneriereText = ExtrahiereText(response)
End Function

JSON-Antwort extrahieren

Function ExtrahiereText(json As String) As String
    Dim sc As Object
    Set sc = CreateObject("ScriptControl")
    sc.Language = "JScript"
    sc.AddCode "function parse(j){return JSON.parse(j).choices[0].message.content;}"
    ExtrahiereText = sc.Run("parse", json)
End Function

DALL·E: Bilder generieren per Prompt

Bild-Request senden

Function GeneriereBild(prompt As String) As String
    Dim http As Object
    Dim json As String
    Dim apiKey As String
    Dim response As String

    apiKey = "DEIN_OPENAI_API_KEY"

    json = "{" & _
           """prompt"":""" & Replace(prompt, """", "\""") & """," & _
           """n"":1," & _
           """size"":""1024x1024""" & _
           "}"

    Set http = CreateObject("MSXML2.ServerXMLHTTP")
    http.Open "POST", "https://api.openai.com/v1/images/generations", False
    http.setRequestHeader "Content-Type", "application/json"
    http.setRequestHeader "Authorization", "Bearer " & apiKey
    http.send json

    response = http.responseText
    GeneriereBild = ExtrahiereBildURL(response)
End Function

Bild-URL extrahieren

Function ExtrahiereBildURL(json As String) As String
    Dim sc As Object
    Set sc = CreateObject("ScriptControl")
    sc.Language = "JScript"
    sc.AddCode "function getUrl(j){return JSON.parse(j).data[0].url;}"
    ExtrahiereBildURL = sc.Run("getUrl", json)
End Function

Anwendung im Formular

Private Sub btnGenerieren_Click()
    Dim prompt As String
    Dim text As String
    Dim bildURL As String

    prompt = Me.txtPrompt

    text = GeneriereText(prompt)
    bildURL = GeneriereBild(prompt)

    Me.txtErgebnis = text
    Me.txtBildURL = bildURL

    Call SpeichereErgebnisse(prompt, text, bildURL)
End Sub

Ergebnisse speichern

Sub SpeichereErgebnisse(prompt As String, text As String, bildURL As String)
    CurrentDb.Execute "INSERT INTO tblTexte (Prompt, Antwort, Zeitstempel) VALUES ('" & _
                      Replace(prompt, "'", "''") & "','" & Replace(text, "'", "''") & "', Now())"

    CurrentDb.Execute "INSERT INTO tblBilder (Prompt, BildURL, Zeitstempel) VALUES ('" & _
                      Replace(prompt, "'", "''") & "','" & bildURL & "', Now())"
End Sub

Was Du automatisieren kannst

  • Produktbeschreibungen aus Artikelstammdaten
  • Bilder für Social Media Posts
  • Texte für Serienmails, Angebote, Stellenanzeigen
  • FAQ-Antworten auf Kundenanfragen

Was Du beachten musst

  • GPT und DALL·E kosten pro Aufruf → Quoten prüfen
  • Prompts standardisieren → Tabellen verwenden
  • Keine vertraulichen Daten senden
  • Fehler abfangen (Timeouts, Rate-Limits etc.)

„Access kann schreiben und malen – wenn’s wer anders für ihn tut.“

Wenn Du KI aus Access heraus steuern willst – ich setz Dir das sauber auf.
Einfach. Robust. Ohne Cloud-Geblubber.

Tags:

No responses yet

Schreibe einen Kommentar

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