Farbschema: Riviera
Sie befinden sich hier: start » de » Dokumentation » Werkzeuge für Microsoft Access » WKL Forms Object Library » troubleshooting » Kopieren und Einfügen scheitern nach vielen Access-Sitzungen

Kopieren und Einfügen scheitern nach vielen Access-Sitzungen

Kopieren und Einfügen funktionieren in keinem Programm der Windows-Sitzung mehr, auch außerhalb von Access; Access meldet bei Automatisierungs- oder DDE-Aufrufen den Fehler 0x80070008 („nicht genügend Arbeitsspeicher“) und verhält sich unberechenbar.

Umgebung

Windows 10 und 11 mit Microsoft 365 Access, auf PCs, auf denen Access in einer Windows-Sitzung sehr oft gestartet und beendet wird, zum Beispiel durch einen geplanten Auftrag oder automatisierte Tests. Nicht spezifisch für die WKL-Steuerelemente.

Ursache

Windows führt je Sitzung eine globale Atomtabelle mit 16.384 Einträgen; ein Eintrag wird erst frei, wenn sein Besitzer ihn löscht oder der Benutzer sich abmeldet. Mit Access sammeln sich zwei Arten von Einträgen an:

  • Jedes Access, das mit Quit endet, hinterlässt einen Eintrag MSAccess<process id>; ein im Task-Manager beendetes Access hinterlässt keinen.
  • Barrierefreiheitsanfragen an ein Access-Datenblatt (eine Tabelle, eine Abfrage, ein Unterformular in der Datenblattansicht) hinterlassen einen Eintrag MSAA:..., wenn das anfragende Programm die Antwort nie abholt. Solche Einträge stammen vom eigenen Datenblattfenster von Access, auch in einer Datenbank ganz ohne WKL-Steuerelement; die Fenster der WKL-Steuerelemente beantworten solche Anfragen, ohne Einträge zu hinterlassen.

Ist die Tabelle voll, scheitern die Zwischenablage (OLE-Kopieren und -Einfügen, auch zwischen anderen Programmen), DDE und manche Automatisierungsaufrufe.

Lösung

  1. Melden Sie sich bei Windows ab und wieder an, oder starten Sie neu: Nur so wird die Tabelle geleert.
  2. Für Aufträge, die Access automatisieren: Beenden Sie Access mit Quit und warten Sie, bis der Prozess beendet ist, und starten Sie nicht für jeden kleinen Schritt ein neues Access.
  3. Für Werkzeuge, die Access über UI Automation lesen: Suchen Sie die Fenster Ihres eigenen Access-Prozesses über ihr Handle, statt den ganzen Desktop zu durchsuchen, und fragen Sie kein beschäftigtes oder hängendes Fenster an.
de/wiki/msaccess/comctl/troubleshooting/clipboard-fails-after-many-access-sessions.txt · Zuletzt geändert: von Wolfgang van der Stille