Newsgroup: it.comp.appl.access
Titolo: "On Error GoTo..." funziona solo una volta.

Ho una utilità che mi serve per salvare le ultime versioni di applicazioni e documenti. Ho un ciclo che legge nomi di cartelle da cui e in cui devo copiare dei file. La cartella può non esistere, e allora ci vuole un MkDir, oppure esiste e non ci vuole. Nella cartella possono esserci file o può essere stata appena creata e essere vuota.
Pensavo di intercettare l'errore 75 mediante "On Error GoTo..." ma al posto indicato va solo la prima volta, la successiva il MkDir mi dà errore 75.
Supponiamo che abbia le seguenti cartelle:
D:\dati\pippo
D:\dati\pluto
D:\cose\roba
ogni volta che l'applicativo legge un percorso, si chiede:
1) "esiste dati?" e "esiste pippo?"
poi:
2) "esiste dati?" e "esiste pluto?"
poi
3) "esiste cose?" e "esiste roba?"
Io pensavo che, se error=75 then esiste, ma non mi va per quanto detto
Qualche suggerimento?
Grazie a tutti.
Riccardo Baldinotti


Non amo molto questo costrutto (preferrisco la resume next).
Ma  prova a mettere un err.clear da qualche parte.
 
-- 
ac (x=y-1)
Aborro il Killfile
(La violenza e' l'ultimo rifugio degli incapaci -Salvor Hardin-)
 
---
Questa e-mail è stata controllata per individuare virus con Avast antivirus.
http://www.avast.com
 
 


ti invio un riferimento  che penso possa risolvere il tuo quesito
 
' Procedure : FolderExist
' DateTime  : 2009-Oct-02 13:51
' Author    : CARDA Consultants Inc.
' Website   : 
http://www.cardaconsultants.com
 
' Purpose   : Test for the existance of a Folder/Directory
' Copyright : The following may be altered and reused as you wish so long as the
'             copyright notice is left unchanged (including Author, Website and
'             Copyright).  It may not be sold/resold or reposted on other sites (links
'             back to this site are allowed).
'
' Input Variables:
' ~~~~~~~~~~~~~~~~
' sFolder - Full path of the folder to be tested for

 dà errore 75.
 
Ti suggerirei (sommessamente) di cambiare tattica usando un miglior 
stile di programmazione. 
 
Al  posto  tuo  invece di intercettare l' errore userei la funzione
DIR per testare  l' esistenza  della  directory e/o del file piu' o
meno nel modo seguente : 
 
if dir (directory_pura_senza_nome_del_file) = "" then 
   mkdir ... 
   ' e qui copi il file : se non c'e' la directory non c'e'
   ' difatti nemmeno il file
else
   ' la directory c'e', ma forse non c'e' il file e dunque :
    if dir (percorso_completo_del file) = "" then 
       ' copio il file
    endif
 
endif
 
'quando sei arrivato in questo punto del codice sei a posto
 
spero di averti aiutato

Se vuoi usare l'On Error GoTo puoi farti una Sub CreaCartella As Boolean dove lo inserisci.
Ti fai ritornare una risposta Boolean se la creazione è andata a buon fine (CreaCartella=True dopo il MkDir), se si fai il secondo passaggio altrimenti no.
Se Error puoi anche farti un MsgBox del tipo:
MsgBox Err.Number & Chr(10) & Err.Description
 
Spero sia chiaro

 Ma  prova a mettere un err.clear da qualche parte.
 
Ho provato a cambiare il codice. Sono preso con altre faccende ma ci ritornerò.
Per ora grazie e scusa il ritardo nel rispondere.
Riccardo Baldinotti


Buon suggerimento, proverò. Sono preso con altre faccende ma ci ritornerò.



Grazie, gli darò un'altra occhiata. Sono preso con altre faccende ma ci ritornerò.



Questa è stata la mia prima opzione, ma proprio non andava a buon fine. Sono preso con altre faccende ma ci ritornerò.
