Problema
In Microsoft Office Access 2007 i database replicati creati con le versioni precedenti di Access (file con estensione MDB) non possono essere salvati nel nuovo formato di file ACCDB. L'opzione risulta inattiva (non disponibile) quando si cerca di utilizzare il comando Salva oggetto database con nome (fare clic sul pulsante Microsoft Office
e quindi sulla freccia accanto a Salva con nome).
Causa
Il formato di file ACCDB non supporta la replica.
Risoluzione
Utilizzare il database replicato nel formato di file MDB
È possibile continuare a utilizzare il database replicato nel formato di file MDB, in quanto questo formato supporta la funzionalità di replica.
Ricreare manualmente il database nel formato di file Office Access 2007
Se si decide che il nuovo formato di file è caratterizzato da vantaggi non garantiti dalla replica, è possibile creare un nuovo database nel formato Office Access 2007 e ricreare manualmente il database replicato.
Nota Questa tecnica è valida per qualsiasi database replicato, ma a meno che non venga utilizzata una replica completa precedentemente sincronizzata con tutte le altre repliche incluse nel set di repliche, i dati e i progetti non inclusi nella replica non saranno contenuti nel nuovo database.
Prima di cominciare a ricreare il database, assicurarsi che tutti gli oggetti nascosti e di sistema della replica siano visibili. Questo consente di garantire che sarà possibile accedere ai campi specifici della replica quando questa verrà ricreata.
- Aprire la replica che si desidera convertire. A tale proposito è necessario utilizzare la stessa versione di Access in cui la replica è stata creata in origine per poter visualizzare i campi nascosti e di sistema.
- Scegliere Opzioni dal menu Strumenti. Verrà aperta la finestra di dialogo Opzioni.
- Nella sezione Mostra della scheda Visualizzazione selezionare Oggetti nascosti e Oggetti di sistema. Fare clic su OK per applicare le nuove impostazioni e chiudere la finestra di dialogo Opzioni.
Ricreare manualmente il database
- Creare un database vuoto e aprirlo.
Nota Verrà creata una nuova tabella vuota denominata Tabella1. Eliminare questa tabella, chiudendola immediatamente prima di apportarvi alcuna modifica. Fare clic con il pulsante destro del mouse sulla relativa scheda degli oggetti e scegliere Chiudi dal menu di scelta rapida.
- Nel gruppo Importa della scheda Dati esterni fare clic su Access.
Verrà visualizzata la finestra di dialogo Carica dati esterni - Database di Access.
- Fare clic su Sfoglia per individuare il database replicato.
- Fare clic sul database replicato contenente gli oggetti di database che si desidera ricreare nel nuovo database e quindi fare clic su Apri.
- Nella finestra di dialogo Carica dati esterni - Database di Access fare clic su Importa tabelle, query, maschere, report, macro e moduli nel database corrente e quindi su OK.
- Fare clic sugli oggetti di database che si desidera importare nel nuovo database. Se si desidera importare tutti gli oggetti, fare clic su Seleziona tutto in ogni scheda.
Importante Non selezionare tabelle in questa fase. Le tabelle verranno ricreare in una fase successiva.
- Dopo aver selezionato tutti gli oggetti desiderati, fare clic su OK per importarli.
Nell'ultima pagina della procedura guidata viene offerta la possibilità di salvare i passaggi di importazione per poterli riutilizzare in futuro. A tale proposito, selezionare la casella di controllo Salva passaggi importazione, immettere le informazioni appropriate e fare clic su Salva importazione.
- Aprire il database replicato in Office Access 2007. Per ogni tabella presente creare una query di creazione tabella che recuperi tutti i dati della vecchia tabella e li inserisca in una tabella del nuovo database.
Nota Se s_GUID (GUID: Acronimo di Globally Unique Identifier. Campo a 16 byte utilizzato in un database di Access per stabilire un identificatore univoco per la replica. I GUID sono utilizzati per identificare repliche, set di repliche, tabelle, record e altri oggetti. In un database di Access, i GUID sono chiamati ID replica.) è una chiave primaria a cui fanno riferimento chiavi esterne (chiave esterna: Uno o più campi di tabella (colonne) che fanno riferimento al campo o ai campi chiave primaria di un'altra tabella. Una chiave esterna indica la correlazione tra le tabelle.) di altre tabelle, la nuova tabella dovrà contenere il campo s_GUID. Se il campo s_GUID non viene utilizzato come chiave primaria, non è necessario mantenerlo nella nuova tabella. Evitare di copiare i campi s_Lineage e s_Generation nella nuova tabella.
Per impostazione predefinita, i campi s_GUID, s_Lineage e s_Generation sono nascosti. Per visualizzarli, utilizzare la procedura seguente:
- Nel database replicato assicurarsi che tutte le tabelle siano chiuse.
- Fare clic con il pulsante destro del mouse nella parte superiore del riquadro di spostamento e quindi scegliere Opzioni di spostamento. Verrà visualizzata la finestra di dialogo Opzioni di spostamento.
- Nella sezione Opzioni visualizzazione selezionare Mostra oggetti di sistema e fare clic su OK.
Procedura
- Per ogni tabella del nuovo database creare lo stesso indice (indice: Caratteristica che velocizza la ricerca e l'ordinamento di una tabella in base a valori chiave e che può garantire l'univocità delle righe di una tabella. La chiave primaria di una tabella viene indicizzata automaticamente. Alcuni campi non possono essere indicizzati a causa del rispettivo tipo di dati.) e la stessa chiave primaria utilizzati nella tabella della replica.
Procedura
- Per ogni tabella del nuovo database creare le relazioni (relazione: Associazione stabilita tra campi (colonne) comuni in due tabelle. Una relazione può essere di tipo uno-a-uno, uno-a-molti o molti-a-molti.) esistenti nella tabella della replica.
Procedura
Quando si crea una relazione tra tabelle, non è necessario che i campi correlati abbiano lo stesso nome, ma devono includere lo stesso tipo di dati (tipo di dati: Attributo di un campo che determina il tipo di dati che può contenere: Boolean, Integer, Long, Currency, Single, Double, Date, String e Variant (predefinito).), a meno che il campo chiave primaria non sia un campo Contatore (tipo di dati Numerazione automatica: In un database di Microsoft Access, un tipo di dati per i campi che consente di memorizzare automaticamente un numero univoco per ogni record aggiunto a una tabella. È possibile generare tre tipi di numeri: sequenziali, casuali e ID replica.). È possibile creare una relazione tra un campo Contatore e un campo Numerico solo se la proprietà Dimensione campo di entrambi i campi è uguale, ad esempio se è impostata su Intero lungo. La proprietà Dimensione campo deve essere impostata sullo stesso valore anche se entrambi i campi corrispondenti sono di tipo Numerico.
Definire una relazione uno-a-molti o una relazione uno-a-uno
- Chiudere tutte le tabelle aperte. Non è possibile creare o modificare relazioni tra tabelle aperte.
- Nel gruppo Mostra/Nascondi della scheda Strumenti database fare clic su Relazioni.
- Se nel database non sono ancora state definite relazioni, verrà automaticamente visualizzata la finestra di dialogo Mostra tabella.
Se è necessario aggiungere le tabelle che si desidera collegare e la finestra di dialogo Mostra tabella non è visualizzata, fare clic sul pulsante Mostra tabella nel gruppo Mostra/Nascondi della scheda Struttura.
- Fare doppio clic sui nomi delle tabelle che si desidera correlare, quindi chiudere la finestra di dialogo Mostra tabella. Per creare una relazione nell'ambito della stessa tabella, aggiungere due volte la tabella.
- Trascinare il campo che si desidera collegare da una tabella al campo correlato nell'altra tabella.
Per trascinare più campi, premere il tasto CTRL, fare clic su ogni campo desiderato e quindi trascinare la selezione.
Nella maggior parte dei casi si trascina il campo chiave primaria (visualizzato in grassetto) da una tabella su un campo simile (spesso con lo stesso nome), detto chiave esterna (chiave esterna: Uno o più campi di tabella (colonne) che fanno riferimento al campo o ai campi chiave primaria di un'altra tabella. Una chiave esterna indica la correlazione tra le tabelle.) nell'altra tabella.
- Verrà visualizzata la finestra di dialogo Modifica relazioni. Assicurarsi che i nomi dei campi visualizzati nelle due colonne siano quelli desiderati. Se necessario, è possibile modificarli.
Se necessario, impostare le opzioni di relazione.
- Fare clic sul pulsante Crea per creare la relazione.
- Ripetere i passaggi da 4 a 7 per ogni coppia di tabelle da collegare.
Quando si chiude la finestra Relazioni (finestra Relazioni: Scheda di oggetto in cui è possibile visualizzare, creare e modificare le relazioni tra tabelle e query.) verrà richiesto se si desidera salvare il layout. Le relazioni create verranno salvate comunque nel database, indipendentemente dal fatto che si salvi o meno il layout.
Definire una relazione molti-a-molti
- Salvare il nuovo database.