View Full Version : ACCESS 2000 campo contatore dinamico
Come posso fare per avere un campo contatore in una tabella che mi numera progressivamente a partire da 1, ma che quando cancello un record mi coservi la numerazione progressiva?
Cioè se ho 5 record e ne cancello uno, vorrei che il campo contatore mi rinumerasse i record:
prima
1
2
3
4
5
dopo
1
2
3
4
Vorrei che mi facesse questo anche quando cancello un record direttamente nella tabella.
ilsensine
01-01-2003, 20:53
Temo che non si possa fare, i campi contatore non sono modificabili
FabioD77
04-01-2003, 16:06
Originally posted by "ilsensine"
Temo che non si possa fare, i campi contatore non sono modificabili
Oh Supremo Moderatore, non vorrei insistere visto che uso da poco access, ma con Access 2000 riuscivo a riprendere la numerazione con Compatta e ripristina database, mentre con XP non riesco più... quindi ci dovrebbe essere il sistema??
ps. se ho detto una boiata censuratemi, datemi fuoco e bannatemi! :eek:
Riprendi la numerazione dal contatore più alto, ma quella dei record esistenti non cambia...
ilsensine
04-01-2003, 18:56
In passato ho verificato che addirittura eseguendo un AddNew seguito da un CancelUpdate, il "contatore" salta ugualmente un valore al prossimo inserimento.
In effetti non è richiesto che un contatore proceda senza buchi (per queste cose puoi usare dei comuni campi numerici di appoggio), ma è specificamente studiato per garantire l'univocità dei valori; alcuni dbms (postgresql ad esempio) consentono di modificare il valore di un campo contatore, una volta lo ho fatto e ho capito subito che la "cura" è peggiore del "male".
Riguardo alla compattazione, non sapevo che avesse questo effettu sui contatori.
FabioD77
05-01-2003, 15:12
Le cose sono due: o la compattazione di Access 2002 lavora in maniera diversa (non credo) oppure quando c'è l'integrità referenziale rimangono dei buchi.
Il problema è che non è bello consegnare un db vuoto che comincia da id 10. Anche se nella documentazione del programma c'è un sistema un po' complicato per azzerare le chiavi...ma forse non ne vale la pena.
Saluti.
ps. Sto pensando di valutare FileMaker per creare delle applicazioni, visto che con access spesso si deve mettere mano al codice vbe. Che ne dite?
Una soluzione c'è per azzerare i contatori...
Fai un nuovo DB edimporti da quello vecchio solo la struttura di tutte le tabelle...
ilsensine
05-01-2003, 15:36
Si, questo mnetodo l'ho utilizzato a volte e funziona. E' però un pò macchinoso, puoi farlo qualche volta, ma non in continuazione.
Certo...
Un altro modo simile all'altro è di copiare solo la struttura della tabella all'interno del database corrente, cancellare la tabella precedente e rinominare la tabella creata con il nome di quella precedente...
Magari questo metodo è più facilmente automatizzabile...
Allora tanto vale che cancello il campo contatore per poi inserirlo di nuovo!
FabioD77
08-01-2003, 18:14
Originally posted by "CIUFFO"
Allora tanto vale che cancello il campo contatore per poi inserirlo di nuovo!
Grazie del consiglio!
Ho provato così e funziona!!
Ciao,
Fabio
Il mio scopo era quello di farlo in automatico ogni volta che cancello un record direttamente dentro la tabella!
E' chiaro che manualmente basta cancellale il campo ID per poi reinserirlo, ma come si può fare perchè la cosa avvenga automaticamente ogni volta che cancello un record?
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.