Come Usare Microsoft Access: Guida Base per Creare Database, Tabelle, Query, Maschere, Report
Microsoft Access è il programma per database incluso nella suite Microsoft Office. Meno intuitivo di Word o Excel, ma offre potenti funzionalità per creare database relazionali, gestire dati ed estrarre informazioni. Imparare i passi base ti permette di iniziare a creare database, tabelle, report, maschere e query. Con la pratica, puoi passare a tecniche avanzate: mail merge, VBA, integrazione SQL Server, Power Apps.
Versione: Guida basata su Access 2016/2019/2021/Microsoft 365. Interfaccia a schede (Ribbon). Access Web Apps / Access Services deprecati. Per database web moderni: Power Apps, Azure SQL, Supabase, Firebase.
Passo 1: Creare un Nuovo Database
- Avvia Access
- Schermata iniziale → Nuovo database desktop vuoto (icona file vuoto) OPPURE scegli template (es. "Gestione contatti", "Inventario", "Progetti")
- Se vuoto: Inserisci Nome file (es.
MioDatabase.accdb) - Scegli Posizione (cartella locale, OneDrive, SharePoint - non rete locale non mappata per performance)
- Clicca Crea
- Access apre Tabella1 in Visualizzazione Foglio dati (griglia tipo Excel)
Passo 2: Creare e Progettare Tabelle (Struttura Dati)
Visualizzazione Progettazione (icona righello/tavola o Clic destro tabella → Visualizzazione Progettazione) è dove definisci la struttura.
Campi Chiave per Ogni Tabella
- Chiave Primaria (Primary Key): Campo univoco per ogni record (es.
ID,ClienteID,ISBN). Tipo: Contatore (AutoNumber) → Numerazione automatica univoca. Imposta: Seleziona riga → Clic Chiave primaria (icona chiave) - Campi dati: Nome, Tipo, Dimensione, Proprietà:
- Testo breve (Short Text): Fino 255 caratteri (nomi, codici, email)
- Testo lungo (Long Text): Fino ~1GB (note, descrizioni, memo) - ex "Memo"
- Numero (Number): Intero, Lungo, Singolo, Doppio, Decimale (quantità, prezzi, età)
- Data/Ora (Date/Time): Date, orari, timestamp
- Valuta (Currency): Monetario, 4 decimali fissi
- Sì/No (Yes/No): Booleano (True/False, Spunta)
- Allegato (Attachment): File multipli per record (immagini, PDF) - usa con parsimonia
- Collegamento ipertestuale (Hyperlink): URL, percorsi file, email
- Oggetto OLE: Legacy, evita
- Calcolato: Espressione basata su altri campi (Access 2010+)
- Ricerca (Lookup Wizard): Combo box da altra tabella/valori fissi (relazioni facili)
- Proprietà campo importanti: Dimensione campo, Formato, Maschera input, Valore predefinito, Regola di convalida, Testo convalida, Obbligatorio, Indicizzato (Sì - Duplicati OK / Sì - Nessun duplicato)
Esempio Tabella "Clienti"
ClienteID (Contatore, Chiave Primaria) Cognome (Testo breve, 50, Obbligatorio, Indicizzato: Sì-Duplicati OK) Nome (Testo breve, 50, Obbligatorio) Email (Testo breve, 100, Convalida: Like "*@*.*", Indicizzato: Sì-Nessun duplicato) Telefono (Testo breve, 20) DataRegistrazione (Data/Ora, Valore predefinito: Date(), Obbligatorio) Attivo (Sì/No, Valore predefinito: Sì)
Passo 3: Creare Relazioni tra Tabelle (Integrità Referenziale)
- Scheda Strumenti database → Relazioni
- Aggiungi tabelle → Chiudi
- Trascina Chiave Primaria tabella padre (es.
Clienti.ClienteID) su Chiave Esterna tabella figlia (es.Ordini.ClienteID) - Finestra Modifica relazioni:
- Spunta Imposta integrità referenziale (impedisce orfani, cascata opzionale)
- Opzionale: Aggiornamento a catena / Eliminazione a catena
- Tipo join: 1 (Inner) / 2 (Left Outer) / 3 (Right Outer)
- Crea → Linea di unione appare tra tabelle
- Salva (Ctrl+S) → Layout relazioni salvato
Passo 4: Creare Maschere (Forms) per Inserimento Dati User-Friendly
- Scheda Crea → Maschera (crea maschera base per tabella selezionata)
- Oppure: Progettazione maschera (da zero) / Creazione guidata maschera
- Visualizzazione Layout (default): Trascina campi da "Elenco campi" (destra) su maschera. Ridimensiona, allinea, aggiungi etichette, pulsanti, schede, sottomaschere
- Visualizzazione Progettazione: Controllo pixel-perfect, proprietà dettagliate (Data, Evento, Formato, Altro)
- Proprietà maschera: RecordSource (tabella/query origine), AllowEdits/Additions/Deletions, DefaultView (Maschera singola, Foglio dati, Continua, Scomposta)
- Controlli comuni: Casella di testo, Casella combinata (Combo), Casella di riepilogo (List), Pulsante comando, Scheda, Sottomaschera (per relazioni 1:N - es. Ordini dentro Cliente)
- Salva: Ctrl+S → Nome (es.
frmClienti)
Passo 5: Creare Query per Estrarre, Filtrare, Aggregare, Modificare Dati
- Scheda Crea → Progettazione query
- Aggiungi tabelle → Chiudi
- Trascina campi nella griglia (Campo, Tabella, Ordinamento, Visualizza, Criteri, Oppure...)
- Esempi criteri:
="Roma"(esatto)Like "R*"(inizia per R)Between #1/1/2024# And #12/31/2024#(date)>=100 And <=500(range numerico)Is Null / Is Not Null(vuoto/non vuoto)
- Totali (Σ): Raggruppamento e aggregazione (Sum, Avg, Count, Min, Max, StDev, Var, First, Last, Expression)
- Tipi query (gruppo "Tipo query" scheda Progettazione):
- Seleziona: Estrae dati (default)
- Crea tabella: Crea nuova tabella da risultati
- Aggiunta: Aggiunge record a tabella esistente
- Aggiornamento: Modifica record esistenti
- Elimina: Rimuove record
- SQL pass-through / Unione / Definizione dati: Avanzate
- Esegui: Esegui (icona !) → Visualizzazione Foglio dati
- Salva: Ctrl+S → Nome (es.
qryClientiRoma, prefissoqryconvenzione)
Passo 6: Creare Report per Stampa / Esportazione
- Scheda Crea → Report (auto da tabella/query) / Progettazione report / Creazione guidata report
- Visualizzazione Layout/Progettazione: Trascina campi, aggiungi raggruppamenti (Gruppo e ordina), totali, intestazioni/piè pagina, logo, codici a barre
- Proprietà report: RecordSource, Filter, OrderBy
- Anteprima stampa → Esporta: PDF, Word, Excel, HTML, RTF, Testo, Immagine
Passo 7: Macro e VBA (Automazione)
- Macro: Azioni predefinite (ApriMaschera, EseguiQuery, InviaEmail, ImpostaValore, Se...Allora...Altrimenti). Scheda Crea → Macro. Nessun codice
- VBA (Visual Basic for Applications): Potenza completa. Alt+F11 → Editor VBA. Moduli, Classi, Eventi (Form_Load, BeforeUpdate, Click, ecc.). DAO/ADO per manipolazione dati programmatica
Best Practice Fondamentali
- Normalizzazione: 1NF, 2NF, 3NF - Elimina ridondanza, assicura integrità
- Nominazione coerente:
tblClienti,qryClientiAttivi,frmClienti,rptFattureMensili,ID/TabellaIDper chiavi - Compatta e Ripara: File → Informazioni → Compatta e ripara database (regolarmente, previene corruzione, riduce dimensioni)
- Backup: Copia file
.accdb/.mdbregolarmente. Non è server DB - file singolo = singolo punto guasto - Sicurezza: Crittografia database (File → Informazioni → Crittografa con password), utenti/permessi (legacy .mdb workgroup), meglio: backend SQL Server + Access frontend
- Divisione Frontend/Backend: Strumenti database → Sposta dati → Backend (solo tabelle) su cartella rete/SharePoint, Frontend (maschere, query, report, macro, VBA) su ogni PC utente. Essenziale per multiutente
Limiti di Access e Quando Migrare
- Dimensione max file: 2 GB (accdb)
- Utenti contemporanei consigliati: ≤ 10-20 (con backend diviso su LAN veloce)
- Concorrenza alta, web, mobile, API, Big Data → Migra a SQL Server / Azure SQL / PostgreSQL / MySQL + Access come frontend OPPURE app web (Power Apps, Blazor, ASP.NET Core, Python, Node)
Access è eccellente per applicazioni dipartimentali, prototipazione rapida, utenti power-user, migrazione da Excel. Con buone pratiche, serve bene per anni.