Newsgroup: it.comp.appl.access
Titolo: cancellare files di backup vecchi

Carissimi,
con il vostro aiuto e la pazienza ho implementato un sistema per fare il 
backup del mio applicativo alla sua chiusura.
Ottengo il salvataggio del file in questo formato:
20-04-2009-backup.mdb
21-04-2009-backup.mdb
22-04-2009-backup.mdb
23-04-2009-backup.mdb
tutti, ovviamente contenuti nella cartella "salvataggio"
Per alleggerire il "peso" del salvataggio, vorrei cancellare, con un click, 
i files più vecchi di due  o tre giorni.
Lo so che si possono cancellare a mano, ma chi lavora con l'applicativo non 
sa nemmeno cosa sia una cartella e nemmeno vuol saperne!
Cosa mi consigliate?
Sempre un cordiale ringraziamento,
Anto 

 ha scritto nel messaggio 
news:49f31197$0$1128$4faf...@reader1.news.tin.it...


Non ti andrebbe di darmi un ulteriore suggerimento? Temo di non essere 
ancora in grado.
Anto 

 Anto
Ma non erano i "tuoi" utenti a non essere in grado? :D
cmq...
Dim giorni As Integer
giorni = 2 'Settare giorni x cancellazione
Dim MyPath As String
MyPath = "C:\Programmi\eMule\Incoming\"
Dim Myname As String
Myname = Dir(MyPath, vbDirectory)
    Do While Myname <> ""
        If Myname <> "." And Myname <> ".." Then
            If DateDiff("d", FileDateTime(MyPath & Myname), Now()) > giorni 
Then
                If MsgBox("Sicuro di voler cancellare il file " & Myname & _
                        " ?" & vbCrLf & _
                        "File creato il " & FileDateTime(MyPath & Myname) & 
vbCrLf & _
                        "File vecchio di " & DateDiff("d", 
FileDateTime(MyPath & Myname), Now()) & " giorni", vbOKCancel, "ATTENZIONE") 
= vbOK Then
                    Kill MyPath & Myname
                    MsgBox "File " & Myname & " cancellato correttamente", , 
"INFO"
                Else
                    MsgBox "Eliminazione annullata", , "INFO"
                End If
            End If
        End If
        Myname = Dir
    Loop


> MyPath = "C:\Programmi\eMule\Incoming\"
OPS... ovviamente quà gli metti la tua Path... ovvero quella in cui salvi i 
files di Backup che vuoi monitorare....
e quel codice lo metti dave ti pare... in apertura di una form, in un modulo 
da richiamare, sul clik di un Button... dove meglio ti sembra utile 
insomma...


Carissimo Pablitomf,
Grazie per la pazienza e per il tempo che mi dedichi.
Ovviamente hai capito che il mio livello di conoscenza č <= 3 ;D ma provo 
ugualmente a imparare da chi ne sa piů di me.
Ho subito provato il tuo codice, ma al click non succede nulla e quindi 
riporto fedelmente ciň che ho scritto per sottoporti l'arcano:
-windows xp
-office 2003
- salvare_files č la cartella principale e backup la cartella che contiene i 
files di salvataggio  che sono in formato dd-mm-yyy
------------------------
Private Sub Comando1_Click()
Dim giorni As Integer
Dim Myname As String
Dim MyPath As String
giorni = 2          'Settare giorni x cancellazione
MyPath = "C:\Documents and Settings\Anto\Desktop\salvare_file\Backup\"
 Myname = Dir(MyPath, vbDirectory)
    Do While Myname <> ""
        If Myname <> "." And Myname <> ".." Then
            If DateDiff("d", FileDateTime(MyPath & Myname), Now()) > giorni 
Then
                If MsgBox("Sicuro di voler cancellare il file " & Myname & _
                " ?" & vbCrLf & _
                "File creato il " & FileDateTime(MyPath & Myname) & vbCrLf & 
_
                "File vecchio di " & DateDiff("d", FileDateTime(MyPath & 
Myname), Now()) & " giorni", vbOKCancel, "ATTENZIONE") = vbOK Then 
'attaccato al rigo superiore
                Kill MyPath & Myname
                MsgBox "File " & Myname & "cancellato correttamente", , 
"INFO"
                Else
                MsgBox "Eliminazione annullata", , "INFO"
                End If
            End If
        End If
       Myname = Dir
    Loop
End Sub
-------------------------
Ho controllato gli spazi,
Ho provato a sostituire now() (che contiene l'orario) con date(),
Soffermandomi col cursore sulle variabili, mi spunta il rettangolino giallo 
con i valori corretti
ma . non succede nulla.
Mi vergogno un po' ma non riesco a cavare il ragno dal buco, ovviamente per 
mia ignoranza.
Resto in attesa di una spintarella.
Ciao, Anto.

Ti ringrazio lo stesso, ho ricevuto una dritta da Federico che posto qui e 
funziona benone anche se non dà notifiche.
-----------------------------------------------------------------------------------
Sub eliminaBackupVecchi()
    Dim MyFile, DataBackup, Path
    Path = "c:\salvataggio"
    MyFile = Dir(Path & "*-backup.mdb")
    Do While MyFile <> ""
        DataBackup = DateSerial(Mid(MyFile, 7, 4), Mid(MyFile, 4, 2),
Left(MyFile, 2))
        If DateDiff("d", DataBackup, Date) > 2 Then
            Kill Path & MyFile
        End If
        MyFile = Dir()
    Loop
End Sub
che elimina i file di backup più vecchi di due giorni dalla cartella c:
\salvataggio.
In questo codice viene dato per scontato che tutti i file che si
trovano nella cartella siano in formato gg-mm-aaaa-backup.mdb, se così
non dovesse essere è necessario aggiungere qualche controllo
aggiuntivo. Inoltre non viene fatto nessun controllo sugli errori e
viene dato per scontato che la procedura va sempre a buon fine!
Ciao!
Federico
------------------------------------------------------------------------------
Vorrei precisare che ho apprezzato immensamente la tua attenzione e mi 
piacerebbe
sapere perchè non ha funzionato il tuo codice (dove sbaglio io).
Cordialità, Anto 

 ha scritto nel messaggio 
news:49f45a16$0$1117$4faf...@reader3.news.tin.it...
