Secondo la documentazione: Application.Quit fa la stessa cosa di DoCmd.Quit. Vale a dire
Il metodo Quit si chiude Microsoft Access. È possibile selezionare una delle diverse opzioni per salvare un oggetto di database prima di uscire.
Si può provare a chiamare una di esse con il parametro acQuitSaveNone
o 2, che "si chiude Microsoft Access senza salvare alcun oggetto". Dopo un'ulteriore revisione, utilizzare Application.Quit
come DoCmd.Quit
come added for backward compatibility for Access 95 (vedere le osservazioni per il metodo Quit come si applica all'oggetto DoCmd.) Se si dispone di una di queste deve comunque eseguire una chiusura automatica alla chiusura se si dispone delle autorizzazioni, che potrebbero essere la causa di conchiglie.
Se ciò non funziona per voi, ecco un suggerimento un po 'estremo. Salvalo come un file vbscript e chiamalo quando hai veramente finito con Access. Questo interromperà tutti i processi di MSAccess sul tuo pc Windows, senza compattare e riparare.
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcessList = objWMIService.ExecQuery _
("SELECT * FROM Win32_Process WHERE Name = 'msaccess.exe'")
For Each objProcess in colProcessList
objProcess.Terminate()
Next
Per chiamare lo script che sostituisce [vbspath] con il percorso corrente. Se il percorso contiene spazi assicurarsi di usare le virgolette e metterlo tra virgolette:
shell "cscript [vbspath]"
fonte
2012-09-17 22:22:36
Come stai invocando queste 50 conchiglie? Hai aperto ognuno di questi manualmente o sono stati aperti dal codice? – dmarra
Aperto dal codice. –