Quando si scrive un programma in Access una delle cose più complicate da implementare è la finestra popup in quanto si deve riportare il valore nel controllo che ha aperto la finestra stessa. Ad esempio se vogliamo una casella combinata che presenta tutti i clienti ed all’occorrenza far modificare i dati del cliente stesso dobbiamo al doppio click sul controllo far apparire una nuova Form ‘acDialog’ ( la nostra finestra popup ) con la funzione DoCmd OpenForm …. quindi dare come ultimo parametro l’ID del cliente da presentare che prenderò nella form dei clienti con Me.OpenArgs nell’evento FormLoad. Se poi l’utente cambia cliente nella finestra popup? Anche la casella combinata nel Form padre deve essere aggiornata con il nuovo valore e come facciamo ad implementare questo? Scrivendo il valore nel registro di sistema e riprendendo il valore all’aggiornamento del controllo nella finestra padre. Le funzioni sono:
SaveSetting “Chiave”, “Sottochiave”, “Valore”, Me!IDCliente
GetSetting “Chiave”, “SottoChiave”, “Valore”, Default
DeleteSetting “Chiave”, “SottoChiave”
Potete consultare alcuni esempi riguardo a questo argomento e molto altro su alcuni applicativi scritti in Access da me con sorgente aperto ( open source ) a questo indirizzo. Da questi esempi potete anche notare come io non abbia mai fatto uso di macro o cose simili, ma solo di Form e codice VBA, in questo modo Access diventa uno strumento eccezionale per scrivere applicativi gestionali in poco tempo. Ovviamente anch’esso ha delle limitazioni a cominciare dalla velocità di esecuzione di ricerche complesse, per questo neanche .NET o Java mi soddisfa, preferisco scriverle in C/C++ con MFC, STL ed ATL, certo che occorre moltissimo tempo, ma i programmi sono saette, vedere ad esempio Calus che è stato scritto con VC++ 9.0.