Die Aktion einer Benachrichtigung bewirkt nichts, oder es erscheint keine Benachrichtigung
Umgebung
WklToast ab 1.34, in Access sowie auf UserForms in Excel und Word.
Ursache
- Das Objekt, das die Benachrichtigung angezeigt hat, existiert nicht mehr. Das Ereignis
Actiongeht an dasWklToast-Objekt, das die Benachrichtigung angezeigt hat, und VBA liefert Ereignisse nur an eine Variable, die auf Modulebene eines Formular-, Berichts- oder Klassenmoduls mitWithEventsdeklariert ist. Eine Benachrichtigung, die über eine lokale Variable angezeigt wurde (Dim note As New WklToastin einer bereits beendeten Prozedur), löst ihre Ereignisse ins Leere aus. - Die Behandlungsroutine hat den falschen Namen. Die Prozedur muss nach der Variablen benannt sein:
mToast_ActionfürPrivate WithEvents mToast As WklToast. - Kein Fenster für die Benachrichtigung. Ohne
Formbraucht die Benachrichtigung das Access-Fenster (in anderen Hostanwendungen ein aktives Fenster); gibt es keines, löstShowden FehlerwkeNotAvailableaus, und es erscheint keine Benachrichtigung. - Die Benachrichtigung wurde mit ihrem Formular geschlossen. Eine mit
Formangezeigte Benachrichtigung schließt sich, wenn dieses Formular geschlossen wird (ClosedmitwtrOwnerClosed).
Lösung
- Halten Sie das Objekt auf Modulebene:
Private WithEvents mToast As WklToast, erzeugt inForm_Load, und wählen Sie in den Listen oben im CodefenstermToastundAction, damit VBA den Prozedurkopf schreibt. - Wo kein Modul zuhört (ein Standardmodul, eine Prozedur, die endet), geben Sie im letzten Argument von
Show,ActionFunction, eine Funktion an, zum Beispiel"=RegelWiederherstellen(17)"; Access wertet sie aus, wenn der Benutzer die Aktion wählt, gleich was aus dem Objekt geworden ist. Ein Fehler im Ausdruck erscheint in einem Meldungsfeld, wie bei einem Menüeintrag. - Zeigen Sie Benachrichtigungen, die ein Formular überdauern müssen, ohne
Forman, damit sie im Access-Fenster stehen.
Verwandte Themen
de/wiki/msaccess/comctl/troubleshooting/note-action-does-nothing.txt · Zadnja sprememba: uporabnika Wolfgang van der Stille