Benvenuto, Ospite Ricerca | Argomenti attivi

problema con database access Opzioni · Visualizza
Il Moderatore
Inviato: mercoledì 2 maggio 2012 08:20:46



Iscritto: 16/05/2008
Locazione: Milano
ciao a tutti

premetto che sto usando office 2003

ho accorpato 5 database diversi per avere un solo file con tutti i clienti e i servizi erogati; ovviamente, oltre all'aumento dei record, vi è stato un aumento dei campi

all'inizio access mi ha salvato tutto senza problemi

ora però non salva più perché dice "valore della proprietà troppo grande"

???

e come spiegazione nella guida mi appare questo:

Questo errore si verifica nei seguenti casi:
È stato superato il numero massimo di colonne consentite per la tabella o di blocchi ammessi per un file.
La proprietà Indicizzato di un campo è stata modificata da Sì (duplicati ammessi) a Sì (duplicati non ammessi) quando nella tabella erano già presenti dati duplicati.
Se una tabella contiene più colonne di quelle consentite, chiudere il database, scegliere Compatta e ripristina dal menu Strumenti - Utilità database. &  In questo modo i riferimenti delle colonne contrassegnate come eliminate verranno rimossi dalla definizione della tabella (l'eliminazione effettiva avviene solo quando il database è compattato, quindi fino a quel momento le colonne eliminate sono comprese nel conteggio).
Se è stato superato il numero massimo di blocchi per file, è possibile aumentare tale numero modificando una voce del Registro di sistema nel computer locale. Si tratta, tuttavia, di una soluzione sconsigliata.
Individuare il valore del Registro di sistema MaxLocksPerFile utilizzando l'editor del Registro di sistema di Windows (regedit.exe) e aumentare il valore.
Il valore MaxLocksPerFile è memorizzato nella seguente chiave:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Jet 4.0
Se si modifica un valore nel Registro di sistema di Windows, non vi è alcuna garanzia che la modifica non danneggi il Registro di sistema rendendo inutilizzabile Windows. Modificare il Registro di sistema a proprio esclusivo rischio. Se si decide di modificare il Registro di sistema, è consigliabile crearne una copia di backup prima di eseguire qualsiasi modifica.
Se la proprietà Indicizzato di un campo è stata cambiata e nella tabella esistono già dati duplicati, è possibile ripristinare l'impostazione originaria della proprietà o rimuovere dalla tabella i record duplicati.



boh boh, non so cosa fare


se faccio l'upgrade a una versione più recente risolvo il problema?

ho provato ad aprire il file con Openoffice ma non mi piace per niente, e non ho voglia di star lì a impararlo; però, se fosse necessario, lo farei

grazie a tutti!!!
(datemi solo info certe e non per sentito dire)

bacio

mi è rimasto del gas nel sangue e non so come smaltirlo... e adesso mi sta tornando la scimmia
brian_may
Inviato: mercoledì 2 maggio 2012 09:33:05



Iscritto: 23/06/2011
Locazione: Roma
Originariamente inviato da otto
ciao a tutti

premetto che sto usando office 2003

ho accorpato 5 database diversi per avere un solo file con tutti i clienti e i servizi erogati; ovviamente, oltre all'aumento dei record, vi è stato un aumento dei campi

all'inizio access mi ha salvato tutto senza problemi

ora però non salva più perché dice "valore della proprietà troppo grande"

???


Premessa: non uso Access ma ho a che fare con i dbms tutti i giorni, tra Mysql, Db2, Postgres. Dall'errore che hai postato sembra che il valore di un attributo contenuto in un record è troppo grande per la dimensione allocata per quel campo. Mi spiego con un esempio: Mettiamo per ipotesi che la colonna "Cognome" sia dichiarata come Varchar[50] (leggasi: "Nel campo Cognome puoi mettere stringhe alfanumeriche di massimo 50 caratteri"), nel momento in cui tenti una INSERT (o UPDATE, o qualunque query che modifichi il dato) incappi in un errore di dimensione cella.
Normalmente però errori di questo tipo sono dettagliati, nel senso che è indicata almeno la colonna su cui fallisce l'operazione. Quello che hai postato è l'errore esatto - inclusi i codici d'errore - oppure le "parole significative" dell'errore che ti è capitato?

(parlando della Kawasaki ZZR1400) "Io sostituirei subito lo scarico di serie, con 197 cv non vai da nessuna parte. Non c'è niente di più pericoloso di quella fastidiosa sensazione di vuoto che si prova quando spalanchi il gas è hai quella risposta timida e impacciata tipica di 197 miseri cavallucci..." [UomoNuovo]

Moto, ergo sum! [Wormbike]
Il Moderatore
Inviato: mercoledì 2 maggio 2012 11:18:34



Iscritto: 16/05/2008
Locazione: Milano
grazie mille!!!

uhm... spero di essere in grado di risponderti perché non sono esperto

praticamente nel database ho aumentato il numero di campi, ma, quando ho salvato la prima volta, il programma non mi ha fatto problemi

subito dopo, invece, se io tolgo un carattere qualsiasi da un record o da un campo, oppure se lo aggiungo, appena cerco di salvare mi da quell'errore

adesso ho aperto, ho impostato i campi a 255 caratteri anziché i 50 originali, però, salvando, mi ha dato un nuovo errore: "troppi campi definiti" scrivendo poi che il limite è 255 campi; quindi mi sa che devo di nuovo spezzare il database (mi faceva proprio comodo avere tutto assieme)

mi è rimasto del gas nel sangue e non so come smaltirlo... e adesso mi sta tornando la scimmia
Il Moderatore
Inviato: mercoledì 2 maggio 2012 11:50:36



Iscritto: 16/05/2008
Locazione: Milano
ok trovato

il limite penso sia proprio nel numero dei campi, perché ora sto copiando e incollando le attività solo del 2011 su un db vuoto e non mi crea problemi di larghezze o di numero caratteri

quindi ok, terrò un db per il 2011, e uno per il 2012 e così via

poiché ogni campo corrisponde a un corso di formazione, mi può andar bene il limite di 255 campi, perché in media teniamo 150-200 corsi l'anno

certo che, se aumentassero, dovrei fare 1°semestre in un db e 2° in un altro; quella sarebbe proprio una vera rottura di scatole

non pensavo che i database avessero un numero massimo di campi, vabbè amen

grazie ciao

ciao

mi è rimasto del gas nel sangue e non so come smaltirlo... e adesso mi sta tornando la scimmia
Oniros
Inviato: mercoledì 2 maggio 2012 12:26:24



Iscritto: 20/01/2012
Locazione: Varsavia (PL)
Credo sia una delle innumerevoli limitazioni di Access.
Per fare cose serie usa http://www.mysql.com/ Ascolta che c'ho 'n segreto da dirti

ciao


La mente, dopo essersi aperta a nuove idee, non torna mai alle dimensioni originali. - A. Einstein

Mica solo "la mente" - Eva Henger
Il Moderatore
Inviato: mercoledì 2 maggio 2012 12:40:21



Iscritto: 16/05/2008
Locazione: Milano
Originariamente inviato da Oniros
Credo sia una delle innumerevoli limitazioni di Access.
Per fare cose serie usa http://www.mysql.com/ Ascolta che c'ho 'n segreto da dirti

ciao


grazie mille

ci guardo subito
mi spaventa un po' imparare un sw nuovo, ma se non ci sono alternative ok

grazie

mi è rimasto del gas nel sangue e non so come smaltirlo... e adesso mi sta tornando la scimmia
brian_may
Inviato: mercoledì 2 maggio 2012 12:55:38



Iscritto: 23/06/2011
Locazione: Roma
Originariamente inviato da otto
ok trovato

il limite penso sia proprio nel numero dei campi, perché ora sto copiando e incollando le attività solo del 2011 su un db vuoto e non mi crea problemi di larghezze o di numero caratteri

quindi ok, terrò un db per il 2011, e uno per il 2012 e così via

poiché ogni campo corrisponde a un corso di formazione, mi può andar bene il limite di 255 campi, perché in media teniamo 150-200 corsi l'anno

certo che, se aumentassero, dovrei fare 1°semestre in un db e 2° in un altro; quella sarebbe proprio una vera rottura di scatole

non pensavo che i database avessero un numero massimo di campi, vabbè amen

grazie ciao

ciao

Una chiarificazione, ma forse eccedo nel dubbio. Un "campo" è il nome di una colonna, ed è chiamato anche "attributo" ("Nome, Cognome, ID, ecc"); un record è una riga della tabella ("Mario","Rossi","Via pippo 12", "021234567"). Access, per quanto sia un giocattolo, dovrebbe consentire migliaia di righe (entry, record) in una tabella. Quello che è limitato a 255 è il numero di attributi (noti anche come colonne o campi). Penso che i tuoi problemi derivino dalla fusione di cinque diversi db in un file unico, leggo in giro che il limite di dimensione gestito da Access è davvero infimo; rispezzare il DB poterbbe essere la soluzione, anche se non può funzionare a lungo termine.
Come ha detto Oniros, puoi pensare di passare ad un dbms più serio - anche se Mysql è un prodotto in via di maturazione può supportare benissimo i tuoi scopi in maniera infinitamente migliore di Access. Se opti per quello tieniti alla larga dall'engine MyIsam :D*.


*il significato di questa frase può suonare oscuro, ed ha senso solo se decidi di usare Mysql.


ciao



(parlando della Kawasaki ZZR1400) "Io sostituirei subito lo scarico di serie, con 197 cv non vai da nessuna parte. Non c'è niente di più pericoloso di quella fastidiosa sensazione di vuoto che si prova quando spalanchi il gas è hai quella risposta timida e impacciata tipica di 197 miseri cavallucci..." [UomoNuovo]

Moto, ergo sum! [Wormbike]
Il Moderatore
Inviato: mercoledì 2 maggio 2012 13:04:32



Iscritto: 16/05/2008
Locazione: Milano
mi terrò alla larga da questa cosa strana (*il significato di questa frase può suonare oscuro, ed ha senso solo se decidi di usare Mysql.) eh eh

sì, il limite è proprio nel numero di campi (colonne) che è posto a 255, mentre invece ho dei database con migliaia di record che non mi danno problemi perché i campi sono quei 12-15 classici che si usano di solito (nome, cognome, indirizzo 1, ind 2, tel, cel, mail, ecc...)

adesso l'ho spezzato in 2011 e 2012 altrimenti ero bloccato

però come dite voi prendo in seria considerazione MySQL, che tra l'altro ho visto che nella versione standard costa poco

mi scarico la versione prova e poi lo prendo

grazie davvero a tutti!!!
ciao

ti offro un drink

mi è rimasto del gas nel sangue e non so come smaltirlo... e adesso mi sta tornando la scimmia
brian_may
Inviato: mercoledì 2 maggio 2012 14:29:01



Iscritto: 23/06/2011
Locazione: Roma
Originariamente inviato da otto
mi terrò alla larga da questa cosa strana (*il significato di questa frase può suonare oscuro, ed ha senso solo se decidi di usare Mysql.) eh eh

sì, il limite è proprio nel numero di campi (colonne) che è posto a 255, mentre invece ho dei database con migliaia di record che non mi danno problemi perché i campi sono quei 12-15 classici che si usano di solito (nome, cognome, indirizzo 1, ind 2, tel, cel, mail, ecc...)

adesso l'ho spezzato in 2011 e 2012 altrimenti ero bloccato

però come dite voi prendo in seria considerazione MySQL, che tra l'altro ho visto che nella versione standard costa poco

mi scarico la versione prova e poi lo prendo

grazie davvero a tutti!!!
ciao

ti offro un drink

Intanto puoi giocare con la Community Edition, che è gratuita e sotto licenza GPL.

ciao

(parlando della Kawasaki ZZR1400) "Io sostituirei subito lo scarico di serie, con 197 cv non vai da nessuna parte. Non c'è niente di più pericoloso di quella fastidiosa sensazione di vuoto che si prova quando spalanchi il gas è hai quella risposta timida e impacciata tipica di 197 miseri cavallucci..." [UomoNuovo]

Moto, ergo sum! [Wormbike]
Il Moderatore
Inviato: mercoledì 2 maggio 2012 14:55:04



Iscritto: 16/05/2008
Locazione: Milano
ok sto scaricando

era un po' di notti che dormivo; invece adesso ho un motivo in più per non farlo

ah ah ah

mi è rimasto del gas nel sangue e non so come smaltirlo... e adesso mi sta tornando la scimmia
Oniros
Inviato: mercoledì 2 maggio 2012 16:14:35



Iscritto: 20/01/2012
Locazione: Varsavia (PL)
Originariamente inviato da otto


sì, il limite è proprio nel numero di campi (colonne) che è posto a 255, mentre invece ho dei database con migliaia di record che non mi danno problemi perché i campi sono quei 12-15 classici che si usano di solito (nome, cognome, indirizzo 1, ind 2, tel, cel, mail, ecc...)


Se possibile, proverei comunque a rivedere di relazionare un po' di più la tabella: 255 sono davvero tanti.

ciao

La mente, dopo essersi aperta a nuove idee, non torna mai alle dimensioni originali. - A. Einstein

Mica solo "la mente" - Eva Henger
Il Moderatore
Inviato: mercoledì 2 maggio 2012 22:59:02



Iscritto: 16/05/2008
Locazione: Milano
il fatto è che ad ogni data in cui facciamo i corsi faccio corrispondere un campo, in cui poi scrivo annotazioni su chi partecipa attraverso la realizzazione dei record

quindi data=campo
cliente=record (il cliente può partecipare a più corsi)

e non saprei come ridurre i campi, anche perché mi fa comodo selezionare un campo, fare ordine inverso (Z-A) e vedere quindi chi sono i 15-20 partecipanti ai corsi

boh

grazie di tutto
ciao

mi è rimasto del gas nel sangue e non so come smaltirlo... e adesso mi sta tornando la scimmia
brian_may
Inviato: giovedì 3 maggio 2012 09:43:23



Iscritto: 23/06/2011
Locazione: Roma
Originariamente inviato da otto
il fatto è che ad ogni data in cui facciamo i corsi faccio corrispondere un campo, in cui poi scrivo annotazioni su chi partecipa attraverso la realizzazione dei record

quindi data=campo
cliente=record (il cliente può partecipare a più corsi)

e non saprei come ridurre i campi, anche perché mi fa comodo selezionare un campo, fare ordine inverso (Z-A) e vedere quindi chi sono i 15-20 partecipanti ai corsi

boh

grazie di tutto
ciao


Questo è un classico caso di relazione con cardinalità molti a molti *(trovo buffo parlare di basi di dati su un forum di moto rktmlwbdzxz (pazzo) )
Puoi creare una tabella relativa ai corsi - con data di erogazione,e tutte le info collegate - ed una tabella per i clienti . Ognuna di esse avrà un campo identificativo (per esempio, id_cliente e id_corso). In una terza tabella memorizzi le corrispondenze tra gli ID. Butto giu l'esempio della base di dati rivisitata:

Cliente (id_cliente, cognome, nome, indirizzo, num_telefono)
Corso(id_corso, titolo, data_inizio, data_fine, docente)
Cliente_Corso(id_cliente, id_corso)


In sottolineato le chiavi delle varie tabelle. Nella tabella Cliente_Corso la chiave è composta dai due campi. Se vuoi ti posso scrivere anche le interrogazioni che tirano fuori i principali dati (tutti gli studenti di un corso, o tutti i corsi seguiti da uno studente in un certo periodo, ecc...)

Con questa rappresentazione la tabella Corso rappresenta esclusivamente il concetto dei corsi, e puoi aggiungere corsi indipendentemente dal fatto che esistano clienti. In modo analogo funziona la tabella Cliente.

Cliente
001 - Rossi - Mario - Via dei polli 1 - 12345678
002 - Bianchi - Luigi - Via degli abbacchi 4 - 987654321
003 - Neri - Giuseppe - Via Ledita Dalnaso 12 - 00000000

Corso
001 - Fondamenti di Frenata in pista - 01/01/2012 - 01/03/2012 - Redace
002 - Saltare nel mondo dell'enduro - 05/05/2012 - 10/07/2012 - Otto
003 - Storia della Ducati e prodromi del Diavel - 01/01/2010 - 31/12/2011 - Diaavel
004 - Storia della Ducati e prodromi del Diavel - 02/04/2012 - 06/09/2012 - Diaavel (ndr: lo stesso corso tenuto l'anno dopo!)

Cliente_Corso
001 - 003
001 - 001
002 - 003
003 - 003
002 - 002

( è chiaro che il corso di Diaavel è seguitissimo :D )



*Un cliente partecipa potenzialmente a più corsi, ed ogni corso è seguito da più clienti.

(parlando della Kawasaki ZZR1400) "Io sostituirei subito lo scarico di serie, con 197 cv non vai da nessuna parte. Non c'è niente di più pericoloso di quella fastidiosa sensazione di vuoto che si prova quando spalanchi il gas è hai quella risposta timida e impacciata tipica di 197 miseri cavallucci..." [UomoNuovo]

Moto, ergo sum! [Wormbike]
Il Moderatore
Inviato: giovedì 3 maggio 2012 10:52:11



Iscritto: 16/05/2008
Locazione: Milano
grazie infinite!!!

sei gentilissimo

ora studio il concetto e mi ci applico
sbalordito stira

per il corso di Diaavel siamo già full fino al prossimo anno

ha ha ha


mi è rimasto del gas nel sangue e non so come smaltirlo... e adesso mi sta tornando la scimmia
Utenti che sfogliano l'Argomento
Guest


Vai a
Tu NON puoi inviare nuovi argomenti in questo forum.
Tu NON puoi rispondere agli argomenti in questo forum.
Tu NON puoi cancellare i tuoi messaggi in questo forum.
Tu NON puoi modificare i tuoi messaggi in questo forum.
Tu NON puoi creare sondaggi in questo forum.
Tu NON puoi votare nei sondaggi di questo forum.