Access
 sql >> Database >  >> RDS >> Access

Come prevenire la corruzione del database in Microsoft Access

La maggior parte degli utenti di Microsoft Access, a un certo punto, ha riscontrato il messaggio che il proprio database è stato danneggiato o posto in uno "stato incoerente". Verrà visualizzata una finestra di dialogo con il messaggio:Microsoft Access ha rilevato che questo database è in uno stato incoerente e il software tenterà di recuperare il database.

Da quando ho iniziato con Microsoft Access 25 anni fa, l'aspetto frustrante di questo errore è che non esiste un motivo definitivo per cui il database è stato danneggiato. I messaggi di errore in una varietà di altri programmi software sono molto più descrittivi su cosa fare per prevenire la violazione delle regole del software. In Access, ad esempio, sono presenti caratteri che non sono consentiti durante la denominazione dei campi in una tabella. Se scegli un personaggio che non è allineato alle regole, il messaggio che segue è chiaro. Seleziona il pulsante Guida e segui le regole visualizzate per quanto riguarda le regole per i nomi delle tabelle.

Quindi, cosa fare per quanto riguarda il danneggiamento del database in Access?

Innanzitutto, è importante sapere che la maggior parte dei database di Access viene danneggiata a un certo punto. Ho scoperto che i metodi più collaudati per affrontare la corruzione non sono perdere tempo a cercare di determinare il motivo per cui il database è stato danneggiato, ma piuttosto concentrarsi sui metodi che impediscono al database di essere danneggiato in primo luogo.

                                                   

Di seguito sono elencate alcune cose che fanno i consulenti Arkware che hanno contribuito a ridurre significativamente il danneggiamento del database:

  • Dividi il tuo database in un front-end e un back-end (due file separati). Tutte le tabelle del database si trovano nel database back-end e ogni utente ha la propria copia del database front-end sul desktop o sul disco rigido locale. Il database front-end contiene tutti gli oggetti del database (query, moduli, report e macro/VBA). Ogni PC ha la stessa struttura di cartelle come (C:\WorkingDatabase\DatabaseName). Utilizzando Linked Table Manager, collegare le tabelle dal database back-end al database front-end. Access dispone di una procedura guidata di suddivisione del database che può aiutare a suddividere il database originale nei database front-end e back-end. Cerca un post futuro sul blog sull'utilizzo di questa procedura guidata.
  • Forza l'arresto del database alla chiusura dell'attività o in altri periodi di inattività specifici. Ciò avviene perché gli utenti a volte lasciano il sistema aperto e la connessione di Access incustodita potrebbe essere disconnessa dalla rete, causando il danneggiamento. Il codice può essere inserito nell'evento “OnTimer” di qualsiasi modulo database che rimane aperto. Il miglior modulo di database da utilizzare è un modulo di centralino principale. Basta aggiungere DoCmd.Quit al codice VBA per chiudere il sistema a una certa ora del giorno (es. 2:00).
  • Assicurati che tutti gli utenti utilizzino la stessa versione di Access su tutti i computer.
  • Crea un file batch di comandi MS-DOS che copia un nuovo database front-end nell'unità C:\ locale del computer dell'utente. Questo non è obbligatorio, ma garantisce che tutti ricevano una copia pulita del database front-end locale.
  • Non hai tabelle di altri database di Access collegati al tuo database principale che utilizzano versioni diverse di Access.
  • Disabilita la funzione di correzione automatica di Access. Questo può essere fatto selezionando File> Opzioni> Database corrente. In "Funzioni di correzione automatica del nome", deseleziona "Correzione automatica del nome della traccia"

Queste sono alcune delle principali misure preventive per prevenire il danneggiamento del database. Se stai lottando con il danneggiamento del database, contatta Arkware e possiamo aiutarti a ottenere un ambiente più stabile per il tuo database Microsoft Access.