[Risolto] inserimento Campo integer in tabella esistente

Discussioni sulle caratteristiche di database
Rispondi
Maurizio_senu
Messaggi: 110
Iscritto il: sabato 13 febbraio 2021, 9:41

[Risolto] inserimento Campo integer in tabella esistente

Messaggio da Maurizio_senu »

Salve,

dovrei inserire in una tabella esistente, con diversi record presenti, un campo Id per la numerazione automatica dei record;
come da allegato la mia tabella non ha un campo ID di tipo intero(integer), che dovrebbe servire per trovare la porizione di un record
nella tabella, per poi aprirlo e modificare i campi presenti.
Ho provato in diversi modi, ma il dbase non me lo permette. Vi è un modo pratico per farlo senza dovere cancellare tutti i record per poi ri-importarli dopo la modifica?
Grazie
Allegati
tabellaBASE.jpg
Ultima modifica di Maurizio_senu il mercoledì 6 ottobre 2021, 13:07, modificato 4 volte in totale.
versione Libreoffice 7.0.4.2 con windows 8.1
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8786
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: inserimento Campo integer in tabella esistente

Messaggio da charlie »

Ciao, accertati prima che la tabella non abbia relazioni con altre.
Poi aggiungi una colonna con ID di tipo integer, salva, chiudi e modifica la tabella numerando tutti i record presenti a partire da 0 e in maniera progressiva.
Togli la chiave primaria dal campo attuale e rendi chiave primaria il nuovo campo ID. Imposta poi il campo ID ad incremento automatico.
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Maurizio_senu
Messaggi: 110
Iscritto il: sabato 13 febbraio 2021, 9:41

Re: inserimento Campo integer in tabella esistente

Messaggio da Maurizio_senu »

si ci provo, pero voglio mantenere il campo "codice" per non permettere l'inseromento di record doppi e per fare ciò ho impostato il campo "codice" come chiave primaria.
Potrei comunque impostare due chiavi primarie ?
versione Libreoffice 7.0.4.2 con windows 8.1
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8786
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: inserimento Campo integer in tabella esistente

Messaggio da charlie »

Se imposti due chiavi primarie puoi avere dei doppioni, ad esempio:
ID = 0 e Codice = Pippo
ID = 1 e Codice = Pippo
ID = 0 e Codice = Pluto
ID = 1 e Codice = Pluto
In pratica la chiave primaria è data dalla combinazione dei 2 campi anzichè da 1 solo.
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Maurizio_senu
Messaggi: 110
Iscritto il: sabato 13 febbraio 2021, 9:41

Re: inserimento Campo integer in tabella esistente

Messaggio da Maurizio_senu »

purtroppo nel Dbase vi sono molte relazioni con la tabella in questione, è infatti la tabella principale con tutti i dati.
Comunque lascerei un ID "codice" non numerico ma alfanumerico di tipo testo senza autoaggiornamento, come è già e inserirei in ID con autoaggiornamento tipo
Integer.
come posso procedere?
versione Libreoffice 7.0.4.2 con windows 8.1
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8786
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: inserimento Campo integer in tabella esistente

Messaggio da charlie »

Devi assolutamente distattivare le relazioni di quella tabella, le potrai riattivare a lavoro terminato.
Poi procedi come ti ho indicato.
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Maurizio_senu
Messaggi: 110
Iscritto il: sabato 13 febbraio 2021, 9:41

Re: inserimento Campo integer in tabella esistente

Messaggio da Maurizio_senu »

Va bene Grazie,
ci provo
versione Libreoffice 7.0.4.2 con windows 8.1
Rispondi