vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: Access   |   VB-Versionen: VBA04.03.05
ACCESS 2000: Fehler 3420 - Objekt ungültig

Dieser Tipp zeigt eine Lösung auf, wenn sich Access 2000 aus irgendeinem Grund urplötzlich mit dem Fehler 3420 meldet.

Autor:   Richard MittelstädtBewertung:  Views:  18.230 
ohne HomepageSystem:  Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11kein Beispielprojekt 

Hatten Sie auch schon einmal das Problem, dass sich Access 2000 aus irgendeinem Grund und natürlich urplötzlich mit dem Fehler "3420 - Objekt ungültig" meldet?

Das eigenartig daran: Die Datenbank-Anwendung lief die Ganze korrekt und komischerweise lässt sich das Problem auch nicht auf jeden PC nachvollziehen Nur auf bestimmten PC's Ihrer Kunden kommt es auf einmal zu besagter unscheinbarer Fehlermeldung.

Auch das sonst allwissende Internet scheint für dieses Problem keine Lösung parat zu haben - zumindest habe ich diesbezüglich nichts finden können, wenngleich der Fehler sehr wohl bekannt ist.

Durch eine einzige Codezeilen-Änderung lässt sich das Problem nun doch in den Griff bekommen!

Schuld an der ganzen Misere ist der Requery-Aufruf:

Me.Requery

Wenn man diese Codezeile durch folgende Zeile ersetzt ist das Problem behoben!!!

Me.RecordSource = Me.RecordSource
Me.OrderByOn = Me.OrderByOn ' sonst geht die Sortierung flöten: 2005-04-20

Reproduktion des Fehlers
Wer den Fehler zufällig einmal bekommt, der sollte einfach einmal eine "Test-Schaltfläche" im Hauptforumular anlegen, die beim Klick ein "Requery" ausführt. Dadurch stellt man sehr schnell fest, dass nach bestimmten Aktionen in Richtung Recordsource des Hauptformulars der besagte Fehler 3420 ausgelöst wird und die MessageBox entsprechend der Anzahl der Datensätze unaufhörlich erscheint. Wenn dies der Fall ist, einfach die ESC-Taste gedrückt halten und gleichzeitig irgendwo auf Beenden klicken, um die Anwendung zu stoppen.

Um das Ganze auch auf einem funktionsfähigen PC nachvollziehen zu können, bitte wie folgt vorgehen (aber wie gesagt: nicht auf allen PC's lässt sich der Fehler reproduzieren!).

1. Bestehende Datenbank-Anwendung öffnen
Fügen Sie jetzt oben erwähnte Schaltfläche ein und führen Sie nun die verschiedensten Datenbank-Zustände (Aktionen) aus.

2. Hauptformular mit Kombinationsfelder erstellen, deren RowSource-Eigenschaften einfach auf die Tabelle beruhen. Die Eigenschaft "Doppelklick" der Kombinationsfelder so schreiben, dass ein Formular geöffnet wird, welches genau diese Werte enthält. Es reicht aus, dieses Formular einfach nur zu schließen. Beim nächsten Requery des Hauptformulars kommt der besagte Fehler.

Wie gesagt: in diesem Fall die Requery-Methode durch obigen Code ersetzen - und das in allen Modulen des Projekts.
 



Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
 
Copyright ©2000-2024 vb@rchiv Dieter OtterAlle Rechte vorbehalten.


Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.