Color scheme: Dark
You are here: start » de » Dokumentation » Werkzeuge für Microsoft Access » WKL Forms Object Library » Status und Rückmeldung » WklToast » Eine Benachrichtigung mit Rückgängig anzeigen

Eine Benachrichtigung mit Rückgängig anzeigen

In diesem Tutorial bauen Sie eine Liste von Regeln. Wird eine Regel gelöscht, erscheint die Benachrichtigung „Regel gelöscht“ mit Rückgängig, und Rückgängig holt die Regel zurück.

Voraussetzungen

  • Microsoft 365 Access oder Access Runtime, in 32 oder 64 Bit, mit der WKL Forms Object Library 1.34 oder höher, installiert und für den aktuellen Windows-Benutzer registriert (Freigegebenes Paket installieren).
  • Eine neue oder vorhandene Datenbank an einem vertrauenswürdigen Speicherort.

Schritte

1. Beispieltabelle anlegen

Fügen Sie die Prozedur in ein Standardmodul ein und führen Sie sie einmal im Direktbereich aus (CreateNoteSample):

Public Sub CreateNoteSample()
    With CurrentDb
        .Execute "CREATE TABLE tblRegel (ID LONG CONSTRAINT PK_Regel PRIMARY KEY, Name TEXT(50), Geloescht YESNO)"
        .Execute "INSERT INTO tblRegel VALUES (1, 'Mahnung nach 30 Tagen', False)"
        .Execute "INSERT INTO tblRegel VALUES (2, 'Rabatt ab 1000 EUR', False)"
    End With
End Sub

2. Verweis setzen

Wählen Sie im VBA-Editor Extras › Verweise und setzen Sie das Häkchen bei WKL Forms x.y Object Library. WklToast ist kein Steuerelement; Access setzt den Verweis daher nicht von selbst.

3. Formular erstellen

Erstellen Sie ein Endlosformular frmRegeln mit der Datenherkunft SELECT * FROM tblRegel WHERE Not Geloescht, einem an Name gebundenen Textfeld Name und einer Befehlsschaltfläche cmdLoeschen (Beschriftung Löschen) im Detailbereich.

4. Modul schreiben

Option Compare Database
Option Explicit
 
Private WithEvents mToast As WklToast
 
Private Sub Form_Load()
    Set mToast = New WklToast
End Sub
 
Private Sub cmdLoeschen_Click()
    Dim id As Long, ruleName As String
    If IsNull(Me!ID) Then Exit Sub
    id = Me!ID
    ruleName = Me!Name
    CurrentDb.Execute "UPDATE tblRegel SET Geloescht = True WHERE ID = " & id, dbFailOnError
    Me.Requery
    mToast.Show "Regel """ & ruleName & """ gelöscht.", wtkSuccess, , "Rückgängig", id
End Sub
 
Private Sub mToast_Action(ByVal Id As Long, ByVal Tag As Variant)
    CurrentDb.Execute "UPDATE tblRegel SET Geloescht = False WHERE ID = " & Tag, dbFailOnError
    Me.Requery
End Sub

5. Ausprobieren

Öffnen Sie das Formular und klicken Sie bei der ersten Regel auf Löschen: Die Regel verschwindet aus der Liste, und unten rechts im Access-Fenster erscheint eine grüne Benachrichtigung. Klicken Sie innerhalb von 8 Sekunden auf Rückgängig oder drücken Sie Strg+Umschalt+Z: Die Regel ist zurück. Der Fokus bleibt die ganze Zeit im Formular.

Erwartetes Ergebnis

  • Jedes Löschen zeigt eine Benachrichtigung; nach 8 Sekunden schließt sie sich selbst.
  • Rückgängig über den Link, mit Strg+Umschalt+Z oder mit F6 und anschließend der Eingabetaste holt die Regel zurück.
  • Eine Benachrichtigung bleibt sichtbar, wenn das Formular geschlossen wird, ihr Rückgängig bewirkt dann aber nichts mehr: Das Modul eines geschlossenen Formulars hört nicht mehr zu. Diesen Fall deckt ActionFunction ab (siehe die Anleitung).

Nächste Schritte

de/wiki/msaccess/comctl/status-and-feedback/toast/tutorial.txt · Last modified: by Wolfgang van der Stille