Ottimo... bene così.
L'importante tu abbia capito la logica di come si comporta MsAccess e da qui sai se certe cose si possono o meno fare o se conviene e come farle.
Come si dice... il sapere non ha mai limiti, l'importante è sapere perchè solo con la conoscenza si ha coscienza (...hmmm più o meno nà cosa del genere) ;-)
Ho dato una piccola occhiata al Vba ... se posso di darei alcuni piccoli suggerimenti:
- Non sempre hai usato "Option Explicit" ... usalo e Compila, in questo modo MsAccess ti segnala le mancate dichiarazioni e/o eventuali errori di sintassi e/o altro
- Non sempre chiudi gli oggetti che hai dichiarato... per esempio :
- quando occorre a fronte di dichiarazioni DAO.Database (non sempre necessita eseguire la Close e basta un Nothing per rilasciarlo)
- oppure DAO.Recordset che necessariament eè bene chiuderlo con la Close e rilasciarlo conil Nothing
- oppure Object generici per i quali basta rilasciarli con il Nothing
- In alcuni casi hai dichiarato DAO.Database e lo hai usato... ma al tempo stesso, nella stessa routine, poi usi anche CurrentDb.Execute al posto di Db.Executive. Direi delle due una... qui puoi semplificare usandoo una tecnica o l'altra.
- alternativa usare DBEngine(0)(0) ... più performante (ho visto che in un solo caso l'hai utilizzato)
- La gestione Errori andrebbe usata con criterio e parsimonia... Personalmente evito di utilizzare la gestione errori. Cerco sempre di affinare e implementare i controlli per non avere errori a prescindere. Se uso la gestione degli Errori è solo in certi contesti imponderabili, dove l'eventuale errore non si può intercettare diversamente con controlli preventivi etc...
- I commenti, mancano tantissimo... mio cruccio ;-)
- Mancano i Titoli delle ROUTINE per descrivere i compiti svolti dalle Sub e dalle Function
- Mancano i commenti alle righe di codice. Sono indispensabili per descrivere il flusso del codice. Aumenta la chiarezza, leggibilità e rileggibilità indispensabile a distanza di tempo. Perchè un conto è scrivere e rileggere nell'immediato il codice appena scritto... ma a distanza di un mese o di un anno? magari non hai più in testa l'intero flusso del progetto e farai tanta fatica a rileggerlo se occorre apportare modifiche, correzioni e implementazioni.
.
Insomma, personalmente tenevo a evidenziare alcune cose utilii per migliorare e rendere più robusto l'intero progetto.
Buon lavoro,alla prox... ;-)