Salve. Ho creato un pulsante di Backup per copiare il mio data base in una cartella diversa dal nome Backup. Mi appare errore run time 70 accesso negato

Anonimo
2024-06-02T13:33:19+00:00

il codice vba è questo

Private Sub BackupBtn_Click()

Dim Source As String

Dim Target As String

Dim A As Integer

Dim ObjFso As Object

Dim Path As String

Source = CurrentDb.Name

Path = "C:\Backup"

Target = Path & "\Gestione libri"

Target = Path & " Backup del " & Format(Now(), "dd-mm-yyyy") & ".accdb"

A = 0

Set ObjFso = CreateObject("Scripting.filesystemObject")

A = ObjFso.copyfile(Source, Target, True)

Set ObjFso = Nothing

MsgBox "Backup Completato.", vbInformation, "Backup"

Analizzando il debug mi segnala l'errore in questa riga A = ObjFso.copyfile(Source, Target, True)

Grazie per l'aiuto

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

5 risposte

Ordina per: Più utili
  1. domenico laurenza 9,900 Punti di reputazione Moderatore volontario
    2024-06-05T15:13:35+00:00

    Ciao,

    soono d'accordo che la prima istruzione assegna alla variabile il seguente valore

    Target ="C:\Backup"\Gestione libri".

    ma la seconda lo ricopre con altro valore

    Target = Path & " Backup del " & Format(Now(), "dd-mm-yyyy") & ".accdb"

    Mimmo

    La risposta è stata utile?

    1 persona ha trovato utile questa risposta.
    0 commenti Nessun commento
  2. domenico laurenza 9,900 Punti di reputazione Moderatore volontario
    2024-06-06T15:45:55+00:00

    Ciao,

    ultimo consiglio cambia il formato della data nel file prodotto in "yyyy_mm_dd"

    avrai un miglior ordinamento nella cartella di destinazione.

    Mimmo

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2024-06-06T15:04:09+00:00

    Ciao Mimmo

    Intanto grazie per il tuo consiglio.

    Ho risolto togliendo il secondo Target e riscrivendo in questo modo

    Source = CurrentDb.Name

    Path = "C:\Users\otbra\Documents\Otello\Backup"

    Target = Path & "\Gestione libri" & Format(Now(), "dd-mm-yyyy") & ".accdb"

    Grazie

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2024-06-05T05:58:42+00:00

    Ciao Mimmo

    Ci sono due righe perché nella prima viene indicato il nome del file di backup nella seconda la data che viene scritta dopo il nome.

    La slash identifica la directory. Il risultato del primo Target è come se corrispondesse a Target ="C:\Backup"\Gestione libri". Questo errore sembra essere associato a dei permessi di copia del database ma non riesco a capire se riguarda Windows o Microsoft Office.

    La risposta è stata utile?

    0 commenti Nessun commento
  5. domenico laurenza 9,900 Punti di reputazione Moderatore volontario
    2024-06-04T10:53:29+00:00

    Ciao,

    penso che hai qualche problema nelle seguenti istruzioni:

    Source = CurrentDb.Name

    Path = "C:\Backup"

    Target = Path & "\Gestione libri"

    Target = Path & " Backup del " & Format(Now(), "dd-mm-yyyy") & ".accdb"

    Perche hai due righe per il impostare il Target?

    Nella prima forse ti manca lo slash finale

    Forse la seconda dovrebbe essere Target = Target & ....

    Ciao Mimmo

    La risposta è stata utile?

    0 commenti Nessun commento