Ich verwende derzeit Application.Quit
, wodurch eine Shell der MS Access-Anwendung geöffnet bleibt.
Nach der Verarbeitung der aufrufenden Funktion gegen die Zielanwendung bleibt jede Instanz der Anwendung noch offen; obwohl die spezifische Datenbankinstanz geschlossen ist.
Wie kann ich das Anwendungsfenster der Shell 'Shell' mithilfe von VBA programmatisch schließen?
Hier ist ein Beispiel, wie die Variable erstellt wird und wie ich sie schließe:
%Vor%Sie müssen Application.Quit für die Instanzvariable ausführen.
Zum Beispiel
%Vor%Gemäß der Dokumentation: Application.Quit macht dasselbe wie DoCmd.Quit . Nämlich
Die Quit-Methode beendet Microsoft Access. Sie können eine von mehreren auswählen Optionen zum Speichern eines Datenbankobjekts vor dem Beenden.
Sie können versuchen, einen von ihnen mit dem Parameter acQuitSaveNone
oder 2 aufzurufen, der "Microsoft Access beendet, ohne irgendwelche Objekte zu speichern". Bei weiterer Überprüfung verwenden Sie Application.Quit
als DoCmd.Quit
hinzugefügt für die Abwärtskompatibilität für Zugriff 95 (Siehe Anmerkungen für Quit-Methode, wie sie für das DoCmd-Objekt gilt.) Wenn Sie eine dieser Methoden ausführen, sollten Sie beim Schließen dennoch eine automatische Komprimierung durchführen, wenn Sie über die Berechtigungen verfügen, die die Ursache für Ihre Shells sein können. p>
Wenn das für Sie nicht funktioniert, ist hier ein etwas extremer Vorschlag. Speichern Sie diese Datei als VBScript-Datei und rufen Sie sie auf, sobald Sie wirklich mit Access fertig sind. Dies beendet alle MSAccess-Prozesse auf Ihrem Windows-PC, ohne Komprimierung und Reparatur.
%Vor%Um das Skript aufzurufen, das [vbspath] durch den tatsächlichen Pfad ersetzt. Wenn der Pfad Leerzeichen enthält, verwenden Sie doppelte Anführungszeichen und setzen Sie ihn in Anführungszeichen:
%Vor% Ich verwende immer DoCmd.Quit acQuitSaveAll
.
Dies funktioniert zumindest in Access 2000, 2003 und 2010 (dort habe ich gesehen es funktioniert).
Wechseln Sie das Formular in die Entwurfsansicht.
Setzen Sie die BorderStyle
-Eigenschaft des Formulars auf None
.
Klicken Sie im Menü Anzeigen auf Formularansicht . Beachten Sie, dass die Titelleiste des Formulars vollständig entfernt wird.
Tags und Links vba database ms-access access-vba ms-access-2003