Buongiorno,
nella mia applicazione faccio uso di fogli excel esterni tramite tabella collegata.
Prima dell'accesso a tali files tramite query, controllo se il file è presente con il seguente metodo:
If (Len(Dir(strPathFileNameMagazzino)) > 0) Then
preparo la query
Else
visualizzo un messaggio di errore
End If
Questo metodo a volte funziona e a volte no.
Per fare i test cancello materialmente il file nella cartella e poi lancio la procedura.
Generalmente il codice sopra funziona correttamente e visualizza il messaggio di errore, a volte invece l'assenza del file non viene riconosciuta, viene preparata la query e al momento di lanciarla ho un errore di runtime (mi pare il 2070 ma non ne sono sicuro e comunque è indifferente) perchè non ci sono dati, non ci sono nemmeno i titoli delle colonne nel foglio excel ai quali la query fa riferimento.
A seguito di questo errore, nella cartella trovo il file excel con il nome corretto e vuoto, non ho ancora controllato se appare prima o dopo il lancio della query.
Quale può essere la ragione di questo comportamento ? Ho pensato ad un problema stile cache da aggiornare, nel senso che il controllo sopra fa riferimento al contenuto “vecchio" della cartella con il file ancora esistente (cancellato pochi secondi prima).
C'è un metodo più affidabile ? C'è un metodo per assicurare l'accesso ad una lista aggiornata del contenuto della cartella ?
Grazie
Ste