Newsgroup: it.comp.appl.access
Titolo: database FE-BE: aggiornamenti "automatici".

salve a tutti!
ho un database diviso in front-end e back-end.
ogni volta che rilascio un aggiornamento si verifica una situazione per cui 
invio il file BE il file FE al destinatario, il quale li copia nella 
cartella condivisa che si trova sul server (es: H:\DB\).
a questo punto, inizialmente, ad ogni utente doveva venir notificato "a 
voce" che bisognava copiare il FE in una cartella del propria postazione 
(es: C:\) essendo la cosa chiaramente fastidiosa da gestire, ho creato una 
variabile globale e all'avvio del FE questa viene confrontata con un valore 
messo in un campo di una tabella del BE. se i due sono diversi viene avviata 
la procedura che segue:
  MsgBox "ATTENZIONE:" _
  & Chr(13) & "Il software è stato aggiornato alla nuova versione." _
  & Chr(13) & "Per completare l'aggiornamento ecc ecc..", vbExclamation, 
"mioDb v." & SoftVerFE
'copia nuovo file
  FileCopy PathCorrente & "DB\FE.mdb", "C:\FE_.mdb"
'apre C:\
  Dim stAppName As String
  stAppName = PathWin & "explorer.exe C:\"
  Call Shell(stAppName, 1)
'esce
  Application.Quit acQuitSaveNone
il problema è che al momento attuale bisogna eliminare il file FE.mdb da C:\ 
a mano, e rinominare il FE_.mdb in FE.mdb.
io vorrei invece che il vecchio C:\FE.mdb venissa "sostituito" dal nuovo 
contenuto della catella condivisa H:\DB, ma non riesco a gestire questa 
automazione una volta uscito dal FE corrente.
come potrei fare?
ho letto messaggi passati riguardanti i file batch, ma non ho trovato nulla 
che servisse al caso mio..
grazie
em.an 

 ha scritto nel messaggio 
news:45da3b71$0$20821$5fc...@news.tiscali.it...

Kill PathCorrente & "DB\FE.mdb" non fa al caso tuo ?
Io mi trovo ad avere un'applicazione presso un cliente con la stessa 
problematica. Ho risolto facendo in modo che il front end venga caricato 
direttamente da H e non da C. Così ogni eventuale variazione se la ritrovano 
subito. C'è un motivo per cui tu hai scartato questa possibilità ?
Ciao
Antonio

 ha scritto nel messaggio
news:45dc6f6c$0$7750$5fc...@news.tiscali.it...

ciao Antonio,
nel mio caso l'unità H è un'unità di rete, localizzata sul server,
contenente il BE e la nuova release del FE (FE che faccio copiare in C:\ di
ciascun client). non abbia senso far usare la copia di FE localizzata in
questa unità a più utenti: renderebbe inutile aver separato il database in
front-end a back-end, o sbaglio?
per quanto riguarda il comando "kill" a che punto della mia routine dovrei
usarlo?
grazie,
em.an.

 ha scritto nel messaggio 
news:45dcefc2$0$7733$5fc...@news.tiscali.it...

Il comando kill cancella il file, quindi dovresti metterlo subito prima del 
comando che copia da H a C. Per l'altra questione, le cose stanno così.
Quando Access carica un'applicazione, da quasiasi parte la carichi, la porta 
nella memoria del pc in cui sta lavorando, quindi se anche 10 utenti la 
caricano contestualmente dal disco di rene, ovvero in comune, se ne 
creeranno 10 copie identiche nelle 10 memorie dei 10 pc. Per questo è comodo 
avere il front end (che in un certo senso si decuplica per le 10 postazioni 
dell'esempio) ed il back end, che deve essere unico per tutti (così se 
l'utente A inserisce un nuovo record lo vedono anche gli altri utenti, anche 
se hanno, in quel particolare momento, un front-end diverso).
Ciao
Antonio