Non riesco a compattare i db di access.
Perché la funzione "Compatta e ripristina database" non funziona?
Non riesco a compattare i db di access.
Perché la funzione "Compatta e ripristina database" non funziona?
Cosa noti di particolare per dire che non funziona ?
.
ho un database con un centinaio di record
avendone cancellati qualcuno in ordine sparso
la numerazione del contatore (campo ID) è sfalsata (parte addirittura da 12)
e quando clicco su "Compatta e ripristina database" non succede proprio nulla!
Non dovrebbe invece riorganizzare il campo contatore dal numero 1 (al posto di 12)
fino all'ultimo numero (corrispondente all'ultimo record) in modo progressivo?
Originariamente inviato da spider75
Non dovrebbe invece riorganizzare il campo contatore dal numero 1 (al posto di 12)
No non deve assolutamente modificare il contatore.
Il numero del contatore nasce insieme al record e lo accompagna IMMUTATO
per tutta la sua "vita"
e da questa caratteristica il contatore prende la sua "forza"
__________________________________________________ ____________
Se tu hai la tabella Fornitori con campo Contatore
( solitamente chiamato Id )
poi hai la tabella Ordini su cui scrivi il numero di Id della tabella
fornitori per individuare appunto il fornitore a cui fai un ordine
Poi tu permetteresti che una compattazone ti cambia
il numero di cintatore della tabella fornitori ???
__________________________________________________ ___________
Detta diversamente il campo contatore lo devi accettare cosi come è.
Diversamente devi essere te a creartiun campo normalissimo Numerico
che non accetti duplicati,
non accetti Null,
che si incrementa di 1 unita ad ogni nuovo record,
che in caso di eliminazione di un record scali di una unita tutti i numeri superiori,
con la stessa operazione speculare anche nelle tabelle collegate
Sempre restando sull'esempio della tabella fornitori spesso il suo Id
è anche il "Codice Fornitore" citato nelle registrazioni contabili.
Quindi se tu lo cambi ???
__________________________________________________ _________
__________________________________________________ _________
__________________________________________________ __________
__________________________________________________ _________
Detto tutto quanto sopra la compattazione modifica il contatore
solamente nel senso che.
Hai una tabella dove sei arrivato a 155
crei il record 156 e 157
elimini i record 156 e 157
___ Non fai la compattazione Ripartiresti da 158
___ Fai la compattazione Riparti da 156
__________________________________________________ __________
__________________________________________________ __________
__________________________________________________ __________
Con delle query lanciate da VBA con il metodo Exeute puoi tuttavia
modificare il valore del contatore ma non te lo consiglio
.
grazie mille
sei stato gentilissimo
e chiarissimo