Nel primo post parlavi di
"in modo da targare ogni record con un numero univoco"
invece mi sa che ti occorre solo una numerazione progressiva di
un insieme di record filtrato.
Il numero che metti ti cambia chiaramente se cambia il filtro o i dati
quindi non è una vera targa
__________________________________________________ ______
Comunque vedi se questa soluzione ti puo andare bene,
Senza VBA, tabelle temporanee, compattazioni o altro.
Creiamo una tabella chiamata "Citta" (senza accento)
con questi campi:
CiId ____________ Numerazione Automatica ___ Key
CiNome ________ Testo
CiAbitanti ________ Numerico
__________________________________________________ ________
Crea una vista chiamata "CitFilt"
dove ci metti il tuo filtro
( per esempio sul numero degli abitanti )
codice:
SELECT
Citta.CiId, Citta.CiNome, Citta.CiAbitanti
FROM
Citta
WHERE
(((Citta.CiAbitanti)>[Con piu Abitanti di]))
;
__________________________________________________ ______
Sulla vista appena creata crei una successiva vista
( chiamala come vuoi ) che ti numera i record
codice:
SELECT
C1.CiId, C1.CiNome, C1.CiAbitanti, Count(C2.CiId) AS Cont
FROM
CitFilt AS C1
INNER JOIN
CitFilt AS C2
ON
C1.CiId >= C2.CiId
GROUP BY
C1.CiId, C1.CiNome, C1.CiAbitanti
;
__________________________________________________ __________
__________________________________________________ __________
__________________________________________________ __________
se invece preferisci una unica vista ( ma lo SCONSIGLIO )
in quanto meno gestibile e forse anche piu lenta
codice:
SELECT
C1.CiId, C1.CiNome, C1.CiAbitanti, Count(C2.CiId) AS Cont
FROM
(
SELECT
Citta.CiId, Citta.CiNome, Citta.CiAbitanti
FROM
Citta
WHERE
(((Citta.CiAbitanti)>[Con piu Abitanti di]))
) AS C1
INNER JOIN
(
SELECT
Citta.CiId, Citta.CiNome, Citta.CiAbitanti
FROM
Citta
WHERE
(((Citta.CiAbitanti)>[Con piu Abitanti di]))
) AS C2
ON
C1.CiId >= C2.CiId
GROUP BY
C1.CiId, C1.CiNome, C1.CiAbitanti
;
NB: se la vuoi rendere piu comprensibile
dove ho messo "C1.CiId >= C2.CiId" sostituisci "C1.CiId = C2.CiId"
Facci sapere
.