Pannello di Controllo Moderatore ]

inserimento Campo integer in tabella esistente

Discussioni sulle caratteristiche di database

inserimento Campo integer in tabella esistente

Messaggioda Maurizio_senu » venerdì 11 giugno 2021, 20:24

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
versione Libreoffice 7.0.4.2 con windows 8.1
Maurizio_senu
 
Messaggi: 45
Iscritto il: sabato 13 febbraio 2021, 10:41

Re: inserimento Campo integer in tabella esistente

Messaggioda charlie » sabato 12 giugno 2021, 10:17

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 10.12 Sierra: Open Office 4.1.9 - LibreOffice 6.4.6.2
http://www.charlieopenoffice.altervista.org
Avatar utente
charlie
Site Admin
Site Admin
 
Messaggi: 7568
Iscritto il: mercoledì 19 dicembre 2012, 11:50

Re: inserimento Campo integer in tabella esistente

Messaggioda Maurizio_senu » sabato 12 giugno 2021, 10:27

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
Maurizio_senu
 
Messaggi: 45
Iscritto il: sabato 13 febbraio 2021, 10:41

Re: inserimento Campo integer in tabella esistente

Messaggioda charlie » sabato 12 giugno 2021, 11:41

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 10.12 Sierra: Open Office 4.1.9 - LibreOffice 6.4.6.2
http://www.charlieopenoffice.altervista.org
Avatar utente
charlie
Site Admin
Site Admin
 
Messaggi: 7568
Iscritto il: mercoledì 19 dicembre 2012, 11:50

Re: inserimento Campo integer in tabella esistente

Messaggioda Maurizio_senu » sabato 12 giugno 2021, 11:46

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
Maurizio_senu
 
Messaggi: 45
Iscritto il: sabato 13 febbraio 2021, 10:41

Re: inserimento Campo integer in tabella esistente

Messaggioda charlie » sabato 12 giugno 2021, 13:36

Devi assolutamente distattivare le relazioni di quella tabella, le potrai riattivare a lavoro terminato.
Poi procedi come ti ho indicato.
charlie
macOS 10.12 Sierra: Open Office 4.1.9 - LibreOffice 6.4.6.2
http://www.charlieopenoffice.altervista.org
Avatar utente
charlie
Site Admin
Site Admin
 
Messaggi: 7568
Iscritto il: mercoledì 19 dicembre 2012, 11:50

Re: inserimento Campo integer in tabella esistente

Messaggioda Maurizio_senu » sabato 12 giugno 2021, 13:46

Va bene Grazie,
ci provo
versione Libreoffice 7.0.4.2 con windows 8.1
Maurizio_senu
 
Messaggi: 45
Iscritto il: sabato 13 febbraio 2021, 10:41


Torna a Base

Chi c’è in linea

Visitano il forum: Nessuno e 4 ospiti