Benutzerinteraktion: Wie kann ich Benutzerfeedback in Access-Anwendungen integrieren?

Warum Feedback in Access?

Wenn Du willst, dass Deine Anwendung besser wird – hör auf die Benutzer.
Nicht ĂŒber E-Mail. Nicht mĂŒndlich.
Direkt im Formular.

Kurz, strukturiert, nachvollziehbar.

Variante 1: internes Feedbackformular

Tabelle anlegen: tblFeedback

  • ID (Autowert)
  • Benutzername
  • Zeitpunkt
  • Bereich
  • Feedbacktext
  • Bewertung (1–5)
  • Bearbeitet (Ja/Nein)

Formular bauen: frmFeedback

Einfaches Pop-up mit Textfeld, Dropdown „Bereich“, Bewertungsfeld.
Button „Absenden“

Code zum Speichern

Private Sub cmdSenden_Click()
    If IsNull(Me.txtFeedback) Then
        MsgBox "Bitte ein Feedback eingeben.", vbExclamation
        Exit Sub
    End If

    CurrentDb.Execute "INSERT INTO tblFeedback (Benutzername, Zeitpunkt, Bereich, Feedbacktext, Bewertung) " & _
                      "VALUES ('" & Environ("USERNAME") & "', Now(), '" & Me.cboBereich & "', '" & Replace(Me.txtFeedback, "'", "''") & "', " & Nz(Me.nudBewertung, 0) & ")", dbFailOnError

    MsgBox "Danke. Feedback wurde gespeichert.", vbInformation
    DoCmd.Close acForm, Me.Name
End Sub

Variante 2: Feedback direkt aus einem Formular heraus

In jedem Formular ein kleiner Button „Feedback geben“.
Öffnet frmFeedback mit vorausgefĂŒlltem Bereich.

DoCmd.OpenForm "frmFeedback", , , , , , "frmKunden"

Im Lade-Ereignis:

If Not IsNull(Me.OpenArgs) Then
    Me.cboBereich = Me.OpenArgs
End If

Variante 3: Feedback anonym per Textdatei ablegen

Kein Datenbankzugriff? Kein Problem.

Public Sub SchreibeFeedback(txt As String)
    Dim f As Integer
    f = FreeFile
    Open "C:\Feedback\feedback_" & Format(Now, "yyyymmdd_hhnnss") & ".txt" For Output As #f
    Print #f, "Benutzer: " & Environ("USERNAME")
    Print #f, "Zeit: " & Now()
    Print #f, "Text: " & txt
    Close #f
End Sub

Funktioniert auch, wenn das Backend schreibgeschĂŒtzt ist.

Variante 4: Feedback extern melden (z. B. per REST)

Feedback per API an eine zentrale Stelle schicken.

Public Sub FeedbackSenden(txt As String)
    Dim http As Object
    Set http = CreateObject("MSXML2.XMLHTTP")

    Dim payload As String
    payload = "{""user"":""" & Environ("USERNAME") & """, ""text"":""" & Replace(txt, """", "'") & """}"

    http.Open "POST", "https://meinefirma.de/api/feedback", False
    http.setRequestHeader "Content-Type", "application/json"
    http.Send payload
End Sub

Wird zentral gespeichert, evtl. auch benachrichtigt.

Variante 5: Bewertung pro Formular/Modul

Du willst wissen, wo’s klemmt?
Dann bau eine Bewertungsfunktion in jedes Modul.

Private Sub cmdBewerten_Click()
    Dim score As Integer
    score = MsgBox("War dieses Formular hilfreich?", vbYesNo + vbQuestion)
    If score = vbYes Then
        Call LogBewertung(Me.Name, 5)
    Else
        Call LogBewertung(Me.Name, 2)
    End If
End Sub

Public Sub LogBewertung(modul As String, punktzahl As Integer)
    CurrentDb.Execute "INSERT INTO tblFeedback (Benutzername, Zeitpunkt, Bereich, Bewertung) VALUES " & _
                      "('" & Environ("USERNAME") & "', Now(), '" & modul & "', " & punktzahl & ")", dbFailOnError
End Sub

Tipps zur Auswertung

  • wöchentliche Auswertung per Abfrage: TOP 5 Probleme
  • offene Punkte mit Bearbeitet=False listen
  • Entwickleransicht: Gruppierung nach Formular
  • regelmĂ€ĂŸige RĂŒckmeldung an Benutzer („Danke fĂŒr den Hinweis…“)
  • automatische E-Mail bei Feedback mit Bewertung < 3

Also

Feedback ist kein Nice-to-have.
Es ist Deine Fehlerquelle, Deine Feature-Wunschliste, Dein FrĂŒhwarnsystem.
Mach es den Nutzern leicht, sich zu melden – direkt im Tool.

Kategorien:

Keine Antworten

Schreibe einen Kommentar

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