Elite Veteran
Beiträge: 868
Ort: Wien | Hallo!
Bronimus
für einen Bericht hatte ich die Daten per Union-Abfrage aufbereitet, die allerdings sehr lange dauerte.
Deshalb habe ich jetzt die Daten per VBA-Modul in eine temporäre Tabelle erzeugt, was ungleich schneller läuft.
Der Bericht wird aus einem Formular aufgerufen, dass mehrere Berichte enthält.
Im VBA-Code dieses Formulars werden die Daten aufbereitet und in einer temp. Tabelle gespeichert.
Diese Tabelle dient jetzt als Datenquelle für den Bericht.
Nach der Ausgabe des Berichts möchte ich die temp. Tabelle wieder löschen, erhalte jedoch den "Klassiker" Laufzeitfehler 3211.
Ich habe mich bereits mehrfach überzeugt, dass das Recordset nach dem Erstellen der Tabelle ordnungsgemäß geschlossen wird.
Egal, wo ich es versucht habe, ob im Report_Close-Ereignis oder im Formular für die Berichte nach der Ausgabe des Berichts, stets kommt es zu dem Fehler.
Wie kann ich feststellen, wer der Verursacher ist und dies korrigieren?
Schwer zu sagen, ohne zu sehen, was du an Access- und Codeobjekten offen hast. Meistens liegt es an der Programmierung, z.B. irgendein Recordset offen.
Das Problem lässt sich meistens dadurch vermeiden, dass man nicht die Tabelle löscht sondern nur ihre Daten. Ich mache das grundsätzlich so, also diese "Arbeitstabellen" dauerhaft stehen lassen. und nur jeweils Daten löschen und neu befüllen. Das ist in mehrfacher Hinsicht unproblematischer.
----- Servus
Karl
*********
Access-Entwickler-Konferenz: https://www.donkarl.com/?aek - Jetzt anmelden für 19./20.10. in Nürnberg
Access DevCon Vienna: https://www.donkarl.com/devcon
Access Forever: https://www.accessforever.org
Access News: https://www.youtube.com/playlist?list=PLVCeBbJIMDvdJ8ghMbEakJ6_EQyvy... |