Non è possibile salvare il database replicato nel formato Access 2007

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 OfficeIcona del pulsante 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.

  1. 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.
  2. Scegliere Opzioni dal menu Strumenti. Verrà aperta la finestra di dialogo Opzioni.
  3. 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

  1. 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.

  1. Nel gruppo Importa della scheda Dati esterni fare clic su Access.

Verrà visualizzata la finestra di dialogo Carica dati esterni - Database di Access.

  1. Fare clic su Sfoglia per individuare il database replicato.
  2. Fare clic sul database replicato contenente gli oggetti di database che si desidera ricreare nel nuovo database e quindi fare clic su Apri.
  3. 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.
  4. 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.

  1. 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.

  1. 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:

  1. Nel database replicato assicurarsi che tutte le tabelle siano chiuse.
  2. 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.
  3. Nella sezione Opzioni visualizzazione selezionare Mostra oggetti di sistema e fare clic su OK.

MostraProcedura

  1. Creare una query selezionando le tabelle contenenti i record che si desidera inserire nella nuova tabella.

MostraProcedura

  1. Nel gruppo Altro della scheda Crea fare clic su Struttura query.
  1. Nella finestra di dialogo Mostra tabella selezionare la scheda contenente l'elenco delle tabelle di cui si desidera utilizzare i dati.
  2. Fare doppio clic sul nome di ogni oggetto che si desidera aggiungere alla query e quindi fare clic su Chiudi.
  3. Aggiungere i campi desiderati nella riga Campo della griglia di struttura (griglia di struttura: Griglia utilizzata per strutturare una query o un filtro in visualizzazione Struttura delle query o nella finestra Ordinamento/filtro avanzato. Per le query, questa griglia era precedentemente detta griglia QBE.).
  4. Per visualizzare i risultati della query, scegliere Visualizzazione Foglio dati dal menu Visualizza.

  1. Nella visualizzazione Struttura (visualizzazione Struttura: Finestra che visualizza la struttura dei seguenti oggetti di database: tabelle, query, maschere, report e macro. Nella visualizzazione Struttura è possibile creare nuovi oggetti di database e modificare la struttura di quelli esistenti.) della query, nel gruppo Tipo di query della scheda Struttura fare clic su Creazione tabella. Verrà visualizzata la finestra di dialogo Creazione tabella.
  2. Nella casella Nome tabella digitare il nome della tabella che si desidera creare o sostituire.
  3. Selezionare Altro database e quindi digitare il percorso del database in cui si desidera inserire la nuova tabella oppure fare clic su Sfoglia per cercare il database.
  4. Fare clic su OK.
  5. Nel gruppo Risultati della scheda Struttura fare clic su Esegui. Verrà creata la nuova tabella.

 Nota   La nuova tabella creata non eredita le proprietà di campo o l'impostazione della chiave primaria (chiave primaria: Uno o più campi (colonne) il cui valore identifica in modo univoco ogni record di una tabella. Una chiave primaria non consente valori Null e deve sempre avere un indice univoco. La chiave primaria viene utilizzata per collegare una tabella alle chiavi esterne di altre tabelle.) della tabella originale.


  1. 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.

MostraProcedura

  1. Aprire una tabella nella visualizzazione Struttura.
  2. Nella parte superiore della finestra fare clic sul campo per il quale si desidera creare l'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.).
  3. Nella parte inferiore della finestra fare clic sulla casella della proprietà Indicizzato e quindi fare clic su Sì (Duplicati ammessi) oppure Sì (Duplicati non ammessi).
  4. Selezionare il campo o i campi contenenti la chiave primaria.
  5. Nel gruppo Strumenti della scheda Struttura fare clic su Chiave primaria.

  1. 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.

MostraProcedura

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.

MostraDefinire una relazione uno-a-molti o una relazione uno-a-uno

  1. Chiudere tutte le tabelle aperte. Non è possibile creare o modificare relazioni tra tabelle aperte.
  2. Nel gruppo Mostra/Nascondi della scheda Strumenti database fare clic su Relazioni.
  1. 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.

  1. 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.
  2. 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.

  1. 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.

  1. Fare clic sul pulsante Crea per creare la relazione.
  2. 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.

MostraDefinire una relazione molti-a-molti

  1. Creare le due tabelle che verranno collegate tramite una relazione molti-a-molti (relazione molti-a-molti: Associazione fra due tabelle in cui un record di una di esse può essere correlato a molti record dell'altra. Per stabilire una relazione molti-a-molti è necessario creare una terza tabella di collegamento e aggiungere a questa i campi chiave primaria di ciascuna delle altre due tabelle.).
  2. Creare una terza tabella, denominata tabella di collegamento, e aggiungervi i nuovi campi con le stesse definizioni dei campi chiave primaria provenienti da ognuna delle altre due tabelle. Nella tabella di collegamento i campi chiave primaria fungono da chiavi esterne. È possibile aggiungere altri campi alla tabella di collegamento, analogamente a qualsiasi altra tabella.
  3. Nella tabella di congiunzione impostare la chiave primaria per includere tutti i campi chiave primaria presenti nelle altre due tabelle. Nella tabella di congiunzione Dettagli ordini, ad esempio, la chiave primaria sarebbe composta dai campi ID ordine e ID prodotto.

MostraProcedura

  1. Aprire la tabella nella visualizzazione Struttura.
  2. Selezionare il campo o i campi che si desidera definire come chiave primaria.

Per selezionare un campo, fare clic sul selettore di riga (selettore di riga: Piccola casella o barra su cui è possibile fare clic per selezionare un'intera riga nella visualizzazione Struttura delle tabelle o delle macro o per ordinare e raggruppare i record nella visualizzazione Struttura dei report.) del campo desiderato.

Per selezionare più campi, tenere premuto CTRL e quindi fare clic sul selettore di riga di ogni campo.

  1. Nel gruppo Strumenti della scheda Struttura fare clic su Chiave primaria.

 Nota   Se si desidera che l'ordine dei campi in una chiave primaria a più campi sia diverso da quello degli stessi campi nella tabella, fare clic sul pulsante Indici nel gruppo Mostra/Nascondi per visualizzare la finestra Indici (finestra Indici: In un database di Access, finestra in cui è possibile visualizzare o modificare gli indici di una tabella oppure creare indici multicampo.) e quindi riordinare i nomi dei campi per l'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.) denominato ChiavePrimaria.


  1. Definire una relazione uno-a-molti (relazione uno-a-molti: Associazione fra due tabelle in cui il valore della chiave primaria di ogni record della tabella primaria corrisponde al valore del campo o dei campi corrispondenti di molti record nella tabella collegata.) tra le due tabelle primarie (tabella primaria: Il lato ''uno'' di due tabelle correlate in una relazione uno-a-molti. Una tabella primaria deve includere una chiave primaria e ogni record deve essere univoco.) e la tabella di collegamento.

  1. Salvare il nuovo database.
 
 
Si applica a:
Access 2007