[Risolto] Chiave primaria

Discussioni sulle caratteristiche di database
Rispondi
salrandazzo
Messaggi: 10
Iscritto il: sabato 18 novembre 2017, 13:20

[Risolto] Chiave primaria

Messaggio da salrandazzo »

Provo ad importare una tabella da altre applicazioni, tipicamente da Access.
Copio i dati in un foglio di calcolo e poi incollo per creare una nuova tabella.
Inizialmente i campi sono tutti automaticamente varchar.
Il primo campo per me deve essere ID, che poi servirà come link in altre tabelle, es: ordini linka ID_Cliente al campo ID della tabella clienti.
Quindi lo cambio in Integer (o long integer) e imposto il valore automatico.
Il genio capisce che deve essere una chiave primaria, e ci mette l'icona della chiavetta.
Ma quando cerco di salvare mi dice "Impossibile cambiare la colonna ID. Preferite eliminare la colonna e applicare un nuovo formato?".
No, non voglio eliminare la colonna. Ma se rispondo "no" il genio toglie il valore automatico e salva. Quindi non ho la chiave primaria.
Che fare?
Fra l'altro, se non c'è la chiave primaria la tabella non si può modificare.
La domanda è: come faccio ad importare una tabella senza perdere la chiave primaria? Senza doverne definire un'altra, mandando a pallino tutte le relazioni con le altre tabelle?
Allegati
ChiavePrimaria.PNG
Ultima modifica di charlie il mercoledì 3 gennaio 2024, 18:20, modificato 1 volta in totale.
Motivazione: Aggiunto [Risolto] e ✔ verde
OpenOffice 4.1.4 su Windows10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8786
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Chiave primaria

Messaggio da charlie »

Ciao e benvenuto sul forum.
Se intanto ti vuoi presentare puoi farlo qui: viewforum.php?f=16
Per una panoramica delle regole consulta il Manuale di sopravvivenza.
Buon proseguimento.
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8786
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Chiave primaria

Messaggio da charlie »

Ciao, mi sono trovato talvolta davanti al problema da te descritto risolvendolo soltanto con l'aggiunta di un nuovo campo chiave primaria.
Ma nel tuo caso hai la possibilità, continuando a lavorare in ambiente Windows, di importare direttamente le tabelle di Access senza passare da un foglio di calcolo.
E' sufficiente scegliere Collega ad un database esitente e selezionare Access nel menu a discesa nella procedura guidata di creazione di un nuovo database.
Avrai le tue tabelle con le stesse chiavi primarie che avevi.
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
salrandazzo
Messaggi: 10
Iscritto il: sabato 18 novembre 2017, 13:20

Re: Chiave primaria

Messaggio da salrandazzo »

Grazie ancora Charlie!
SI, ci avevo provato ad importare direttamente da msAccess. Con pessimi risultati, visto che mi dice che gli manca qualcosa. Probabilmente devo installare qualcosa, ma non so cosa.
Me la caverò facendogli aggiungere un campo ID al momento dell'importazione. Vuol dire che perderò le connessioni con altre tabelle, ma al momento posso rimediare, non è un disastro.
D'altra parte le migrazioni non sono quasi mai un processo facile.
Adesso, se non hai altre idee, mi metto a studiare come gestire MySQL.
Eppure mi pare strano, che almeno via ODBC, non si possa separare una applicazione su file odb dai dati su un altro file odb. Mah.....
Grazie ancora.
Salvatore
Allegati
ImpossibileCreare.PNG
ImpossibileCreare.PNG (6.98 KiB) Visto 3100 volte
OpenOffice 4.1.4 su Windows10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8786
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Chiave primaria

Messaggio da charlie »

No, deve funzionare senza aggiunte.
Il mio ambiente operativo non è Windows, ma ho fatto una capatina in W7 per controllare e mi collego ad un file .mdb creato appositamente con Access 2003 senza problemi.
Allegati
Schermata 11-2458077 alle 11.00.36.png
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
salrandazzo
Messaggi: 10
Iscritto il: sabato 18 novembre 2017, 13:20

Re: Chiave primaria

Messaggio da salrandazzo »

E così pensavo che fosse.
Le differenze che vedo sono:
- Il mio è un file accdb per Access 2007, il tuo è mdb per versioni precedenti
- Il mio è windows 10, il tuo è windows 7.
Uno di questi due elementi, o entrambi, crea un disturbo. Vedremo di chiarire.
Grazie!
Salvo
OpenOffice 4.1.4 su Windows10
Avatar utente
unlucky83
Volontario
Volontario
Messaggi: 2355
Iscritto il: lunedì 7 gennaio 2013, 1:23
Località: Latina

Re: Chiave primaria

Messaggio da unlucky83 »

mmm...puoi allegare il foglio di calcolo che ti genera il problema del settaggio della chiave primaria in INTEGER?
Non vorrei che Calc assegni per caso a qualche campo il formato testo,così da rendere eterogenea la colonna ID, numeri e testi, che poi importando in Base ti impedisce di ridefinire integer il campo.
E' un'ipotesi remota
LibO:Versione: 6.2.8.2
Build ID: 1:6.2.8~rc2-0ubuntu0.16.04.1- 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio come spiegato qui
AleMur
Messaggi: 80
Iscritto il: venerdì 20 ottobre 2023, 18:43

Re: Chiave primaria

Messaggio da AleMur »

Buonasera, sembra che questo post non sia risolto, o almeno io mi trovo nello stesso problema..
@charlie ho controllato che la colonna ID in CALC sia tipo numerico.. mi puoi aiutare? (rif. progetto Veterinario)
Grazie
OpenOffice 4.1.14 Windows 10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8786
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Chiave primaria

Messaggio da charlie »

Buongiorno, vediamo di chiudere l'argomento, se possibile.
  1. Sul foglio elettronico (Calc, Excel, ...) selezioniamo e copiamo l'intera zona dati (compresa la prima riga che contiene l'intestazione colonna che diventerà il nome campo) ma escludendo l'eventuale colonna ID.
  2. Clic destro e incollare nell'area delle tabelle di Base.
  3. Nella finestra di dialogo che si apre scegliere le opzioni:
    .
    Screenshot 2023-12-30 alle 11.48.59.png
    Screenshot 2023-12-30 alle 11.48.59.png (34.21 KiB) Visto 400 volte
    .
    e confermare con Crea.
  4. Troveremo una tabella con aggiunto un campo chiave primaria ID che comincia con 1 (ma non è un problema).
  5. Modifichiamo la tabella impostando il campo ID come Valore automatico.
Se al punto 3 si procede con Avanti, anzichè con Crea, si ha la possibilità di impostare il tipo campo, uno per uno, nel caso in cui il copia/incolla inserisca un tipo diverso da quello in origine.
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
AleMur
Messaggi: 80
Iscritto il: venerdì 20 ottobre 2023, 18:43

Re: Chiave primaria

Messaggio da AleMur »

Ok, prezioso come sempre..

Ho un problemino però.. l'incollaggio dati me lo permette solo su un database appena creato e non su quello che vorrei (tasto destro e non mi dà possibilità di incolla / incolla speciale). Appena possibile ti mando screenshot se serve. Per il file calc, posso metterlo però modificando dati per una questione privacy
OpenOffice 4.1.14 Windows 10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8786
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Chiave primaria

Messaggio da charlie »

Appena verificato, funziona su qualsiasi database. Accertati che sia aperta la pagina delle tabelle e non quella dei formulari che si apre di default per i database esistenti.
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
AleMur
Messaggi: 80
Iscritto il: venerdì 20 ottobre 2023, 18:43

Re: Chiave primaria

Messaggio da AleMur »

Perdonami Charlie la niubbiaggine.. non mi ero accorto che ero il formulari.
Per me risolto almeno questo! .

Grazie infinite e cari Auguri di Buon Anno!
OpenOffice 4.1.14 Windows 10
AleMur
Messaggi: 80
Iscritto il: venerdì 20 ottobre 2023, 18:43

Re: Chiave primaria

Messaggio da AleMur »

Perdonami Charlie la niubbiaggine.. non mi ero accorto che ero il formulari :crazy:
Per me risolto almeno questo! :lol:

Grazie infinite e cari Auguri di Buon Anno!
OpenOffice 4.1.14 Windows 10
Rispondi