Newsgroup: it.comp.appl.access
Titolo: numeri mancanti

Ho creato una tabella con un contatore. Come è possibile creare una query
che mi dia la possibilità di evidenziare records con numeri contatore
cancellati? Grazie, Max

 cancellati? Grazie, Max
I contatori non si possono cancellare.
Sarà meglio che tu spieghi cosa vuoi fare invece di dare la tua soluzione
Antonio

 ha scritto nel messaggio
news:pCgfc.2670$Qc.1...@twister1.libero.it...

Forse intendeva una cosa del genere
i numeri del contatore sono
1,2,3,4,5,6,7,8,9,10.....n
se cancello il record con il n° 4 avrò
1,2,3,5,6,7,8,9,10......n
come faccio a  vedere che tra il 3 ed il 5 la sequenza si interrompe?
Io mi conterei il numero totale dei record (MoveFirst MoveLast RecordCount)
poi mi riposizionerei sul primo record (MoveFirst)
quindi
For i = 1 To NumeroTotaleRecord
    If i = rsMioRecordset.Fields("Contatore") then
    else
    MsgBox ("Rilevata incongruenza tra Numero record e Numero del
contatore")
    Exit sub
    End if
    Next i
L'ho fatta a braccio ma a rigor di logica dovrebbe andare nel senso che è
uno spunto di lavoro.
Concordo con Antonio cmq dato che cancellare un record implica cancellarne
anche il campo contatore.
SunRex

 ha scritto nel messaggio
news:P_hfc.75902$rM4.3...@news4.tin.it...

L'idea è buona, ma forse converrebbe fare così per non perdere dei pezzi:
dim xMax as Long
dim x as Long
dim strTemp as string
Dim mArr as Variant
xMax=Dmax("[Key],"Tabella")
For x=1 to xmax
    if NZ(dlookup("[Key],"Tabella","Key=" & x ),0)=0 then
        strTemp =strTemp & cstr(x) & ";"
    End if
Next
'Se vuoi un'array lo converti con Split
marr=Split(strtemp,";")
'Se invece vuoi popolare una Combo lo assegni direttamete.
Premetto che secondo me non serve a nulla perchè un COUNTER
anche se sai quali BUCHI ci sono non riesci ad occuparli.
La cosa potrebbe essere utile solo nel Caso di KEY personalizzata.
@Alex.

ALESSANDRO Baraldi ha scritto:





Si può anche preparare una tabella contenente tutti i numeri da 1 in poi,
fino ad un numero ragionevolmente alto da coprire tutti i contatori che
potranno essere generati in futuro, e fare una query con un RIGHT o LEFT
JOIN che evidenzi subito tutti i contatori mancanti.
Una volta trovati i contatori mancanti, volendo si possono anche riempire
usando DAO o SQL, come avevo scritto dettagliatamente in un post tempo fa.
Però per l'uso che di solito si fa dei contatori non ha senso complicarsi
la vita, perchè l'effettivo valore del contatore non ha un significato,
serve solo per collegare due o più tabelle. Casomai dovesse essere un dato
significativo, come nel caso dei numeri progressivi delle fatture,
conviene certamente usare un campo numerico e generare di volta in volta
le nuove chiavi.
Namor
-- 
namor at inwind punto it
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 serve solo per collegare due o più tabelle.
In realtà, tecnicamente, il contatore serve per identificare univocamente un
record, per la precisione...
Punto.
Antonio

 Antonio
In realtà è la chiave primaria che serve ad identificare univocamente un
record, non certo il contatore in sé, che in casi particolari può anche
contenere valori duplicati.
E tu come fai a sapere che ho una Punto?


 ha scritto nel messaggio
news:49rfc.3313$Qc.1...@twister1.libero.it...

ANTO quando fai dei CUT falli bene.... sembra che abbia scritto io questa
affermazione.....!!!!!!! e in ogni caso "FALLI".....!!
Beh avete detto entrambi la stessa cosa, ma io i COUNTER li odio di
principio.
Poi concordo con NAMOR il COUNTER diventa IDENTIFICATORE se
impostato PRIMARY KEY, altrimenti è un campo AutoIncrementante e basta.
Saluti.
@Alex.

 Namor
Lo sanno tutti ormai è stao postato su tutti i NG che hai la PUNTO, c'è
anche la TARGA....! ;-)
Pur dandovi ragione perchè state dicendo la stessa cosa, continuo a ribadire
che questa procedura se usata su Campo di tipo COUNTER non serve a nulla
in quanto non è permessa la riassegnazione.
Per Numeri di Fatturazione è tutt'altra cosa, sempre sapendo se è possibile
usare un Progressivo Fattura(Vecchio) con data odierna.....!
Ciao.
Alex.

 Alex.
Si, si possono recuperare i "contatori perduti", ma nei casi in cui serve
un progressivo senza buchi è più semplice usare un normale campo numerico.
