Discussione:
Aiuto - Modifica di file MDB
(troppo vecchio per rispondere)
Antonio
2010-12-15 20:29:18 UTC
Permalink
Ho un file .mdb che vorrei modificare.
Lo apro con Database di OpenOffice dopo aver creato il collegamento
chimato .odb.
Il file mi si apre con un aspetto a tabella, come un file di excel, ma se
provo a modificare i campi già scritti mi dice che il campo non può
essere modificato (Errore nello scrivere il record di dati corrente.
Impossibile aggiornare il campo).
Il alto dice "OpenOffice.org Table Data View"... quel View mi fa pensare
che il file sia solo visualizzabile, ma non modificabile.
Chi mi dà una mano? Non ho mai usato questa parte di OpenOffice prima di
ora.
--
Antonio
martello
2010-12-15 20:32:20 UTC
Permalink
Post by Antonio
Ho un file .mdb che vorrei modificare.
Lo apro con Database di OpenOffice dopo aver creato il collegamento
chimato .odb.
Il file mi si apre con un aspetto a tabella, come un file di excel, ma se
provo a modificare i campi già scritti mi dice che il campo non può
essere modificato (Errore nello scrivere il record di dati corrente.
Impossibile aggiornare il campo).
Il alto dice "OpenOffice.org Table Data View"... quel View mi fa pensare
che il file sia solo visualizzabile, ma non modificabile.
Chi mi dà una mano? Non ho mai usato questa parte di OpenOffice prima di
ora.
Probabilmente le tabelle non hanno una chiave primaria.

Comunque scarica le superFAQ e cerca la voce:

Il data base è in sola lettura. Cosa posso fare per introdurre i dati?

https://sourceforge.net/projects/ooodocs/files/FAQ%20i-a.c.s.o/OpenOffice3%20Soluzioni%20a%20raccolta/
Antonio
2010-12-15 20:46:32 UTC
Permalink
Post by martello
Post by Antonio
Chi mi dà una mano? Non ho mai usato questa parte di OpenOffice prima
di ora.
Probabilmente le tabelle non hanno una chiave primaria.
Il data base è in sola lettura. Cosa posso fare per introdurre i dati?
https://sourceforge.net/projects/ooodocs/files/FAQ%20i-a.c.s.o/OpenOffi
ce3%20Soluzioni%20a%20raccolta/
Ho letto la risposta alla domanda (pag 115), ma non mi dice molto oltre a
presentare 4 varianti di tabella...
Il file che ho mi era stato inviato con l'assicurazione che fosse
editabile :-(
--
Antonio
VITRIOL
2010-12-15 21:00:56 UTC
Permalink
Post by Antonio
Ho letto la risposta alla domanda (pag 115), ma non mi dice molto oltre a
presentare 4 varianti di tabella...
Il file che ho mi era stato inviato con l'assicurazione che fosse
editabile:-(
Come ti ha già detto martello, la prima cosa da fare è vedere se la
tabella ha una chiave primaria e, in caso contrario, impostarla.
Base non può apportare modifiche se non è impostata una chiave primaria.
--
news:it-alt.comp.software.openoffice : Il newsgroup dedicato a
OpenOffice.org, la suite open source di applicazioni per ufficio.
Scarica "OpenOffice.org 3: Soluzioni a raccolta", molto più di semplici
FAQ! http://it.openoffice.org/doc/manuali/
Antonio
2010-12-15 21:11:04 UTC
Permalink
Post by VITRIOL
Come ti ha già detto martello, la prima cosa da fare è vedere se la
tabella ha una chiave primaria e, in caso contrario, impostarla.
Base non può apportare modifiche se non è impostata una chiave primaria.
Saresti così gentile da spiegarmi che cosa dovrei fare per impostare una
chiave primaria? Passo passo, please :-)
Tieni conto che è la prima volta in assoluto che io metto mano ad un
database.
Ti ringrazio fin da ora!
--
Antonio
VITRIOL
2010-12-15 21:20:16 UTC
Permalink
Post by Antonio
Saresti così gentile da spiegarmi che cosa dovrei fare per impostare una
chiave primaria? Passo passo, please:-)
Vai nella sezione "Tabelle" cliccando sulla apposita icona nella barra
laterale a sinistra. Fai clic col destro sul nome della tabella che vuoi
modificare, e seleziona "Modifica". Fai clic col destro sulla
intestazione della riga che vuoi impostare come chiave primaria, e
seleziona "Chiave primaria". Vedi immagine:

Loading Image...
--
news:it-alt.comp.software.openoffice : Il newsgroup dedicato a
OpenOffice.org, la suite open source di applicazioni per ufficio.
Scarica "OpenOffice.org 3: Soluzioni a raccolta", molto più di semplici
FAQ! http://it.openoffice.org/doc/manuali/
Antonio
2010-12-15 21:38:40 UTC
Permalink
Post by VITRIOL
Vai nella sezione "Tabelle" cliccando sulla apposita icona nella barra
laterale a sinistra. Fai clic col destro sul nome della tabella che
vuoi modificare, e seleziona "Modifica". Fai clic col destro sulla
intestazione della riga che vuoi impostare come chiave primaria, e
http://img805.imageshack.us/img805/9148/chiave.png
Ho fatto come hai detto:
-ho evidenziato "Tabelle" nella colonna di sinistra.
-tasto dx sulla tabella che voglio editare, clicco su Modifica.
-l'intestazione che voglio impostare come chiave primaria ha già un'icona
di chiave gialla. Ci clicco sopra, appare una freccina verde e la riga
diventa blu. Il tasto destro mi conferma che è una chiave primaria.
-chiudo questa schermata, apro la tabella che voglio editare. La prima
casella è blu, il cursore lampeggia. Cambio il dato nella cella, passo
alla cella successiva e appare il messaggio di errore di cui prima.

:-(
--
Antonio
martello
2010-12-15 22:48:22 UTC
Permalink
Post by Antonio
-chiudo questa schermata, apro la tabella che voglio editare. La prima
casella è blu, il cursore lampeggia. Cambio il dato nella cella, passo
alla cella successiva e appare il messaggio di errore di cui prima.
:-(
Quindi la chiave primaria era già impostata.
E' un po' che non provo a collegarmi ad un data base .mdb.
Il db contiene dati importanti?
Altrimenti potresti metterlo da qualche parte (dove sia scaricabile) per
permetterci di fare una prova.
Antonio
2010-12-15 22:55:12 UTC
Permalink
Post by martello
Quindi la chiave primaria era già impostata.
E' un po' che non provo a collegarmi ad un data base .mdb.
Il db contiene dati importanti?
Altrimenti potresti metterlo da qualche parte (dove sia scaricabile)
per permetterci di fare una prova.
I dati sono importanti, nel senso che sono preziosi per me, non che siano
privati... Però riguardano il contenuto di un sito web non ancora
divulgato al pubblico.
Ho visto, però, che è possibile editare tutte le altre celle, quelle che
non ho necessità di modificare, mentre la prima colonna di dati mi
restituisce quell'errore.
La cosa è bizzarra!
Una cosa che mi sentirei di criticare è che una qualunque modifica, anche
non voluta, è permanente. Non viene mai chiesta conferma di salvataggio e
nemmeno ho trovato una funzione di "undo".
Cavoli, un errore nell'edit diventa un reale problema perché non si può
tornare indietro.
--
Antonio
martello
2010-12-15 23:06:16 UTC
Permalink
Post by Antonio
Ho visto, però, che è possibile editare tutte le altre celle, quelle che
non ho necessità di modificare, mentre la prima colonna di dati mi
restituisce quell'errore.
La cosa è bizzarra!
Quindi non è in sola lettura.
La prima colonna forse è la chiave primaria.
O no?
Magari inserisci un duplicato oppure la lasci vuota.
Post by Antonio
Una cosa che mi sentirei di criticare è che una qualunque modifica, anche
non voluta, è permanente. Non viene mai chiesta conferma di salvataggio e
nemmeno ho trovato una funzione di "undo".
Cavoli, un errore nell'edit diventa un reale problema perché non si può
tornare indietro.
Siamo nei data base ... la modifica dei dati richiede l'invio al server
di un comando in SQL.
L'undo potrebbe essere un po' critico da realizzare.
Tieni conto che con un comando SQL puoi sconvolgere tutti i dati di un
db e che realizzare l'undo di un comando complesso richiede elaborazioni
logiche non sempre realizzabili.
Antonio
2010-12-16 12:54:06 UTC
Permalink
Post by martello
Post by Antonio
Ho visto, però, che è possibile editare tutte le altre celle, quelle che
non ho necessità di modificare, mentre la prima colonna di dati mi
restituisce quell'errore.
La cosa è bizzarra!
Quindi non è in sola lettura.
La prima colonna forse è la chiave primaria.
O no?
Esatto, la prima colonna, denominata ID (un numero progressivo abbinato
alle altre voci) è quella che appare con la chiavetta gialla.
Vorrei cambiare i numeri delle cella nella colonna ID per cambiare
l'ordine in elenco delle altre voci.
Post by martello
Magari inserisci un duplicato oppure la lasci vuota.
Cioè? Creare una colonna identica affiancata? Non ne vedo il motivo,
perché io dovrei comunque lavorare sulla colonna ID.
Post by martello
Post by Antonio
Cavoli, un errore nell'edit diventa un reale problema perché non si può
tornare indietro.
Siamo nei data base ... la modifica dei dati richiede l'invio al server
di un comando in SQL.
Ma quando il database lo elaboro in locale e poi lo carico modificato al
server, sarebbe meglio poter scegliere se salvare i dati oppure no.

In ogni caso, ho appena avuto modo di aprire lo stesso file .mdb con
Access 2010, e il risultato è lo stesso, la colonna ID non è editabile,
tutte le altre sì... Mi sa che sono bloccato :-(

Antonio
--
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news segnala gli abusi ad ***@newsland.it
martello
2010-12-16 14:32:36 UTC
Permalink
Post by Antonio
Esatto, la prima colonna, denominata ID (un numero progressivo abbinato
alle altre voci) è quella che appare con la chiavetta gialla.
Vorrei cambiare i numeri delle cella nella colonna ID per cambiare
l'ordine in elenco delle altre voci.
Non puoi modificare in questo modo una chiave primaria.
Le chiavi primarie non ammettono duplicati.
Quindi nel momento che inserisci un numero d'ordine che corrisponde ad
un valore già presente il DB ... ti sputa.
Post by Antonio
Post by martello
Post by Antonio
Cavoli, un errore nell'edit diventa un reale problema perché non si può
tornare indietro.
Siamo nei data base ... la modifica dei dati richiede l'invio al server
di un comando in SQL.
Ma quando il database lo elaboro in locale e poi lo carico modificato al
server, sarebbe meglio poter scegliere se salvare i dati oppure no.
In linea di massima le modifiche ad un dato di un Db comportano una
modifica immediata del file che la contiene.
Pensa se non fosse così cosa poterebbe succedere ai dati di un db
aziendale dove 100 persone contemporaneamente fanno i loro accessi e le
loro modifiche.
E poi, per rincarare la dose, magari dopo qualche ora di lavoro qualcuno
per errore spegne il server ...
martello
2010-12-16 14:35:37 UTC
Permalink
Post by martello
Post by Antonio
Esatto, la prima colonna, denominata ID (un numero progressivo abbinato
alle altre voci) è quella che appare con la chiavetta gialla.
Vorrei cambiare i numeri delle cella nella colonna ID per cambiare
l'ordine in elenco delle altre voci.
Non puoi modificare in questo modo una chiave primaria.
Le chiavi primarie non ammettono duplicati.
Quindi nel momento che inserisci un numero d'ordine che corrisponde ad
un valore già presente il DB ... ti sputa.
Per risolvere il tuo problema aggiungi una colonna e chiamala per quello
che è: 'numero_d_ordine'.
Se non è chiave primaria puoi mettere i dati che vuoi e poi ordinare
tutto seguendo i dati della colonna.
Antonio
2010-12-16 16:25:08 UTC
Permalink
Post by martello
Post by martello
Le chiavi primarie non ammettono duplicati.
Quindi nel momento che inserisci un numero d'ordine che corrisponde ad
un valore già presente il DB ... ti sputa.
Per risolvere il tuo problema aggiungi una colonna e chiamala per quello
che è: 'numero_d_ordine'.
Se non è chiave primaria puoi mettere i dati che vuoi e poi ordinare
tutto seguendo i dati della colonna.
Quindi aggiungo una colonna accanto alla colonna ID (chiave primaria), la
chiamo con un nome che mi piace, inserisco la nuova sequenza di
numerazione e poi ordino la tabella secondo questa nuova colonna, un po'
come si potrebbe fare in excel.
Ma poi, posso eliminare la colonna ID (chiave primaria) e nominare come
chiave primaria la nuova colonna?

Antonio
--
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news segnala gli abusi ad ***@newsland.it
martello
2010-12-16 18:47:05 UTC
Permalink
Post by Antonio
Post by martello
Post by martello
Le chiavi primarie non ammettono duplicati.
Quindi nel momento che inserisci un numero d'ordine che corrisponde ad
un valore già presente il DB ... ti sputa.
Per risolvere il tuo problema aggiungi una colonna e chiamala per quello
che è: 'numero_d_ordine'.
Se non è chiave primaria puoi mettere i dati che vuoi e poi ordinare
tutto seguendo i dati della colonna.
Quindi aggiungo una colonna accanto alla colonna ID (chiave primaria), la
chiamo con un nome che mi piace, inserisco la nuova sequenza di
numerazione e poi ordino la tabella secondo questa nuova colonna, un po'
come si potrebbe fare in excel.
Ma poi, posso eliminare la colonna ID (chiave primaria) e nominare come
chiave primaria la nuova colonna?
In teoria è possibile anche se un po' problematico.
Ma perchè vuoi fare ciò?
Non è che questo cambi l'ordine interno dei record.
L'ordine interno rimane quello di inserimento ... poi nella
visualizzazione puoi ordinarli secondo il tuo criterio.
Antonio
2010-12-16 19:14:52 UTC
Permalink
Post by martello
Post by Antonio
Ma poi, posso eliminare la colonna ID (chiave primaria) e nominare
come chiave primaria la nuova colonna?
In teoria è possibile anche se un po' problematico.
Ma perchè vuoi fare ciò?
Non è che questo cambi l'ordine interno dei record.
L'ordine interno rimane quello di inserimento ... poi nella
visualizzazione puoi ordinarli secondo il tuo criterio.
Il numero di ID delle voci in tabella appare come parte delle url delle
pagine del sito che fa riferimento a questo database.
Siccome avrei preferito che gli ID mostrati avessero seguito un diverso
criterio di numerazione, pensavo di modificare la numerazione della
colonna ID della tabella, in modo che, ricaricato il file sul server,
tutte le url avessero l'aspetto desiderato.
Qualcuno mi ha fatto notare che nessuno al mondo fa caso alla stringa
delle url, motivo per cui io potrei anche lasciar perdere.
Era un puntiglio "estetico" più che funzionale.
--
Antonio
Antonio
2010-12-16 16:30:29 UTC
Permalink
Post by martello
Post by Antonio
Vorrei cambiare i numeri delle cella nella colonna ID per cambiare
l'ordine in elenco delle altre voci.
Non puoi modificare in questo modo una chiave primaria.
Le chiavi primarie non ammettono duplicati.
Quindi nel momento che inserisci un numero d'ordine che corrisponde ad
un valore già presente il DB ... ti sputa.
In realtà non ammette nemmeno l'immissione di numeri d'ordine che non
abbiano già un riscontro.
Ad esempio, se la tabella presenta un valore max di ID pari a 500 e io
modifico una certa casella, a puro titolo di esempio, con 600, mi dice
nisba lo stesso...
Post by martello
Post by Antonio
Ma quando il database lo elaboro in locale e poi lo carico modificato al
server, sarebbe meglio poter scegliere se salvare i dati oppure no.
In linea di massima le modifiche ad un dato di un Db comportano una
modifica immediata del file che la contiene.
Pensa se non fosse così cosa poterebbe succedere ai dati di un db
aziendale dove 100 persone contemporaneamente fanno i loro accessi e le
loro modifiche.
E poi, per rincarare la dose, magari dopo qualche ora di lavoro qualcuno
per errore spegne il server ...
Questo lo capisco, era il lavorare in locale, off-line, che avrebbe
necessità di un tasto "salva" o di un'opzione che, quando esco
dall'applicazione, mi chiede se voglio salvare le modifiche.

Antonio
--
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news segnala gli abusi ad ***@newsland.it
martello
2010-12-16 17:02:53 UTC
Permalink
Post by Antonio
Ad esempio, se la tabella presenta un valore max di ID pari a 500 e io
modifico una certa casella, a puro titolo di esempio, con 600, mi dice
nisba lo stesso...
Passo ... non capisco
Antonio
2010-12-16 18:47:06 UTC
Permalink
Post by martello
Post by Antonio
Ad esempio, se la tabella presenta un valore max di ID pari a 500 e io
modifico una certa casella, a puro titolo di esempio, con 600, mi dice
nisba lo stesso...
Passo ... non capisco
Tu avevi scritto:
"Quindi nel momento che inserisci un numero d'ordine che corrisponde ad
un valore già presente il DB ... ti sputa."
E io ho inteso che se nella colonna ID inserisco un valore presente in
un'altra cella della stessa colonna, l'applicazione si arrabbia.
Ma a me accade la stessa cosa, nel senso che rifiuta la modifica, anche
il nuovo valore non è già presente.
Per l'altra mia risposta delle 17:25, ho inteso bene?
--
Antonio
martello
2010-12-16 18:50:07 UTC
Permalink
Post by Antonio
"Quindi nel momento che inserisci un numero d'ordine che corrisponde ad
un valore già presente il DB ... ti sputa."
E io ho inteso che se nella colonna ID inserisco un valore presente in
un'altra cella della stessa colonna, l'applicazione si arrabbia.
Ma a me accade la stessa cosa, nel senso che rifiuta la modifica, anche
il nuovo valore non è già presente.
Avevo capito perfettamente ciò che tu avevi detto.
Quello che non capisco è perchè non sia possibile inserire un valore se
la chiave non viene duplicata.
Non mi viene in mente nulla ...
Ma se inserisci un nuovo record facendo attenzione a non duplicare la
chiave ... cosa avviene?
Antonio
2010-12-16 19:15:41 UTC
Permalink
Post by martello
Ma se inserisci un nuovo record facendo attenzione a non duplicare la
chiave ... cosa avviene?
Farò delle prove e ti farò sapere. Devi solo portare un po' di pazienza :-)
--
Antonio
Continua a leggere su narkive:
Loading...