Premesso che un DB con 18mila records è un piccolissimo database... quindi non può mettere in crisi un sistema.
Detto questo non capisco bene lo scenario, nè quanto tu abbia come basi sui Database e questo potrebbe fare la differenza.
Ad esempio dici:
Ranarulla ha scritto:
Non essendoci un campo che possa rendere ogni record univoco sono partita inizialmente ...
Access in realtà ti offre un Campo di tipo AutoIncrementale chiamato Counter che ad ogni inserimento automaticamernte incrementa di 1...
Questo richiede che tu abbia in qualche modo strutturato una Tabella Ospite, e tutto viene in automatico.
Le SubQuery in Access sono poco efficienti, ma anche quì occorre capire come hai impostato i Campi, quelli su cui si operano azioni di Ricerca o Aggregazione devono essere Indicizzati...
Tu non fornisci alcun elemento tecnico che ci consenta di comprendere come ti sei mosso, sicchè perdonerai se si mette in dubbio una adeguata impostazione iniziale.