Crea sito

Come rinumerare un campo auto numerante di Access

Contiene argomenti inerenti al Data Base Managment System Microsoft Access.
Se sei abilitato puoi anche inserirne di nuovi.
In caso contrario inserisci le tue proposte di nuovi argomenti nell'apposita sezione "Le nuove proposte di discussione". Se ritenuti di interesse saranno aggiunti.

Moderatore: peopleopinion

Come rinumerare un campo auto numerante di Access

Messaggio da leggereda william » venerdì 23 novembre 2018, 19:24

Questo procedimento risulta utile ad esempio quando la tabella contiene un campo a numerazione automatica (autonumerante o autonumber) che non ha tabelle correlate, cioè quando quel campo non ha relazioni con altri campi in altre tabelle.

Con opportuni aggiustamenti (non mostrati in questo post) la procedura può essere adattata anche a tabelle in cui il campo è correlato con campi di altre tabelle in modo che anche i dati di queste ultime siano modificate in modo corrispondente e soprattutto non si perdano le correlazioni esistenti tra i record delle due tabelle.

Supponiamo per semplicità, che tale campo autonumerante sia chiamato con il nome di ID. Ma poco importa. Infatti potrebbe essere chiamato anche Numero Progressivo o in qualunque altro modo: la procedura non cambia.

Durante le innumerevoli modifiche a cui i record di una tabella sono sottoposti spesso si creano dei vuoti o buchi della numerazione progressiva dei record stessi ed in particolare nel campo ID nel nostro caso. La creazione dei buchi della numerazione progressiva avviene ogni volta che un record viene cancellato, e tali buchi non vengono più riempiti.

Questo procedimento funziona molto bene per tabelle già contenenti dati ed è relativamente semplice da eseguire, nonostante la spiegazione sembri lunga.
Procedura:
  1. Prima di tutto fare un backup del file di database, peraltro buona abitudine da fare spesso
  2. Fare una copia della tabella contenente il campo autonumerante ID che si intende rinumerare, in modo da avere una ulteriore sicurezza fino a completamento dell'operazione
  3. Aprire la tabella originale in modalità progettazione
  4. Eliminare il campo ID con numerazione automatica. Si ricorda che NON deve avere relazioni con altre tabelle. Access comunque mostra un messaggio a video in caso dovessero esserci campi correlati all'ID. Inoltre spesso il campo ID è impostato anche come chiave primaria e come indice. Access mostrerà a video anche la richiesta di eliminare la chiave primaria e l'indice relativo a quel campo: confermare l'eliminazione degli stessi
  5. Chiudere la modalità progettazione salvando la tabella
  6. Aprire la tabella in modalità foglio dati in modo da poter vedere i dati ed eventualmente modificarli. Ad esempio prima di procedere oltre potrebbe essere necessario o utile impostare l'ordinamento desiderato dei record della tabella in modo tale che anche la rinumerazione avvenga secondo l'ordine desiderato impostato in questa fase
  7. Quindi selezionare tutti i record e tutti i campi della tabella
  8. Tagliare tutti i record con l'apposito commando: la tabella verrà vuotata da tutti i dati, e resterà un solo record vuoto. I dati cosi tagliati sono nella clipboard del sistema, pertanto da questo momento in poi evitare di tagliare o copiare altro perché quei dati tagliati sarebbero inesorabilmente sovrascritti e sarebbero persi (motivo per prevenire il quale si è prudenzialmente creato il backup del database e anche la copia della tabella prima di procedere in modo da evitare perdite irrecuperabili dei dati)
  9. Chiudere la tabella: potrebbe essere mostrata una richiesta di conferma per il salvataggio della tabella e/o dei dati contenuti nella clipboard. Rispondere di Si per confermare l'operazione
  10. Dopo aver fornito la conferma, la tabella si chiude: i dati salvati nella clipboard saranno ora stati resi disponibili da Access per future operazioni. Si ribadisce ancora una volta che è molto importante per evitare la perdita dei dati tagliati non fare operazioni di Copia o Taglia fino al termine della procedura
  11. Procedere quindi ad effettuare la compattazione del file di database Access in modo da resettare il numero progressivo ID: senza questa operazione, anche cancellando e ricreando il campo la numerazione progressiva continuerebbe dal punto in cui era arrivata precedentemente
  12. Quindi riaprire la tabella in modalità progettazione
  13. Ricreare al suo interno il campo ID precedentemente cancellato
  14. Impostare il campo come numerazione automatica o autonumber
  15. Se precedentemente il campo ID era impostarlo anche come chiave primaria, impostarlo allo stesso modo, così da ricreare l'indice annesso
  16. Salvare e chiudere la modalità progettazione della tabella aprendola in modalità foglio dati: si vedrà ancora il solo record nuovo vuoto
  17. Selezionare tutte le colonne tranne l'ID; le colonne selezionate ora dovranno essere le stesse precedentemente tagliate e, inoltre, dovranno essere nello stesso ordine relativo di quando è stato eseguito il commando Taglia altrimenti i dati potrebbero finire nei campi sbagliati
  18. Incollare i dati ancora presenti nella clipboard
  19. Access chiederà conferma per incollare il numero di record precedentemente tagliati e ora nella clipboard: confermare l'azione cliccando su Si
  20. Si noterà che il campo ID ha ricreato la numerazione e questa volta non ci saranno buchi nella progressione
  21. Si noterà anche che i record saranno incollati già ordinati in base ai criteri di ordinamento impostati prima di eseguire il comando Taglia
  22. Chiudere la tabella
  23. Finito

Spero che questa procedura ti possa essere utile.

Ciao
Avatar utente
william
 
Messaggi: 71
Iscritto il: sabato 23 ottobre 2010, 2:43

Torna a Data Base Microsoft Access

Chi c’è in linea

Visitano il forum: Nessuno e 0 ospiti

Notizie in Evidenza:

...http://peopleopinion.altervista.org/

...Il Fatto Quotidiano prima pagina

...Il Fatto Quotidiano

...ANSA

...ANSA Top News

...ANSA Tecnologia

...AGI

...AGI Live

...https://news.google.com

...https://news.google.com

...https://news.google.com

...BBC

cron

Totale visite dal 02.02.2012