Newsgroup: it.comp.appl.access
Titolo: copia BE alla chiusura del FE

vorrei fare una copia di sicurezza del DB BE essistente su un pc remoto
ogni volta che chiudo il FE , è possibile?
in termini pratici?  .....:-))
l.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

Io uso un file batch che lancio alla chiusura del FE
con:
Call Shell("\\pippo\pluto\backup.bat", vbHide)
DoCmd.Quit
contenente una cosa tipo:
cls
echo
COPY \\pippo\pluto\MDB_BE.mdb \\minny\paperoga\Backup\MDB_BE.bak
cls
exit
Ciao
Alex

 Alex
esempio pratico?
file batch!   ???? 
un evento su chiusura?


 l.
Nel SitoComune, sezione General:
6.29 Compattare tutti i BackEnd di un FrontEnd e farne una copia di backup 
--
sv


 sv
l'ho provata, ma mi da un errore sulla riga:
Private Declare Function IsNetworkAlive Lib "Sensapi" (lpdwFlags As Long)
As Long
che mi dice: dopo end sub, end function o end property sono ammessi solo
commenti.


 commenti.
La FAQ che ti ho suggerito non riporta questo codice.
L'API che hai citato serve per testare se un sistema è connesso ad una
rete e di che rete si tratti.
--
sv


 sv
scusa la mia figura di cacca che ho fatto, ma ho riportato l'errore di un
altro codice senza accorgemene.
in effetti io sull'evento chiusura della form ho piazzato il codice da te
citato, togliendo la riga per access97, quando apro la form tutto ok.
quando la chiudo mi da l'errore sulla prima riga
"errore di compilazione- prevista end sub"
il codice risultante è questo:
Private Sub Form_Close()
Sub CompattaBE()
   'Autore: Riccardo Pozzi e Federico Luciani
On Error GoTo gestErr
   Dim backend As String
   Dim strSQL As String
   Dim rs As DAO.Recordset
   Dim risp As Integer
   Dim copia As String
   Dim msg As String
   strSQL = "SELECT Trim([Database]) AS DB " & _
            "FROM MSysObjects " & _
            "GROUP BY Trim([Database]), MSysObjects.Type " & _
            "HAVING (((MSysObjects.Type)=6));"
   Set rs = CurrentDb.OpenRecordset(strSQL)
   If rs.EOF And rs.BOF Then GoTo esci
   risp = MsgBox("Procedere con salvataggio e compattazione?", _
      vbQuestion + vbYesNo)
   If risp <> vbYes Then Exit Sub
   DoCmd.Hourglass True
   DoCmd.SetWarnings False
   rs.MoveFirst
   msg = ""
   Do
       backend = rs![DB]
       msg = backend & vbCrLf & msg
       '*****************************
       ' La riga di codice che segue va usata solo con Access 97
       'DBEngine.RepairDatabase backend
       '*****************************
       DBEngine.CompactDatabase backend, backend & ".new"
       copia = Dir(backend & ".bak")
       If copia <> "" Then Kill backend & ".bak"
       Name backend As backend & ".bak"
       Name backend & ".new" As backend
       rs.MoveNext
   Loop Until rs.EOF
   MsgBox "Compattazione terminata per i seguenti DB:" & _
      vbCrLf & msg, vbExclamation
esci:
   rs.Close
   DoCmd.SetWarnings True
   DoCmd.Hourglass False
   Exit Sub
gestErr:
   MsgBox Err.Number & " - " & Err.Description
   GoTo esci
End Sub
End Sub
naturalmente capisco che è la mia ignoranza il problema. :-))
l.


 ha scritto
Private Sub Form_Close()
CompattaBE
End Sub
Private Sub CompattaBE() 'meglio in un modulo pubblico
'Public Sub CompattaBE()

Ciao, Carlo 

 > sv



Carlo ti ha già evidenziato l'errore.
--
sv


 Ciao, Carlo
ti ringrazio della pazienza, ma ancora da errore 
"errore di compilazione - Tipo definito dall'utente non definito"
evidenziandomi il rigo:
Dim rs As DAO.Recordset
e siccome io non ci capisco, chiedo aiuto!


 Dim rs As DAO.Recordset
Dim DB As Database produce un errore
www.donkarl.com/it?FAQ7.11
-- 
HTH
Karl
*********
Access FAQ: 
www.donkarl.com/it
 

 
www.donkarl.com/it?FAQ7.11
ho letto! ho aggiunto il riferimento al DAO3.6 ma adesso, dopo la
richiesta di conferma "procedere con salvataggio e compattazione?" mi da
errore
"3356 - database già aperto in modo esclusivo dall'utente admin sulla
macchina "luigi" , ritentare l'operazione quando il database è disponibile"
eppure non ho aperto il Db in modalità esclusiva!


 disponibile" eppure non ho aperto il Db in modalità esclusiva!
Devi forzare questo "luigi" chi blocca il BE di andare per un café.
Nel frattempo riprova. ;-)
Se non aiuta, leggi cosa scrivo all'inizio della parte "Soluzione"
nell'articolo 
www.donkarl.com/it?FAQ6.7
.
