Non è normale:normalizzare le tabelle Access vuote
Una delle cose più difficili da fare (ma più importante quando si costruisce un database) è costruire correttamente le strutture delle tabelle. Questo processo è noto come normalizzazione. Un database correttamente normalizzato non dovrebbe mai avere una sola tabella contenente informazioni ridondanti. Considera la seguente tabella:Cliente | Indirizzo | Città | Stato | Zip | Telefono |
Jones | 125 Main Street | Jonestown | NJ | 08000 | 609-555-1244 |
Jones | 125 Main Street | Jonestown | NJ | 08000 | 609-555-7890 |
Smith | 1542 Jones Strada | Laramie | WY | 82051 | 307-555-5412 |
Wilson | 78 Smith Circle | Jones | CA | 90000 | 451-555-8645 |
Se hai problemi a normalizzare le tabelle vuote, riempi ogni tabella con da cinque a dieci record. La visualizzazione delle tabelle con i dati in genere semplifica l'individuazione dei problemi di normalizzazione.
Ecco come iniziare a normalizzare le tue tabelle:- Esamina ogni tabella come è attualmente strutturata. Stai ripetendo informazioni inutilmente (come hai visto prima con l'indirizzo e il nome del cliente)?
- Se disponi di informazioni duplicate, determina il motivo per cui le stai ripetendo (ad esempio, i numeri di telefono multipli di un cliente).
- Rompi una tabella in due tabelle per eliminare la ridondanza.
- Ripeti i passaggi da 1 a 3 per ogni tabella finché tutta la ridondanza non viene eliminata.
Potresti scoprire che dividere una tabella in due non elimina ancora tutta la ridondanza in una tabella. In tal caso, continua a dividere le tabelle fino a quando tutta la ridondanza non è scomparsa.
Digiti 73.725, ma Access lo cambia in 74
L'arrotondamento automatico può frustrare la luce del giorno, ma correggerlo è facile. Per impostazione predefinita, Access imposta tutti i campi numerici per accettare interi lunghi. Come ricorderai dai tempi della matematica al liceo, un numero intero è un numero intero negativo o positivo. Per adattare i decimali, modifichi l'impostazione della dimensione del campo in modo che accetti i decimali. Ecco come:- Apri la tabella in visualizzazione Progettazione e fai clic sul campo che non collabora.
- Nella scheda Generale dell'area Proprietà nella parte inferiore dello schermo, fai clic sulla casella Dimensione campo.
- Fai clic sulla freccia giù alla fine del riquadro, quindi seleziona Singolo, Doppio o Decimale dal menu a discesa visualizzato.
- Salva la tabella e il tuo problema di arrotondamento automatico è terminato.
Per i dettagli sulla differenza tra le dimensioni dei campi Singolo, Doppio e Decimale, premere il tasto F1 nella casella della proprietà Dimensione campo. La schermata della Guida fornisce una descrizione dettagliata di ciascuna dimensione di campo, i numeri che conterrà e la quantità di spazio riservato per quella dimensione. L'accesso richiede una connessione a Internet per utilizzare il suo sistema di aiuto.
Le parole stanno cambiando:problemi con la correzione automatica di Access
A volte quelle funzionalità "utili" in Access possono diventare una seccatura. Una di queste funzionalità si chiama Correzione automatica. Potresti conoscerlo da Microsoft Word, dove spesso è un'ottima cosa. I database, tuttavia, contengono spesso acronimi, numeri di parte e simili. La correzione automatica può avere una giornata campale con tali "parole". Potresti anche non rendertene conto mentre inserisci i tuoi dati.
Hai due scelte per risolvere questo problema.
- Annulla gli effetti della correzione automatica non appena si verificano. Premi Ctrl+Z subito dopo che la correzione automatica ha fallito l'immissione dei dati. Access riporta i dati nel modo in cui li hai digitati. Sfortunatamente, affinché funzioni, devi effettivamente notare che Access ha modificato ciò che hai inserito.
- Disattiva completamente la correzione automatica. Per disattivare la correzione automatica, segui questi passaggi:
1. Fai clic sulla scheda File nell'angolo in alto a sinistra della schermata di Access.
2. Fai clic sul pulsante Opzioni nel menu in basso a sinistra dello schermo.
Viene visualizzata la finestra di dialogo Opzioni di accesso.
3. Fai clic su Proofing dall'elenco a sinistra.
Vengono visualizzate le tue scelte di correzione.
4. Fai clic sul pulsante Opzioni di correzione automatica.
Viene visualizzata la finestra di dialogo Correzione automatica.
5. Deseleziona alcune o tutte le caselle di controllo nella finestra di dialogo Correzione automatica.
Puoi disabilitare alcune o tutte le funzioni di correzione automatica, a seconda di ciò che la correzione automatica sta facendo per infastidirti al momento. Deseleziona l'opzione Sostituisci testo durante la digitazione se non desideri più che Access "ripari" i tuoi "errori di ortografia".
6. Fai clic su OK due volte per salvare le modifiche.
Ora puoi digitare correttamente il testo del problema, senza l'interferenza della correzione automatica, e farlo rimanere come lo hai digitato.
C'era e ora non c'è più:eliminazioni accidentali di dati in Access
Potresti aver sentito questo molto nel corso degli anni:"Il database ha cancellato il mio record!" Bene, ho una notizia per te:il database non fa nulla senza che noi umani lo comandiamo. E gli esseri umani possono fare un paio di errori:- Cancellazione accidentale: Esistono diversi modi per eliminare un record accidentalmente. Di solito viene premuta una scorciatoia da tastiera per Elimina, come Ctrl+– (elimina record) o Ctrl+X (taglia).
Il comando Annulla (Ctrl+Z) non annullerà l'eliminazione di un record.
- Errore nei dati: Un record può apparire cancellato se qualcuno modifica inavvertitamente un'informazione particolarmente vitale. Ad esempio, supponiamo che il record in questione contenga una data dell'ordine del 15/12/19 e che qualcuno modifichi inavvertitamente la data in 15/12/09. La data dell'ordine non è quella prevista, quindi è possibile che il record sia stato eliminato.
- Se un errore di dati fa sembrare il record eliminato, sono possibili diverse soluzioni, come illustrato nelle sezioni seguenti.
Annulla
Niente panico. Prima di fare qualsiasi altra cosa, premi Ctrl+Z. Questo è il comando Annulla. Se il record torna, sei fortunato. Annulla annulla gli errori di immissione dei dati che potrebbero causare la cancellazione del record. Tuttavia, questo funzionerà solo se annulli subito dopo che si è verificato l'errore di immissione dei dati.
Cerca il record mancante
Se provi il comando Annulla e il record non torna, c'è ancora la possibilità che un errore di immissione dei dati lo nasconda mettendolo dove non ti aspetti che sia. Apri la tabella che conteneva il record e cercalo in un modo diverso da quello che faresti normalmente. Cerca qualcosa fuori dall'ordinario su record simili. Ecco alcuni esempi:- Se normalmente cerchi gli ordini per data, cerca per cliente. Verifica se esiste un ordine simile a quello mancante per quel cliente e ha una data insolita (ad esempio, lo stesso mese e giorno dell'ordine mancante ma con l'anno sbagliato).
- Prova a guardare tutti gli ordini nella data in questione per vedere se il cliente su ciascun ordine sembra essere corretto. Potrebbe essere che il cliente sia stato modificato inavvertitamente sull'ordine mancante.
Ripristino del backup
Se non riesci a trovare il record da nessuna parte, copia il record da un backup del file di database.Questa soluzione funziona solo se hai eseguito il backup del database da quando il record è stato originariamente aggiunto. Se esegui il backup di notte e il record è stato inserito lo stesso giorno in cui è scomparso, quel record non sarà nel tuo backup.
Esegui una query di Access, ma i risultati sono imprevisti
La scrittura di domande è una forma d'arte. Anche gli esperti sbagliano ogni tanto. Di seguito sono riportate alcune soluzioni comuni ai risultati imprevisti delle query:- Verifica i criteri per l'accuratezza. Una singola battitura fuori posto è tutto ciò che serve per trasformare la tua query in un disastro. Controlla i criteri per gli errori di ortografia o sintassi, quindi esegui di nuovo la query.
- Prova la proprietà Valori Unici. Hai mai visto due copie di ogni record nei risultati della tua query quando te ne aspettavi solo una? Una soluzione rapida spesso deriva dall'utilizzo della proprietà Valori univoci. Questa proprietà indica ad Access di interrompere già il raddoppio e, se i risultati della query contengono un gruppo di duplicati esatti, di restituire solo una riga dal gruppo. Ecco come utilizzare questa proprietà:
1. Apri la query del problema in visualizzazione Progettazione.
Viene visualizzata la scheda Design sulla barra multifunzione.
2. Fai clic sul pulsante Scheda proprietà dal gruppo Mostra/Nascondi barra multifunzione della scheda.
La finestra del foglio delle proprietà si apre a destra della griglia della query.
3. Fai clic nell'area grigia tra gli elenchi di campi nella metà superiore della griglia di query.
Il foglio delle proprietà dovrebbe ora visualizzare le proprietà della query. (Guarda a destra sotto la barra del titolo della scheda delle proprietà per confermarlo.)
4. Fare clic sulla riga Valori univoci della scheda delle proprietà.
Una freccia dell'elenco a discesa viene visualizzata alla fine della riga Valori univoci.
5. Seleziona Sì dall'elenco a discesa ed esegui la query.
Il raddoppio dovrebbe scomparire.
- Correggi la logica di selezione. Destreggiarsi tra una serie di connessioni AND e OR in una query può rovinare rapidamente anche i progettisti di database più esigenti.
- Correggi le relazioni tra le tabelle. Se i risultati della tua query mostrano modo troppi record e la query utilizza due o più tabelle, la causa probabile sono relazioni improprie (chiamate anche join).
- Controlla i tipi di relazione tra tabelle. Se la tua query coinvolge due o più tabelle e ottieni meno record del previsto, la causa probabile sono le relazioni tra tabelle errate. Ad esempio, se disponi di un database di immissione degli ordini ed esegui una query che elenca tutti i clienti e i loro ordini, per impostazione predefinita vedrai solo i clienti che hanno effettuato un ordine. Per vedere tutti i clienti, indipendentemente dal fatto che abbiano effettuato ordini o meno, procedi come segue:
1. Nella vista Progettazione, fai clic con il pulsante destro del mouse sull'unione (la linea che collega le due tabelle) e scegli Proprietà unione dal menu visualizzato.
2. Esamina i tipi di join offerti e scegli quello che dice qualcosa come "Includi TUTTI i record da 'Clienti' e solo quei record da 'Ordini' in cui il i campi uniti sono uguali”.
Il testo effettivo che vedi differisce in base ai nomi delle tue tabelle. Per interrogare gli appassionati, questo viene chiamato outer join. Molto bello.
3. Fai clic su OK ed esegui la query.
Ora dovresti avere tutti i record dalla tabella Clienti indipendentemente dal fatto che ci siano o meno record corrispondenti nella tabella Ordini.
Se la tua query coinvolge diversi criteri, alcuni campi calcolati e numerose relazioni, prova a suddividere l'attività in diversi passaggi più piccoli invece di cercare di risolvere il problema tutto in una volta. L'approccio passo dopo passo ti consente di concentrarti su ogni pezzo, uno alla volta, assicurandoti che funzionino perfettamente prima di passare a quello successivo.
Se la tua richiesta continua a non funzionare, qualunque cosa tu faccia, chiedi a qualcun altro di dare un'occhiata. Ho spesso lavorato per ore su un problema di query difficile, l'ho mostrato a qualcun altro e ho sentito quelle parole magiche:"È semplice. Fai solo questo. E il problema è risolto. Avere un nuovo sguardo sul problema spesso risolve le cose velocemente.
La temuta finestra di dialogo del parametro in Access
A un certo punto, quando si apre una query, un modulo o un report, verrà visualizzata una finestra di dialogo Parametro quando non si desidera visualizzare una finestra di dialogo Parametro. Alzi le mani in aria e maledici l'universo? Ovviamente no! Ogni volta che viene visualizzata una finestra di dialogo Parametro in modo imprevisto (è possibile impostarla di proposito), significa che Access non riesce a trovare un campo a cui fa riferimento il modulo o il report o la query dietro il modulo o il report. Supponiamo che il problema sia con un rapporto. Per risolvere i problemi, inizia con la query alla base del rapporto. Apri quella query nella visualizzazione Foglio dati e verifica se ottieni il parametro. Se lo fai, quale campo richiede? Quel campo è quello che Access non riesce a trovare. Quindi, passa la query alla visualizzazione Progettazione e trova la colonna con il campo che Access non riesce a trovare. Il campo problema è in genere un campo Calcolato che fa riferimento ad altri campi. Ogni nome di campo e tabella è scritto correttamente? In caso contrario, correggere gli errori di ortografia. Ogni campo della tabella dovrebbe trovarsi? Ad esempio, se il tuo riferimento legge Ordini.Cognome e il campo Cognome è nella tabella Clienti, correggi l'errore digitando Clienti.Cognome .
Se la query viene eseguita senza un parametro, il problema è nel report. Quindi, apri il report in visualizzazione Progettazione e controlla ogni controllo sul report associato a un campo. Se Access non riesce a trovare uno dei campi che il controllo dovrebbe visualizzare, metterà un triangolo verde nell'angolo in alto a sinistra del controllo. Controlla ognuno per il triangolo verde. Se trovi il triangolo verde, controlla l'ortografia del campo a cui fa riferimento il controllo. Ad esempio, se il controllo deve visualizzare LastName (senza spazio) e il riferimento nel controllo dice Last Name (spazio), rimuovere lo spazio in modo che il controllo nel report corrisponda al nome del campo della query. Controlla anche la query sottostante del rapporto per confermare che il campo del problema è selezionato nella query.
Il database di Access più lento della città
Un database di Access può finire sul drive condiviso di un'azienda, quindi è disponibile per tutti coloro che ne hanno bisogno. Il problema con il posizionamento dell'intero database di Access sull'unità condivisa è che spesso viene eseguito lentamente sulla workstation di ciascun utente (questa è una parola di fantasia per un singolo computer). Probabilmente ti imbatterai in errori anche se più persone tentano di utilizzare il database contemporaneamente. Le lamentele iniziano ad arrivare e non sai cosa fare.
La soluzione a questo problema sta nel dividere il file del database di Access in due file separati:
- Frontale: Contiene tutti gli oggetti del database tranne le tabelle
Il front-end risiede sulla workstation dell'utente.
- Back-end: Contiene solo le tabelle
Il back-end risiede sul server condiviso.
Il front-end è collegato alle tabelle nel back-end.
Tutto ciò che stai davvero condividendo sono i dati, quindi i dati sono tutto ciò che dovrebbe andare sul Drive condiviso. Impostando le cose in questo modo, le uniche informazioni che devono viaggiare attraverso la rete sono i dati richiesti dall'utente. Tale configurazione velocizza notevolmente le prestazioni del database e consente a più utenti di inserire e modificare i dati contemporaneamente.
Dividere il set di dati non è così difficile come potresti pensare. L'accesso lo rende un gioco da ragazzi con il Database Splitter Wizard. Segui questi passaggi per dividere il database:- Esegui il backup del database che desideri dividere. Se qualcosa va storto (improbabile, ma ehi, non puoi mai essere troppo sicuro quando si tratta di dati!), puoi riprovare con la copia di backup.
- Se necessario, sposta il database che desideri dividere in una cartella sul tuo Drive condiviso. Questo passaggio consente a Database Splitter di impostare i collegamenti alle tabelle correttamente per te.
- Apri il file di database che desideri dividere dalla cartella condivisa. Assicurati di avere una copia di backup di questo database prima di andare oltre. Assicurati inoltre che tutti gli oggetti del database siano chiusi.
- Fai clic sulla scheda Strumenti database sulla barra multifunzione. Il gruppo Sposta dati viene visualizzato sulla barra multifunzione. Contiene un pulsante chiamato Access Database.
- Fai clic sul pulsante Accedi al database. Viene visualizzata la finestra di dialogo Procedura guidata per la divisione del database.
- Fai clic sul pulsante Dividi database e lascia che la procedura guidata faccia il suo lavoro. Verrà richiesto un nome file di database back-end. Inserisci un nome, siediti e guarda il divertimento svolgersi davanti ai tuoi occhi.
- Copia il file front-end (il file originale che hai diviso) sulla workstation di ciascun utente. Chiedi agli utenti di aprire il file dalle loro workstation e vedere come si meravigliano della maggiore velocità del database! Sei un eroe. Sì!
Non hai un Drive condiviso o vuoi eliminare la tua condivisione? Puoi ancora avere più utenti contemporaneamente nel tuo database inserendo i tuoi dati nel cloud.
Il tuo file di database di Access è grande come una casa
Col passare del tempo, il tuo file di database diventa sempre più grande. Questo è il risultato dell'eliminazione di oggetti e record nel tempo. Se, ad esempio, crei una query e poi la elimini perché non è più necessaria, Access non rimuove automaticamente lo spazio occupato da quella query dal file di database. Lo stesso vale per i record. Quando elimini i record da una tabella, lo spazio occupato da quei record nel file di database rimane. Alla fine, il file può diventare quattro o cinque volte la dimensione richiesta per contenere i dati e gli oggetti al suo interno.
Perché dovrebbe interessarti se la dimensione del file aumenta? Ecco due motivi:
- Un file di database più piccolo viene eseguito più velocemente. Le prestazioni sono una componente chiave per gli utenti felici del database. Vuoi che i tuoi moduli si carichino rapidamente e che le tue query e i tuoi rapporti vengano eseguiti il più velocemente possibile.
- Un database regolarmente compattato è più stabile. Se il database viene utilizzato spesso, la compattazione regolare aiuta a prevenire il danneggiamento di file e tabelle.
- Apri il database gonfio e fai clic sulla scheda Strumenti database sulla barra multifunzione. Il gruppo Strumenti viene visualizzato all'estrema sinistra della barra multifunzione.
- Fare clic sul pulsante Compatta e ripristina database dal gruppo Strumenti. La barra di stato (in basso a destra dello schermo) mostra una barra di avanzamento che informa sull'avanzamento del processo di compattazione. Quando la barra di avanzamento scompare, la compattazione è completa e ti verrà lasciato un file di database molto più piccolo (più veloce e più stabile). Se hai diviso il database, non dimenticare di compattare sia i file front-end che quelli back-end.
Vuoi un file di database da compattare ogni volta che lo chiudi? Segui questi passaggi:
- Fai clic sulla scheda File sulla barra multifunzione.
- Fai clic sul pulsante Opzioni di accesso nella barra dei menu in basso a sinistra dello schermo. Viene visualizzata la finestra di dialogo Opzioni di accesso.
- Fai clic su Database corrente dall'elenco a sinistra. Vengono visualizzate le opzioni per il database corrente.
- Seleziona la casella di controllo Compatta alla chiusura.
- Fai clic su OK per salvare le modifiche.
- Fai clic su OK nella finestra del messaggio risultante.
- Chiudi il database e prendi nota della barra di stato in basso a destra. Il database si sta compattando prima di chiudersi!
Compatta alla chiusura viene utilizzata al meglio solo sul file front-end. La compattazione del back-end alla chiusura può causare il danneggiamento del file back-end nel caso in cui un altro utente si trovi al suo interno quando lo chiudi. Non attivare Compatta su Chiudi sul file back-end.
Fai un pasticcio quando importi il tuo foglio di lavoro in Access
È prassi comune aggiornare una raccolta di fogli di calcolo a un database di Access dopo che la soluzione del foglio di calcolo non è più adatta alle proprie esigenze. È anche comune trovare i dati del foglio di calcolo importato (ora tabella) in uno stato di disordine. Il modo più semplice per risolvere questo problema è ripulire il foglio di lavoro prima tu lo importi. Ecco alcuni suggerimenti per un'importazione ordinata:- Ricontrolla le informazioni provenienti da qualsiasi programma per fogli di lavoro per assicurarti che siano coerenti e completa. Soprattutto, assicurati che tutte le voci in ogni colonna (campo) siano dello stesso tipo di dati (tutti i numeri, tutto il testo o qualsiasi altra cosa).
- Rimuovi eventuali titoli e righe vuote dalla parte superiore del foglio di lavoro. Un foglio di lavoro ideale per l'importazione avrà i nomi dei campi (intestazioni di colonna) nella riga 1 e i dati che iniziano nella riga 2.
- Assicurati che le intestazioni delle colonne del foglio di lavoro siano brevi e univoche in modo che Access possa tradurle facilmente in nomi di campo durante l'importazione.
Siamo spiacenti; il file del database di Access è danneggiato
È iniziata come una giornata come tutte le altre. Tuttavia, in questo giorno, viene visualizzato un errore quando si apre il front-end del database di Access diviso. Non riesci ad aprire moduli o rapporti. È divertente come alcuni piccoli messaggi possano rovinarti la giornata. Inizi a chiederti se hai eseguito il backup del file di dati la scorsa notte e quando il file è stato effettivamente danneggiato. Poi inizi a chiederti come uscirai da questo pasticcio.
Non aver paura. C'è una soluzione semplice per un database corrotto. Ecco i passaggi:
- Individua la cartella che contiene il file di back-end.
- Fai doppio clic sul file per aprirlo. Access si avvierà e tenterà di riparare il file. Dovresti vedere una barra di avanzamento della riparazione nella parte destra della barra di stato. Se tutto va bene, il file si apre.
- Chiudi il file di dati di back-end.
- Riapri il file front-end e tutto dovrebbe funzionare normalmente.
Se, dopo aver seguito le istruzioni precedenti, il file danneggiato non si apre ancora, hai un problema serio che potrebbe richiedere qualche sforzo per ripulire. Il passaggio successivo consiste nel ricorrere a una copia di backup del database. Controlla quali dati mancano tra il backup e il tuo ricordo del file danneggiato. Sì, dovrai reinserire tutti i dati mancanti. Scusa!
Se non hai un backup, ogni speranza non è persa. È possibile acquistare software progettato specificamente per riparare i file di database di Access danneggiati. Prova a cercare sul Web riparare file di database Microsoft Access corrotti. Assicurati che il software funzioni con Microsoft Access 2019 e provenga da un'azienda legittima.