Aggiungo poche cose, ma solo per chiarire aspetti che possono essere mal-interpretati dai suggerimenti che ho letto.
1) Divisione FE-BE(possibilmente con Password, che ancorchè facilmente bucabile, scoraggia i meno svegli), assolutamente da fare se si lavora in RETE in struttura Client-Server, se invece si lavora in LOCALE e MONUTENZA è suggerito ma non indispensabile.
2) Se si gestisce FE-BE le Linked TABLE si creano su APERTURA del CLIENT e si DISTRUGGONO su chiusura, NON SI LASCIANO MAI LINKATE.
Se il BE(Server) cambia di Posto si prevede la possibilità di cercarlo con il FileDialog, e l'inputBox per la Password, altrimenti si può sfruttare il Registry per memorizzare in modo Criptato Connessione e PWD.
3) Non si mette la PWD sul VBA, si genera una versione Compilata del CLIENT, quindi MDE o ACCDE, in questo modo non sarà più accessibile la modalità Design(Struttura)... ovviamente serve avere consapevolezza di questa cosa, perchè sviluppando a casa e poi trasferendo il CLIENT compilato... potreste avere brutte sorprese, magari nei RIFERIMENTI del VBA...
4) Si sviluppa in logica LATEBINDING proprio per non avere problemi come da Punto 3.
5) Disabilitare i Menù NATIVI, si creano Barre Strumenti e Menù Minimal ma personalizzati e controllabili, così anche per i Popup.
6) Si eliminano tutti i sistemi di FILTRO ed Ordinamento da Menù
7) SQL INJECTION... questo sconosciuto, metto solo il titolo perchè l'argomento è complesso e sottovalutato.
Il punto 2 è indispensabile, perchè nonostante tutto la parte Server è debole come protezione e le Password o la Connection string viene salvata in chiaro in una Tabella di SISTEAMA, quindi se non la si cancella leggibile in 1 secondo... questo è il motivo per cui al LOGIN si fa il LINK, ed al LOGOUT il LINK-DESTROY
Non aggiungo altro direi che questi sono già un passo che non tutti implementano adeguatamente.
Saluti.