Newsgroup: it.comp.appl.access
Titolo: Accesso negato al file. Errore 70.

Salve.
Ho una procedura esegue i seguenti comandi.
Cancella una cartella ed il suo contenuto.
La ricrea ed in essa viene inserito un insieme di sottocartelle.
A volte però la procedura si blocca perchè il comando deletefolder mi
restituisce il seguente messaggio:
"Autorizzazione negata". Errore 70.
Non è sistematico, è casuale, e una volta uscito dal programma che
esegue la routine, oramai il file è in una situazione di blocco
(Curioso che io possa cancellarne il contenuto ma non la cartella).
Addirittura, anche se vado ad eliminare manualmente la cartella in
questione, mi restituisce lo stesso errore.
Solo al riavvio del PC tutto torna normale.
E' come se questa procedura di creazione di cartelle e sottocartelle
mettesse il file in una condizione di blocco provvisorio.
Qualcuno di voi si è trovato ad affrontare questo problema?
Grazie...

 ha scritto nel messaggio 
news:c308f720-7e36-4372...@l42g2000hsc.googlegroups.com...

Grazie...
[risposta]
Non hai indicato il codice che utilizzi ma se fai le operazioni DeleteFolder 
e CreateFolder in sequenza senza una "pausa tecnica" (loop, DoEvents o 
altro), è probabile che windows si incarti perché non ha ancora terminato la 
cancellazione e deve già creare le nuove cartelle.
Ma le cartelle da creare hanno lo stesso nome? Spero di no altrimenti 
sarebbe meglio solo cancellare i file...
Ciao.
-- 
Sergio MAZZA 

 ha scritto nel messaggionews:c308f720-7e36-4372...@l42g2000hsc.googlegroups.com...

Sì, le cartelle hanno "necessariamente" lo stesso nome.
Seguirò il tuo consiglio in riferimento a DoEvents.
Grazie.
Ciao.

 - Mostra testo citato -
Niente da fare. Il primo tentativo va a buon fine, il secondo no
perchè la cartella risulta bloccata.
Ho inserito il doevents dopo ogni deletefolder e createfolder.
Vi invio una piccola sequenza di codice:
Set fs = CreateObject("Scripting.FileSystemObject")
 c = fs.FolderExists(strDestinazioneIndia & "\")
     'Se esiste la cancella
    If c = True Then
       fs.deletefolder (strDestinazioneIndia)
       DoEvents
    End If
'''''''
poi in un secondo momento ricreo le cartelle
fs.createfolder strDestinazioneIndia
DoEvents
fs.createfolder strDestinazioneIndia & "\Documenti"
DoEvents
fs.createfolder strDestinazioneIndia & "\Campionario"
DoEvents
fs.createfolder strDestinazioneIndia & "\GestioneCampionario"
DoEvents
Vi risparmio i passaggi intermedi.
(Ho messo il doevents dopo aver letto il post)
Ciao.

Niente da fare. Il primo tentativo va a buon fine, il secondo no
perchè la cartella risulta bloccata.
Ho inserito il doevents dopo ogni deletefolder e createfolder.
Vi invio una piccola sequenza di codice:
Set fs = CreateObject("Scripting.FileSystemObject")
 c = fs.FolderExists(strDestinazioneIndia & "\")
     'Se esiste la cancella
    If c = True Then
       fs.deletefolder (strDestinazioneIndia)
       DoEvents
    End If
'''''''
poi in un secondo momento ricreo le cartelle
fs.createfolder strDestinazioneIndia
DoEvents
fs.createfolder strDestinazioneIndia & "\Documenti"
DoEvents
fs.createfolder strDestinazioneIndia & "\Campionario"
DoEvents
fs.createfolder strDestinazioneIndia & "\GestioneCampionario"
DoEvents
Vi risparmio i passaggi intermedi.
(Ho messo il doevents dopo aver letto il post)
------------------------------------------------------------
Ma perchè non utilizzi i comandi interni di Access - Visual Basic per
effettuare quelle operazioni?
Ciao: Oscar


wrote:

Ciao Oscar,
ho sempre usato questa procedura perchè non ho mai avuto problemi di
questo genere.
Ho comunque trovato il problema.
Ad ogni dichiarazione Set fs =
CreateObject("Scripting.FileSystemObject")
deve seguire la naturale conclusione, ovvero..
Set Fs=Nothing
Una volta inserita questa stringa la procedura non ha più presentato
problemi.
Però adesso mi sento male perchè devo andare a correggere una miriade
di moduli impostati malamente.
Grazie a tutti.