Newsgroup: it.comp.www.asp
Titolo: i record cancellati....che fine fanno?

salve
nella mia agenda permetto agli utenti di cancellare i proprio numeri
la mia domanda e' questa :
facendo la delete cancello logicamente il record ma anche
fisicamente??? non vorrei ritrovarmi  un DB con record vuoti che non
servono ad un tubo
il dubbio mi rimane perche' il campo contatore di record
(access),anche se li cancello tutti mi segna sempre + 1...
ad esempio ho 3 record .......l'ultimo record ha il campo contatore 3
li cancello tutti e tre..ne inserisco un altro....e il campo contatore
del nuovo record e' 4!
Gestione Agenda Telefonica con ASP 
http://asp4free.ravenna2000.it/linusxx

 writes:
V> salve
V> nella mia agenda permetto agli utenti di cancellare i proprio numeri
V> la mia domanda e' questa :
V> facendo la delete cancello logicamente il record ma anche
V> fisicamente??? non vorrei ritrovarmi  un DB con record vuoti che non
V> servono ad un tubo
Il DB  li ricicla.  Queste domande possono  aver risposta  accedendo a
della buona documentazione SQL.
V> il dubbio mi rimane perche' il campo contatore di record
V> (access),anche se li cancello tutti mi segna sempre + 1...
E'  il suo  compito, generare  una  sequenza di  numeri crescente.  E'
slegata dal contenuto del DB.
Scusa se sono stringato, ma rischiamo l'OT...
+----------------------------------------------------------------+
| Gian Uberto Lauri * "So, are you working on fixing that bug    |
| 
sa...@eng.it
      *  *now* or leaving it until later ?" - YES  |
+----------------------------------------------------------------+
| Attenzione: rispondo ad ogni invio di pubblicità non richiesta | 
| o spam di qualsiasi altro genere con un messaggio al provider  |
| di competenza. Ai sensi della legge sulla privacy NON avete il |
| permesso di utilizzare i miei dati per questi scopi.           |
+----------------------------------------------------------------+

In Access quando cancelli un record in realta viene come sbiancato e rimane
presente fino a che non esegui una compattazione del DB.
Infatti se in una tabella col campo contatore provi a cancellare tutti i
record, se non fai una compattazione il nuovo record ricomincierà col numero
successivo all'ultimo che era stato inserito, se invece lo compatti riparte
da 1.
Ogni tanto (specie se hai tante registrazioni/cancellazioni) conviene fare
la compattazione perchè rischi di avere un database enorme con pochi record.
CIAO
Claudio

(access),anche se li cancello tutti mi segna sempre + 1...
non sembra, ma con questa domanda si rischia di fare confusione.
andiamo per ordine.  contatore: il contatore non si riazzera.  lui sa
che deve solo generare un numero maggiore di uno rispetto all'ultimo
numero che ha generato.  e' improprio chiamarlo contatore.  lo scopo
del contatore è semplicemente quello di generare un numero che
sicuramente non è mai stato generato prima in modo da avere un
riferimento univoco per un certo record.
in access (perché suppongo tu stia usando access) dal 97 in poi esiste
anche la possibilità che il cosiddetto contatore non generi numeri
sequenziali (1, 2, 3...), ma generi invece numeri casuali (-14453,
1232134, -6829, 923486...) ovviamente ognuno sempre diverso dai
precedenti.  se pensi al cosiddetto contatore come ad un generatore di
numeri casuali hai un'idea migliore rispetto alla sua vera funzione.
se ti serve invece avere un campo con la numerazione progressiva dei
record di una tabella, trovi la cosa spiegata in un'apposita sezione
del newsgroup comune del ng it.comp.database.access, l'indirizzo è in
signature.  praticamente si fa uso della funzione dMax, che in
vbscript non c'è ma che è facilissima da emulare, casomai domanda che
te la mando.
cancellazione fisica dei record.  se usi access, come sai, tu puoi
anche cancellare "fisicamente" i record, ma il loro spazio su disco
non viene rilasciato.  per questo è necessario "compattare" il db
access.  cioè, se tu cancelli tot record il cui spazio su disco era di
1 mega, non è che la dimensione del db diminuisce subito di un mega.
lo devi compattare, e allora sì, diminuisce la dimensione.
questo farebbe pensare che da qualche parte in un file di access i
record cancellati ci siano ancora e che in caso di emergenza sarebbe
possibile recuperarli, con una specie di "undelete".  in effetti ci
saranno pure, ma finora nessuno sa come recuperarli.
--
make it idiot proof and someone will make a better idiot.
--
il sito comune di it.comp.appl.access:
http://members.xoom.it/it_db_access/