COME FARE DATABASE Codice segreto Come nascondere del codice Visual Basic all’interno di un file di Access per evitare guai ▲ Quando si lavora in ambienti di rete è utile avere la visualizzazione sempre aggiornata dei dati di una tabella. Ecco come ottenerla S e avete appena terminato lo sviluppo di una procedura in Access e non desiderate che gli utilizzatori del database mettano gli occhi sul codice tanto sudato per portare a termine la procedura, Access vi consente un minimo di protezione. Nonostante si sia sempre sostenuto che solo i compilatori come Visual C++ o il Visual Basic siano in grado di nascondere il codice sorgente, anche Access ha un compilatore. Benché non si tratti di un compilatore nel senso stretto del termine, può risolvere brillantemente il problema della protezione del codice sorgente In Access è possibile salvare un database in formato MDE creando una copia che consente di nascondere il codice Visual Basic contenuto all’interno del database. Il salvataggio (si noti che non si utilizza il termine compilazione) del database di Access come MDE comporta la compilazione di tutti i moduli, la rimozione di tutto il codice sorgente modificabile e la compattazione del database di destinazione. Il codice Visual Basic continuerà a essere eseguito, ma non potrà essere visualizzato o modificato e la dimensione del database di Access si ridurrà a seguito della rimozione del codice. Inol328 PC WORLD ITALIA tre, verrà ottimizzato l’utilizzo della memoria con un conseguente incremento delle prestazioni. L’operazione però non è priva di controindicazioni: dopo avere salvato il database di Access come file MDE non sarà più possibile visualizzare, modificare o creare maschere, report o moduli in VISUALIZZAZIONE STRUTTURA. Non sarà possibile aggiungere, eliminare o modificare dei riferimenti ai database o alle librerie di oggetti, cambiare il codice utilizzando le proprietà o i metodi dei modelli di oggetti Microsoft Access o VBA. Inoltre, non saranno possibili l’importazione o esportazione di maschere, report o moduli. È tuttavia possibile importare o esportare tabelle, query, pagine di accesso ai dati e macro da o verso database non MDE. Qualsiasi tabella, query, pagina di accesso ai dati o macro presente in un file MDE può essere importata in un altro database di Access, ma nessuna maschera, report o modulo, può essere importato in un altro database di Access. Come se le indicazioni sopra esposte non fossero sufficienti, segnaliamo che occorre sempre salvare una copia del database di Access originale. Per modificare la struttura di maschere, report o moduli di un database di Access salvato come MDE è necessario aprire il database originale, modificarlo, quindi salvarlo nuovamente come MDE. Operativamente la procedura di creazione di un file MDE è semplice. Innanzitutto, occorre chiudere il database che si intende convertire. Se si sta lavorando in un ambiente multiutente, occorre anche assicurarsi che tutti gli utenti abbiano chiuso il NOVEMBRE 2001 database di Access. A questo punto si deve accedere al menu STRUMENTI/UTILITÀ DATABASE, e scegliere il comando CREA COPIA DI FILE MDE. Nella finestra di dialogo successiva si deve specificare il database di Access che si desidera salvare come file MDE, quindi scegliere il pulsante CREA MDE. Nella finestra di dialogo SALVA MDE CON NOME specificare il nome e il percorso che si desidera assegnare al database di Access. A questo punto disporrete di un “file eseguibile” di Access, completamente protetto per quanto riguarda il codice. UN PO’ DI MANUTENZIONE Se si è soliti creare applicazioni con due database, uno per le tabelle e i dati e uno contenente le maschere, le query e i report, si può efficacemente riparare e compattare il database con i dati all’avvio del programma client. Basta ricorrere ai metodi COMPACTDATABASE e REPAIRDATABASE, disponibili nel DB Engine di DAO. Infatti, succede a volte che questi file si guastino o diventino troppo ingombranti. Può essere una buona soluzione implementare nella procedura di avvio una chiamata al metodo COMPACTDATABASE oppure al metodo REPAIRDATABASE, qualora il programma generi un errore 3049 (che sta a significare database non valido), come la semplice istruzione che segue: DBEngine.RepairDatabase “c:\dbase.mdb” DATI SEMPRE AGGIORNATI Se si usa un database Access condiviso in rete è possibile che contemporaneamente altri utenti stiano modificando gli stessi dati di un foglio dati o di una maschera. I dati visualizzati vengono aggiornati a intervalli regolari. Per visualizzare immediatamente i dati più recenti, si deve aprire una tabella, una query o una maschera in VISUALIZZAZIONE FOGLIO DATI, oppure una maschera in VISUALIZZAZIONE MASCHERA e scegliere poi il comando RECORD/AGGIORNA. Con questo comando è possibile aggiornare solo i dati già esistenti; non si può usarlo per riordinare i record, visualizzare nuovi record oppure rimuovere i record eliminati e quelli che non soddisfano più i criteri specificati. Per effettuare queste azioni, è necessario eseguire una nuova query sui record premendo la combinazione di tasti MAIUSC+F9. - Claudio Panerai