Buongiorno a tutti, leggendo libri specifici di Access ( in questo caso Access 2010 della Hoepli informatica) e seguendo le varie discussioni su questo forum aventi analogo quesito ho pensato di adattare il codice allegato ( indicato dall'esperto della community
Eulero) per il mio database scegliendo ( per i motivi dai più esperti indicati) la via della compattazione da programma esterno, ma si verifica che, per la prima volta mi compatta il Database bene e me lo indica con un MSGBOX, ma alle successive riaperture
e chiusure dello stesso database da compattare (con il codice sottostante abbinato ad un pulsante di comando creato con un altro file di Access che utilizzo per tale scopo) mi dà l'errore che vi segnalo:
Errore n°7847: MIcrosoft Access:'Compact_esiste già. E' necessario creare una copia di backup del file prima di eseguire l'operazione di ripristino. Immettere un nome per il file di Backup.
Questo è il codice che mi compatta il database da file Access esterno:
Private Sub Comando0_Click()
On Error GoTo CompactDB_Err
DoCmd.Hourglass True
If Application.CompactRepair( _
LogFile:=True, _
SourceFile:="C:\XXXXXX\PippoPluto\Desktop\MULETTO .accdb", _
DestinationFile:=Left(db, InStrRev(db, "")) & "Compact_" & _
Right(db, Len(db) - InStrRev(db, ""))) Then
DoCmd.Hourglass False
MsgBox "Compattazione terminata!", vbInformation
End If
CompactDB_Exit:
Exit Sub
CompactDB_Err:
DoCmd.Hourglass False
MsgBox "Errore n° " & Err.Number & ": " & Err.Description, vbExclamation
GoTo CompactDB_Exit
End Sub
Vi chiedo per cortesia di conoscere il tipo di errore che vi ho segnalato da cosa scaturisce, inoltre poichè il Database che a breve metterò in rete, multiutente dovrà contenere migliaia di dati è opportuno creare del codice che oltre alla compattazione
mi crei una copia di backup e mi compili sempre il nuovo DB?
Grazie a tutti coloro che vorranno aiutrami in questo.
Ciao Nicola.