Newsgroup: it.comp.appl.access
Titolo: Mi diventa sempre più grosso....

...l'MDE:-)
Perchè, se ho solo tabelle allegate (a parte una dove ho memorizzato i 
parametri di connessione ma che non viene scritta praticamente mai)?
Non ricordo mi sia mai successa una cosa del genere con A97, ora uso A2003.
Saluti.
Luciano

 Saluti.
Faceva cosě anche il 97: con l'uso diventava sempre piů grosso (l'MDE) 
;-)
Probabilmente vengono utilizzate delle aree temporanee locali da JET per 
eseguire le queries e/o altro.
Cmq č molto raro che un .MDE (o meglio, la sua parte "database") si 
corrompa, ma c'č chi, per sicurezza, su chiusura sostituisce automaticamente 
il Front-End con una copia immacolata.
Ciao: Oscar

 automaticamente il Front-End con una copia immacolata.
Come?
Saluti.
Luciano

 Come?
Cartella programmi può contenere:
1- TuaApplicazione.MDE
2- TuaApplicazione.XXX   (copia di backup, rinominata, del tutto identica)
3- Servizio.MDE
Su uscita di TuaApplicazione.MDE esegui in Shell Servizio.MDE, il quale 
sostituisce la copia di backup all'originale...

 sostituisce la copia di backup all'originale...
Temo di non aver capito bene....
Apro MDE1, in uscita da shell apro MDE2 il quale va a sovrascrivere MDE1 con
una copia intonsa?
Ma se č cosě, il primo non č ancora in esecuzione e quindi non
sovrascrivibile?
Saluti.
Luciano

 sovrascrivibile?
No, in uscita da MDE1 chiami in shell Servizio.MDE, il quale provvede a 
sovrascrivere MDE1 con una copia intonsa.
In tal modo il primo non č in esecuzione durante l'operazione...
Ciao: Oscar 

 sovrascrivere MDE1 con una copia intonsa.
Non è la stessa cosa?:-)
MDE1 chiama in shell MDE2 (o servizio.MDE) il quale prende una copia intonsa
di MDE1 e ci sovrascrive l'MDE1 che ha originato la chiamata.
Cmq ho provato così e mi dice autorizzazione negata.
Su db1;
strappcmd = Chr$(34) & SysCmd(acSysCmdAccessDir) & "MSACCESS.EXE" & Chr$(34) 
& " " & Chr$(34) & "c:\db2.mdb"
retval = Shell(strappcmd, vbMaximizedFocus)
Su db2 (con macro autoexec)
FileCopy "c:\db3.mdb", "c:\db1.mdb"
Saluti.
Luciano

 FileCopy "c:\db3.mdb", "c:\db1.mdb"
Probabilmente sbaglio io: considera che mi "sono buttato" con un'idea, ma 
personalmente ho sempre tenuto gli MDE originali...
Comunque, per curiosità, prova a visualizzare un MSGBOX all'avvio di DB2, 
prima d'effettuare il FileCopy.
Cambia qualcosa?
Un'alternativa potrebbe essere fare tutto all'avvio invece che su chiusura:
1- L'icona d'avvio della tua applicazione esegue Servizio.MDE invece che 
DB1.
2- Il programma in oggetto effettua il FileCopy che sai, ricreando una copia 
intonsa di DB1 da DB3.
3- Quindi Avvia DB1
Forse opera così Sergio Mazza con i suoi FE (mi pare fosse stato lui a 
lanciare l'idea).
Ciao: Oscar

 prima d'effettuare il FileCopy.
.... MSGBOX ("qualunque cosa")
Per vedere se così ha il tempo di togliere dalla memoria DB1. 

 Per vedere se cosě ha il tempo di togliere dalla memoria DB1.
Cosě funziona, ma in questo modo la procedura non č piů trasparente 
all'utente.
Ho provato a metterlo in standby per 10 sec prima di sovrescrivere, ma da 
sempre errore. Viceversa, se lo eseguo passo passo, bastano anche meno di 10 
secondi per dargli il tempo di chiudere db1.
Mah!
Grazie per le indicazioni.
Saluti.
Luciano 

 Mah!
Qualche doevents sperso lo hai provato?
--
ac

Alessandro Cara ha scritto:
P.S:
Ti succede anche togliendo il remove della cartella?
A logica senza la eliminazione della cartella non ti dovrebbe succedere
--
ac

Alessandro Cara ha scritto:
P.P.S:
Ho sbagliato post!
Questo era quello che ingrossava, non l'errore curioso.
Domanda. Ma su quell'MDE generi tabelle temporanee?
Se si prova a mettere le temporanee fuori dall'MDE.
A me non e' mai successo quello che descrivi.
Ma io "aborro" le temporanee e a meno che non mi minaccino non le uso e 
se proprio devo le appoggio su un db esterno usato solo a questo scopo.
--
ac


Succede, succede ... anche senza Tmp.
Ciao: Oscar 

Oscar Mafredini ha scritto:

Mi fido. Sei come il lassativo Falqui. (cit. 
http://it.wikipedia.org/wiki/Tino_Scotti
)
--
ac

 proprio devo le appoggio su un db esterno usato solo a questo scopo.
E' esattamente quello che faccio:-)
Saluti.
Luciano