 |
Dies ist ein
4 -Sterne-Beitrag von
Fit-for-Access.de |
Ist Ihnen das bei der Arbeit mit Formularen auch schon passiert? Wenn mehrere komplexe Formulare mit Unterformularen geöffnet sind und dann ein weiteres Formular geöffnet werden soll, zeigt Access häufig die Fehlermeldung „Mehr Datenbanken können nicht geöffnet werden“ an. Was bedeutet das? Hier ein Beitrag aus dem
Access-Berater, wie Sie diese Meldung in Zukunft umgehen können.
Eigentlich ist diese Fehlermeldung sogar irreführend, denn sie bezieht sich gar nicht auf Datenbanken, sondern auf Tabellen: Bei jedem Zugriff auf eine Tabelle beispielsweise über eine Abfrage, ein gebundenes Objekt (Formular, Unterformular, Bericht), eine SQL-Anweisung in der Eigenschaft „Datenherkunft“ oder „Datensatzherkunft“, eine Domänenfunktion wie „DLookup()“ oder über eine benutzerdefinierte Funktion, die Recordsets nutzt, vergibt Access eine so genannte „TableID“ und gibt diese erst wieder frei, wenn der damit verbundene „Datenempfänger“ geschlossen oder deinitialisiert wird. Irgendwann ist dieser Pool von TableIDs erschöpft, sodass Access die oben genannte Fehlermeldung anzeigt. Wo die Grenzen dieses Pools liegen, ist nicht dokumentiert.
Die häufigste Ursache für die erwähnte Fehlermeldung sind erfahrungsgemäß nicht korrekt deinitialisierte Objektvariablen beispielsweise in benutzerdefinierten Funktionen mit REcordsets. Hier reicht am Ende ein einfaches „db.Close“ oder „rs.Close“ nicht aus, die Objektvariablen müssen explizit mit „Set rs|db = Nothing“ deinitialisiert werden, damit verbundene TableIDs wieder freigegeben werden.
Zweithäufigste Ursache sind Listen- und Kombinationsfelder, die ihre Inhalte per SQL-Anweisungen über die Eigenschaft „Datensatzherkunft“ beziehen. Hier sollten Sie prüfen, ob nicht eventuell auf Werteliste umgestellt werden und der Aufbau der Auswahlen über Funktionen in „Form_Load“ erfolgen kann. Schließlich benötigen auch verschachtelte Abfragen und UNION-Abfragen sehr viele TableIDs, sodass Sie alternative Methoden wie benutzerdefinierte Funktionen in Betracht ziehen sollten.
Access_aktuell
Brandneue Tipps für Ihre Arbeit mit Access Zeit sparend, effizient und professionell!
Verbringen auch Sie viel zu viel Zeit mit der Suche nach der optimalen Lösung für ein Access-Problem? Wünschen Sie sich praxisnahe und direkt umsetzbare Access-Tipps, die ohne langes Gerede auf den Punkt kommen?
In
Access_aktuell müssen Sie sich in kein Thema umständlich einlesen, denn Sie suchen ja eine schnelle Lösung für Ihr Problem. Wenn Sie einen unserer Tipps umsetzen möchten, brauchen Sie dafür maximal 10 Minuten. Sie erhalten alle Erläuterungen und notwendigen Prozeduren leicht verständlich für den Praxiseinsatz aufbereitet.
Mit diesem nützlichen Profi-Know-how werden Sie zukünftig noch schneller und effizienter neue Datenbanken entwickeln und laufende Projekte optimieren.
Machen Sie
Access_aktuell zu Ihrem stärksten Verbündeten bei Ihrer täglichen Datenbank-Arbeit!
Lesen Sie hier mehr über „Access_aktuell“
Klicken Sie hier für Ihren kostenlosen „30-Tage-Gratis-Test“