Sostituire caratteri non validi (Errore di run time '76': Impossibile trovare il percorso).

Anonimo
2020-06-12T09:07:51+00:00

Buongiorno a tutti.

Premesso che sono autodidatta, non esperto di Access e alle prime armi col VBA...

Sto creando il mio primo db per la gestione di vari prodotti.

Dopo che l'utente inserisce il nome del prodotto in un'apposita maschera vorrei che, in automatico, nella stessa cartella dove è salvato il DB, si creasse un'ulteriore cartella col nome del prodotto stesso (dove poi memorizzerò vari file specifici del prodotto).

Il problema è che se il nome del prodotto contiene caratteri speciali la sub s'interrompe generando il seguente errore:

Errore di run time '76':

Impossibile trovare il percorso

E' dalle cartelle create che ho dedotto che l'errore si genera quando il nome del prodotto contiene un carattere speciale.

La mia domanda è:

Che istruzioni posso usare per rilevare la presenza di caratteri speciali ed eventualmente sostituirli con uno spazio?

Scusate se non sono stato chiaro.

Grazie.

Enrico.


Di seguito il codice in questione:

Public Sub CreaCartelleDb()

Dim DBCorrente As Dao.Database

Dim Query As Dao.Recordset

Set DBCorrente = CurrentDb

Set Query = DBCorrente.OpenRecordset("qy1_Elenco_Tutti_Prodotti", dbOpenDynaset)   'qy1_Elenco_Tutti_Prodotti è una query che elenca tutti i prodotti

Query.MoveFirst  'si sposta al primo record

Do Until Query.EOF 'Ripete il codice fino alla fine della query

       'imposto la sintassi del nome della cartella del prodotto combinando il percorso cartella Db e due campi di una query

    Dim NomeCartProdotto As String

    NomeCartProdotto = [CurrentProject].[Path]& "" & Query.Fields("NomeProdotto") & Query.Fields("Id")  'Id è un campo della query univoco

    If Len(Dir(NomeCartProdotto, vbDirectory)) < 1 Then MkDir (NomeCartProdotto)

    Query.MoveNext 'si muove in avanti nella tabella di un record

Loop

Query.Close

DBCorrente.Close

End Sub

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento