Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    10

    vb5 o 6 fare copia database!! help

    ciao a tutti,

    ho il seguente problema:
    ho un programma in vb5 che tramite a degli oggetti data si connette al database access! come faccio a creare una copia del database con il programma in uso?

    FileCopy c:\cartella\database.mdb, "C:\database.mdb"

    non funziona perchè ho il database in uso!!! non c'è un altro modo?
    ciao

  2. #2
    Ciao, anche io ho avuto lo stesso identico problema e l'ho risolto così:
    il mio programma doveva partire ogni 2 ore, ma se qualcuno apriva il file in Access non riuscivo. Tuttavia quando qualcuno apre un file Access, automaticamente viene creato un file nella stessa cartella con estensione "ldb". Quindi quando il mio programma partiva, controllava come prima cosa se esisteva questo LDB; se c'era partiva un loop col DoEvents che si fermava solo quando non trovava più questo file (ovvero quando il file mdb veniva chiuso); quindi potevo fare la copia.

  3. #3

    VB6 - Copia di database aperto

    Ciao Lucky. Cercavo la possibilità di fare una copia di un database aperto e ho letto la risposta che hai dato.
    Siccome non sono un esperto di VB, non ho capito bene cosa si deve fare. Puoi farmi un esempio di codice?

    Grazie anticipatamente per la risposta.

    Daniele

  4. #4
    Utente di HTML.it L'avatar di junx
    Registrato dal
    May 2004
    Messaggi
    322
    FileCopy c:\cartella\database.mdb, "C:\database.mdb"
    ..a parte che mancano i doppi apici sul primo file....

    io non credo ci sia bisogno di loop...

    è normale che con FileCopy ti trovi davanti ad un errore per 'Autorizzazione negata'...

    Se invece usi FSO dovresti risolvere il problema...
    Ecco la routine che devi utilizzare:

    codice:
    Private Sub ForzaCopia(FileSorgente, FileDestinazione)
        Dim fso As Object
        Set fso = CreateObject("Scripting.FileSystemObject")
        fso.CopyFile FileSorgente, FileDestinazione
        Set fso = Nothing
    End Sub
    ora sostituisci il tuo:

    codice:
    FileCopy "c:\cartella\database.mdb", "C:\database.mdb"
    con

    codice:
    ForzaCopia "c:\cartella\database.mdb", "C:\database.mdb"
    Ciao!

  5. #5

    VB6 Copia database aperto

    Mitico ... funziona! Grazie infinite.

    Daniele

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.