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.
Keine Antworten