Nota
Microsoft Access non supporta l'importazione di dati di Excel con un'etichetta di riservatezza applicata. Come soluzione alternativa, è possibile rimuovere l'etichetta prima dell'importazione e quindi riapplicarla dopo l'importazione. Per altre informazioni, vedere Applicare le etichette di riservatezza ai file e alla posta elettronica in Office.
Questo articolo descrive come spostare i dati da Excel ad Access e convertirli in tabelle relazionali in modo da poter usare Microsoft Excel e Access insieme. In sintesi, Access è il migliore per acquisire, archiviare, eseguire query e condividere dati, mentre Excel è il migliore per calcolare, analizzare e visualizzare i dati.
Due articoli, Uso di Access o Excel per gestire i dati e I 10 motivi principali per usare Access con Excel, discutono quale programma è più adatto per una particolare attività e come usare Excel e Access insieme per creare una soluzione pratica.
Quando si spostano dati da Excel ad Access, il processo deve eseguire tre passaggi fondamentali.
Nota
Per informazioni sulla modellazione dei dati e le relazioni in Access, vedere Nozioni fondamentali sulla progettazione di database.
Passaggio 1: Importare dati da Excel ad Access
L'importazione dei dati è un'operazione che può andare molto più agevolmente se ci si prende del tempo per preparare e pulire i dati. Importare dati è come trasferirsi in una nuova casa. Se pulisci e organizzi i tuoi beni prima di trasferirti, stabilirti nella tua nuova casa è molto più facile.
Pulire i dati prima dell'importazione
Prima di importare i dati in Access, in Excel è consigliabile di:
- Convertire le celle che contengono dati non atomici (ossia più valori in una cella) in più colonne. Ad esempio, una cella in una colonna "Competenze" che contiene più valori di competenza, come "Programmazione C#", "Programmazione VBA" e "Web design", deve essere suddivisa in colonne separate contenenti ognuna un solo valore di competenza.
- Utilizzare il comando ANNULLA.SPAZI per rimuovere i vani iniziali, finali e multipli incorporati.
- Rimuovere i caratteri non stampabili.
- Trovare e correggere errori di ortografia e punteggiatura.
- Rimuovere righe o campi duplicati.
- Verificare che le colonne di dati non contengano formati misti, in particolare numeri formattati come testo o date formattate come numeri.
Per altre informazioni, vedere gli argomenti della Guida di Excel seguenti:
- I dieci metodi principali per la pulizia dei dati
- Filtrare i valori univoci o rimuovere i valori duplicati
- Convertire in numeri i numeri memorizzati come testo
- Convertire in date le date memorizzate come testo
Nota
Se le tue esigenze di pulizia dei dati sono complesse o non hai il tempo o le risorse per automatizzare il processo da solo, potresti prendere in considerazione l'utilizzo di un fornitore di terze parti. Per ulteriori informazioni, cercare "software di pulizia dei dati" o "qualità dei dati" in base al motore di ricerca preferito nel Web browser.
Scegliere il tipo di dati migliore durante l'importazione
Durante l'operazione di importazione in Access, è consigliabile scegliere correttamente gli errori di conversione che potrebbero richiedere un intervento manuale. Nella tabella seguente è riepilogato il modo in cui vengono convertiti i formati numerici di Excel e i tipi di dati di Access quando si importano dati da Excel ad Access e vengono offerti alcuni suggerimenti sui tipi di dati più adatti da scegliere nell'Importazione guidata foglio di calcolo.
| Formato numerico di Excel | Tipo di dati di Access | Commenti | Procedura consigliata |
|---|---|---|---|
| Text | Testo, Memo | Il tipo di dati Testo di Access archivia dati alfanumerici contenenti fino a 255 caratteri. Nel tipo di dati Memo di Access vengono archiviati dati alfanumerici contenenti fino a 65.535 caratteri. | Scegliere Memo per evitare il troncamento dei dati. |
| Numero, Percentuale, Frazione, Scientifico | Numero | Per Access è disponibile un solo tipo di dati Numero che varia in base a una proprietà Dimensione campo (Byte, Intero, Intero lungo, Singolo, Doppio, Decimale). | Scegliere Double per evitare errori di conversione dei dati. |
| Data | Date | Sia Access che Excel usano lo stesso numero seriale per archiviare le date. In Access l'intervallo di date è più ampio, ovvero da -657.434 (1 gennaio 100 d.C.) a 2.958.465 (31 dicembre 9999 d.C.). Poiché Access non riconosce il sistema data 1904 (utilizzato in Excel per Macintosh), è necessario convertire le date in Excel o Access per evitare confusione. Per altre informazioni, vedere Modificare il sistema data, il formato o l'interpretazione dell'anno a due cifre e Importare o collegare dati in una cartella di lavoro di Excel. |
Scegliere Data. |
| Time | Ora | Sia Access che Excel archiviano i valori temporali usando lo stesso tipo di dati. | Scegliere Ora, che in genere è l'impostazione predefinita. |
| Valuta, contabilità | Valuta | In Access il tipo di dati Valuta archivia i dati con precisione fino a quattro posizioni decimali come numeri a 8 byte e viene utilizzato per archiviare dati finanziari e impedire l'arrotondamento dei valori. | Scegli Valuta, che in genere è l'impostazione predefinita. |
| booleano | Sì/No | Access usa -1 per tutti i valori Sì e 0 per tutti i valori No, mentre Excel usa 1 per tutti i valori VERO e 0 per tutti i valori FALSO. | Scegliere Sì/No, che converte automaticamente i valori sottostanti. |
| Collegamento ipertestuale | Collegamento ipertestuale | Un collegamento ipertestuale in Excel e Access contiene un URL o un indirizzo Web su cui è possibile fare clic e seguire. | Scegliere Collegamento ipertestuale, altrimenti Access può usare il tipo di dati Testo per impostazione predefinita. |
Una volta che i dati sono in Access, è possibile eliminare i dati di Excel. Non dimenticare di eseguire il backup della cartella di lavoro Excel originale prima di eliminarla.
Per altre informazioni, vedere l'argomento della Guida di Access Importare o collegare dati di una cartella di lavoro di Excel.
Accodare automaticamente i dati in modo semplice
Un problema comune degli utenti di Excel è l'accodamento di dati con le stesse colonne in un unico foglio di lavoro di grandi dimensioni. Ad esempio, si potrebbe avere una soluzione di tracciamento delle risorse che era nata in Excel ma ora si è ampliata fino a includere i file di molti gruppi di lavoro e reparti. Questi dati possono trovarsi in fogli di lavoro e cartelle di lavoro diversi o in file di testo che sono feed di dati da altri sistemi. Non esiste un comando dell'interfaccia utente o un modo semplice per aggiungere dati simili in Excel.
La soluzione migliore consiste nell'usare Access, in cui è possibile importare e accodare facilmente dati in un'unica tabella usando l'Importazione guidata foglio di calcolo. Inoltre, è possibile accodare molti dati in una tabella. È possibile salvare le operazioni di importazione, aggiungerle come attività pianificate di Microsoft Outlook e persino usare le macro per automatizzare il processo.
Passaggio 2: Normalizzare i dati con l'Analizzatore tabelle guidata
A prima vista, passare attraverso il processo di normalizzazione dei dati può sembrare un compito arduo. Fortunatamente, la normalizzazione delle tabelle in Access è un processo molto più semplice, grazie alla Creazione guidata Analizza tabelle.
1. Trascinare le colonne selezionate in una nuova tabella e creare automaticamente relazioni
2. Usare i comandi tramite pulsante per rinominare una tabella, aggiungere una chiave primaria, impostare una colonna esistente come chiave primaria e annullare l'ultima azione
È possibile usare questa procedura guidata per eseguire le operazioni seguenti:
- Convertire una tabella in un set di tabelle più piccole e creare automaticamente una relazione di chiave primaria ed esterna tra le tabelle.
- Aggiungere una chiave primaria a un campo esistente che contiene valori univoci oppure creare un nuovo campo ID con tipo di dati Numerazione automatica.
- Creare automaticamente relazioni per applicare l'integrità referenziale con aggiornamenti a catena. Le eliminazioni a catena non vengono aggiunte automaticamente per impedire l'eliminazione accidentale dei dati, ma è possibile aggiungerle facilmente in un secondo momento.
- Cercare dati ridondanti o duplicati nelle nuove tabelle, ad esempio lo stesso cliente con due numeri di telefono diversi, e aggiornarli nel modo desiderato.
- Eseguire il backup della tabella originale e rinominarla aggiungendo "_OLD" al relativo nome. Quindi, creare una query che ricostruisce la tabella originale, con il nome della tabella originale, in modo che tutte le maschere o i report esistenti basati sulla tabella originale funzionino con la nuova struttura della tabella.
Per altre informazioni, vedere Normalizzare i dati con Analizzatore tabelle.
Passaggio 3: Connettersi ai dati di Access da Excel
Dopo che i dati sono stati normalizzati in Access ed è stata creata una query o una tabella che ricostruisce i dati originali, è semplice connettersi ai dati di Access da Excel. I dati si trovano ora in Access come origine dati esterna e possono quindi essere connessi alla cartella di lavoro tramite una connessione dati, ossia un contenitore di informazioni usato per individuare, accedere e accedere all'origine dati esterna. Le informazioni di connessione vengono archiviate nella cartella di lavoro e possono anche essere archiviate in un file di connessione, ad esempio un file Office Data Connection (ODC) (estensione ODC) o un file denominato origine dati (estensione dsn). Dopo essersi connessi a dati esterni, è anche possibile aggiornare automaticamente la cartella di lavoro di Excel da Access ogni volta che i dati vengono aggiornati in Access.
Per altre informazioni, vedere Importare dati da origini dati esterne (Power Query).
Inserire i dati in Access
Questa sezione illustra le fasi seguenti della normalizzazione dei dati: suddividere i valori nelle colonne Agente di vendita e Indirizzo nelle parti più atomiche, separare gli argomenti correlati nelle proprie tabelle, copiare e incollare tali tabelle da Excel in Access, creare relazioni chiave tra le tabelle di Access appena create e creare ed eseguire una semplice query in Access per restituire informazioni.
Dati di esempio in formato non normalizzato
Il foglio di lavoro seguente contiene valori non atomici nella colonna Agente di vendita e nella colonna Indirizzo. Entrambe le colonne devono essere suddivise in due o più colonne separate. Questo foglio di lavoro contiene anche informazioni su venditori, prodotti, clienti e ordini. Queste informazioni dovrebbero anche essere ulteriormente suddivise, per argomento, in tabelle separate.
| Agente di vendita | ID ordine | Data ordine | ID prodotto | Qtà | Prezzo | Nome del cliente | Indirizzo | Telefono |
|---|---|---|---|---|---|---|---|---|
| Li, Yale | 2349 | 3/4/09 | C-789 | 3 | $7.00 | Fourth Coffee | 7007 Cornell St Redmond, WA 98199 | 425-555-0201 |
| Li, Yale | 2349 | 3/4/09 | C-795 | 6 | $9.75 | Fourth Coffee | 7007 Cornell St Redmond, WA 98199 | 425-555-0201 |
| Adams, Ellen | 2350 | 3/4/09 | A-2275 | 2 | $16.75 | Adventure Works | 1025 Columbia Circle Kirkland, WA 98234 | 425-555-0185 |
| Adams, Ellen | 2350 | 3/4/09 | F-198 | 6 | $5.25 | Adventure Works | 1025 Columbia Circle Kirkland, WA 98234 | 425-555-0185 |
| Adams, Ellen | 2350 | 3/4/09 | B-205 | 1 | $4.50 | Adventure Works | 1025 Columbia Circle Kirkland, WA 98234 | 425-555-0185 |
| Hance, Jim | 2351 | 3/4/09 | C-795 | 6 | $9.75 | Contoso, Ltd. | 2302 Harvard Ave Bellevue, WA 98227 | 425-555-0222 |
| Hance, Jim | 2352 | 3/5/09 | A-2275 | 2 | $16.75 | Adventure Works | 1025 Columbia Circle Kirkland, WA 98234 | 425-555-0185 |
| Hance, Jim | 2352 | 3/5/09 | D-4420 | 3 | $7.25 | Adventure Works | 1025 Columbia Circle Kirkland, WA 98234 | 425-555-0185 |
| Koch, Reed | 2353 | 3/7/09 | A-2275 | 6 | $16.75 | Fourth Coffee | 7007 Cornell St Redmond, WA 98199 | 425-555-0201 |
| Koch, Reed | 2353 | 3/7/09 | C-789 | 5 | $7.00 | Fourth Coffee | 7007 Cornell St Redmond, WA 98199 | 425-555-0201 |
L'informazione nelle sue parti più piccole: i dati atomici
Usando i dati di questo esempio, è possibile usare il comando Testo in colonne in Excel per separare le parti "atomiche" di una cella, ad esempio l'indirizzo della via, la città, lo stato e il CAP, in colonne distinte.
La tabella seguente mostra le nuove colonne dello stesso foglio di lavoro dopo che sono state suddivise per rendere atomici tutti i valori. Si noti che le informazioni nella colonna Agente di vendita sono state suddivise nelle colonne Nome e Cognome e che le informazioni nella colonna Indirizzo sono state suddivise nelle colonne Indirizzo civico, Città, Stato e CAP. Questi dati sono in "prima forma normale".
| Cognome | Nome | Via e numero civico | Città | Stato | CAP |
|---|---|---|---|---|---|
| Li | Yale | 2302 Viale di Harvard | Bellevue | MI | 98227 |
| Adams | Ellen | 1025 Circolo di Columbia | Ravenna | MI | 98234 |
| Hance | Jim | 2302 Viale di Harvard | Bellevue | MI | 98227 |
| Koch | Canna | 7007 Cornell St Redmond | Redmond | MI | 98199 |
Suddivisione dei dati in argomenti organizzati in Excel
Le numerose tabelle di dati di esempio che seguono mostrano le stesse informazioni contenute nel foglio di lavoro di Excel suddiviso in tabelle per venditori, prodotti, clienti e ordini. Il design del tavolo non è definitivo, ma è sulla strada giusta.
La tabella Venditori contiene solo informazioni sul personale di vendita. Si noti che ogni record ha un ID univoco (SalesPerson ID). Il valore dell'ID Agente di vendita verrà utilizzato nella tabella Ordini per connettere gli ordini ai venditori.
| Venditori | ||
|---|---|---|
| ID venditore | Cognome | Nome |
| 101 | Li | Yale |
| 103 | Adams | Ellen |
| 105 | Hance | Jim |
| 107 | Koch | Canna |
La tabella Prodotti contiene solo informazioni sui prodotti. Si noti che ogni record ha un ID univoco (ID prodotto). Il valore dell'ID prodotto verrà utilizzato per connettere le informazioni sul prodotto alla tabella Dettagli ordine.
| Prodotti | |
|---|---|
| ID prodotto | Prezzo |
| A-2275 | 16.75 |
| B-205 | 4.50 |
| C-789 | 7,00 |
| C-795 | 9.75 |
| D-4420 | 7.25 |
| F-198 | 5,25 |
La tabella Clienti contiene solo informazioni sui clienti. Si noti che ogni record ha un ID univoco (ID cliente). Il valore dell'ID cliente verrà utilizzato per connettere le informazioni del cliente alla tabella Ordini.
| Clienti | ||||||
|---|---|---|---|---|---|---|
| ID cliente | Nome | Via e numero civico | Città | Stato | CAP | Telefono |
| 1001 | Contoso, Ltd. | 2302 Viale di Harvard | Bellevue | MI | 98227 | 425-555-0222 |
| 1003 | Adventure Works | 1025 Circolo di Columbia | Ravenna | MI | 98234 | 425-555-0185 |
| 1005 | Fourth Coffee | 7007 Cornell St | Redmond | MI | 98199 | 425-555-0201 |
La tabella Ordini contiene informazioni su ordini, venditori, clienti e prodotti. Si noti che ogni record ha un ID univoco (Order ID). Alcune informazioni contenute in questa tabella devono essere suddivise in un'altra tabella contenente i dettagli dell'ordine, in modo che la tabella Ordini contenga solo quattro colonne: l'ID ordine univoco, la data dell'ordine, l'ID del venditore e l'ID del cliente. La tabella visualizzata qui non è ancora stata suddivisa nella tabella Dettagli ordini.
| Ordini | |||||
|---|---|---|---|---|---|
| ID ordine | Data ordine | ID agente di vendita | ID cliente | ID prodotto | Qtà |
| 2349 | 3/4/09 | 101 | 1005 | C-789 | 3 |
| 2349 | 3/4/09 | 101 | 1005 | C-795 | 6 |
| 2350 | 3/4/09 | 103 | 1003 | A-2275 | 2 |
| 2350 | 3/4/09 | 103 | 1003 | F-198 | 6 |
| 2350 | 3/4/09 | 103 | 1003 | B-205 | 1 |
| 2351 | 3/4/09 | 105 | 1001 | C-795 | 6 |
| 2352 | 3/5/09 | 105 | 1003 | A-2275 | 2 |
| 2352 | 3/5/09 | 105 | 1003 | D-4420 | 3 |
| 2353 | 3/7/09 | 107 | 1005 | A-2275 | 6 |
| 2353 | 3/7/09 | 107 | 1005 | C-789 | 5 |
I dettagli dell'ordine, come l'ID prodotto e la quantità, vengono spostati dalla tabella Ordini e archiviati in una tabella denominata Dettagli ordini. Tieni presente che ci sono 9 ordini, quindi ha senso che ci siano 9 record in questa tabella. Si noti che la tabella Ordini ha un ID univoco (ID ordine), a cui viene fatto riferimento dalla tabella Dettagli ordine.
La struttura finale della tabella Ordini dovrebbe essere simile alla seguente:
| Ordini | |||
|---|---|---|---|
| ID ordine | Data ordine | ID agente di vendita | ID cliente |
| 2349 | 3/4/09 | 101 | 1005 |
| 2350 | 3/4/09 | 103 | 1003 |
| 2351 | 3/4/09 | 105 | 1001 |
| 2352 | 3/5/09 | 105 | 1003 |
| 2353 | 3/7/09 | 107 | 1005 |
La tabella Dettagli ordine non contiene colonne che richiedono valori univoci, ovvero non esiste una chiave primaria, pertanto è accettabile che una o tutte le colonne contengano dati "ridondanti". Tuttavia, non devono esserci due record in questa tabella completamente identici. Questa regola si applica a qualsiasi tabella in un database. In questa tabella dovrebbero essere presenti 17 record, ciascuno corrispondente a un prodotto in un ordine individuale. Ad esempio, nell'ordine 2349, tre prodotti C-789 comprendono una delle due parti dell'intero ordine.
La tabella dei dettagli dell'ordine dovrebbe quindi avere il seguente aspetto:
| Dettagli ordine | ||
|---|---|---|
| ID ordine | ID prodotto | Qtà |
| 2349 | C-789 | 3 |
| 2349 | C-795 | 6 |
| 2350 | A-2275 | 2 |
| 2350 | F-198 | 6 |
| 2350 | B-205 | 1 |
| 2351 | C-795 | 6 |
| 2352 | A-2275 | 2 |
| 2352 | D-4420 | 3 |
| 2353 | A-2275 | 6 |
| 2353 | C-789 | 5 |
Copia e incolla di dati da Excel in Access
Ora che le informazioni su venditori, clienti, prodotti, ordini e dettagli degli ordini sono state suddivise in argomenti separati in Excel, è possibile copiare i dati direttamente in Access, dove diventeranno tabelle.
Creazione di relazioni tra le tabelle di Access ed esecuzione di una query
Dopo aver spostato i dati in Access, è possibile creare relazioni tra tabelle e quindi creare query per restituire informazioni su vari argomenti. Ad esempio, è possibile creare una query che restituisca l'ID ordine e i nomi dei venditori per gli ordini immessi tra il 05/03/09 e il 08/03/09.
Inoltre, è possibile creare maschere e report per semplificare l'immissione dei dati e l'analisi delle vendite.
Servono altre informazioni?
È sempre possibile rivolgersi a un esperto della Tech Community di Excel o ottenere supporto nelle Community.