Newsgroup: it.comp.appl.access
Titolo: Chiusura "sporca" di Access.

Nelle mie applicazioni, in genere, metto un pulsante "Uscita" nella maschera principale, con cui è chiamato un semplice:
    Application.Quit acQuitSaveNone
Ora noto che, uscendo in questo modo, spesso ho dei problemi: nella Gestione Attività di Windows, tra i processi, continua a comparirmi MSACCESS.EXE e il programma che avevo chiuso, se richiamato, non mi riparte: devo prima terminare il processo.
Se invece chiudo l'applicazione con la "X" della finestra principale, va tutto bene.
Ho cercato di capire se lasciavo attiva qualche variabile di tipo Recordset, o se c'era qualche pasticcio nel codice, ma nella mia ingenuità non trovo nulla, e d'altra parte sarebbero cose superate dalla "X" e non dal Quit.
Qualcuno può suggerirmi ipotesi?
Grazie a tutti
Riccardo Baldinotti

Purtroppo nessuno oltre te puo trovare l'arcano...
A me vengono in mente queste cose da controllare:
1) Form Hidden aperta
2) Connessione aperta
3) Qualche errore su Unload della MainForm...(Hai la gestione errori...?)
 
Dando per scontato tu abbia un Option Explicit SEMPRE... nei moduli VBA.
 
Il pulsante [X] della MDI credo possa effettuare la chiusura in modo doverso come priorità essendo un comando non di Access ma delle WinForm, e magari lancia un PostMessage(WM_CLOSE) al SO...,non gli interessa nulla se il processo ha pendenze forza e chiude tutto... 
Mentre il tuo Quit essendo un'istruzione interna del VBA viene processata... e solo se quadra tutto agisce correttamente... andrebbe analizzata ma credo serva a poco...
 
@Alex 
 
@Alex
 


Purtroppo niente da fare. Option Explicit c'è; non ci sono maschere nascoste ma ad ogni buon conto ho fatto chiudere prima le uniche due maschere aperte; ho provato a mettere una routine in UnLoad ma non dà errore.
Boh!
RB

 ha scritto nel messaggio 
news:1f6e2698-24f7-4a9f...@googlegroups.com...

Strano.
Fa la stessa cosa anche se utilizzi Docmd.Quit?
 
Saluti. 
 
 

 ...
 
Manca la versione di Access.
Se si tratta di una version vecchia qualche volta aiuta di sostituire 
Application.Quit con DoCmd.Quit
 
-- 
Ciao
Karl
*********
Access FAQ:  
http://www.donkarl.com/it
 


Scusate, me ne sono dimenticato. Ho A2010.
Riccardo Baldinotti


E:sì, lo fa anche con Docmd.Quit.
RB

 ...niente da fare... ho fatto chiudere prima le uniche due maschere aperte...
 
Altri candidati e prove:
 
- "compatta alla chiusura" attivata?
- Siccuro che sei l'unico utente (e processo) che usa il file?
- Dal codice (o p.e. ActiveX) usi risorse fuori del file (o viceverso)? 
Altri programmi di Office ecc.
- Usi recordset di DAO? Come sono dicchiarati? (p.e. sempre un nuovo 
Currentdb?). In una copia del db prova di disattivare i recordset 
(commento) fino a quando il problema non succede più.
- Prova se succede anche con Application.Close nelle altre maschere
- Si tratta di un frontend con backend separato?
- Da dove vengono i dati? Tabelle locali o collegate? Di Access o di un 
sistema diverso?
- Tutte le maschere sono legate a tabelle/query? Anche la maschera 
principale? Se sì, certo solo per le prove in una copia, forse puoi 
togliere le origine dati una dopo l'altra.


 
Ho tolto tutte le origini dati: dalla maschera e da due caselle combinate. Tutto come prima.
 
Grazie. Ora continuerò con qualche prova.
Riccardo Baldinotti

 Sì, attivata...
 
Prova di disattivarla.


 
Ho provato e poi sono uscito qualche volta. Così va bene. Non c'è il rischio che il db diventi troppo grande?
Riccardo Baldinotti 

 Ho provato e poi sono uscito qualche volta. Così va bene. Non c'è il rischio che il db diventi troppo grande?
 
1. Non so cosa fai l'applicazione. Però di solito per un FE dura fino a 
quando arriva ad una grandezza dove inizia ad essere un problema.
 
2. Persino se succede, di solito non interessa. Il FE è la parte più a 
buon mercato e puo essere scambiato/ridistribuito in pochi secondi ogni 
giorno se serve, p.e. con un semplice tool gratis 
(
http://www.donkarl.com?FAQ1.35
).


 (
http://www.donkarl.com?FAQ1.35
).
 
intendevo: 
http://www.donkarl.com/it?FAQ1.35
 
 
 
 


Grazie.
Riccardo Baldinotti