Gestire la corrispondenza con Access 2007

di Gianfranco Budano

Pubblicato 26 Febbraio 2008
Aggiornato 8 Ottobre 2012 17:31

logo PMI+ logo PMI+
Come realizzare una semplice applicazione per la gestione della corrispondenza in azienda

La gestione documentale in un’azienda assume una rilevanza strategica, nella misura in cui tiene traccia degli eventi, anche quelli che riguardano le comunicazioni da e per l’esterno.
In quest’ottica, le aziende si dotano di strumenti in grado di protocollare il flusso di documenti che entrano ed escono dalla realtà aziendale, al fine di reperire poi velocemente le informazioni quando occorre. In questo tutorial realizziamo un esempio semplice di database per il protocollo della corrispondenza in entrata e in uscita, utilizzando le potenzialità di Microsoft Access.

Progetto per la gestione della corrispondenza
scarica l’applicativo

Come utilizzare l’applicazione

Dopo aver scaricato il database, per poterlo utilizzare sarà necessario disporre di Microsoft Access 2007, incluso nella suite Office Professional 2007. Se abbiamo già provveduto ad installare Access 2007, ci basterà fare doppio clic sul file per aprirlo. È importante, una volta aperto il DB, sbloccare le macro, ovvero abilitarle, perché altrimenti il blocco di sicurezza di Access impedirebbe di utilizzare i pulsanti.

Per abilitare le macro di questo DB, una volta aperto Access andiamo sul Pulsante di Office, clicchiamo su Opzioni di Access>Centro protezione e poi su Impostazioni Centro protezione. Dalla sezione Percorsi attendibili, clicchiamo su “Aggiungi nuovo percorso” e da Sfoglia selezioniamo la cartella nella quale abbiamo salvato il nostro programma durante lo scaricamento.

A questo punto diamo l’Ok due volte e chiudiamo il database. Lo riapriamo e non avremo più il problema del blocco delle macro.

Per il resto l’uso del programma è abbastanza intuitivo, un pannello con due pulsanti ci chiede, in apertura, se protocollare la posta in entrata o quella in uscita. Effettuata la scelta si aprirà la maschera di inserimento corrispondente; la stessa possiede un altro pulsante che permette di passare all’altra opzione in qualsiasi momento.

Possiamo registrare tranquillamente i vostri dati, non sarà necessario salvare alcunché dal momento che per salvare il record sarà sufficiente passare a quello successivo. Per l’inserimento della data possiamo utilizzare il comodo pulsantino al lato del campo data, si aprirà un calendario che ne agevola la selezione.

Costruire il programma

Innanzitutto creiamo un nuovo database da Nuovo>Database vuoto, assegnandogli un nome significativo e mnemomico, come ad esempio “DB Corrispondenza 2008”; scegliamo la destinazione del salvataggio dalla piccola icona gialla a destra del nome. Inserire un anno di riferimento è importante, poiché per non appesantire il database oltremodo, è utile crearne uno vuoto per ogni anno, dal momento che la corrispondenza aziendale, anche nelle piccole e medie imprese, assume sempre un volume significativo.

Una volta creato il database vuoto dobbiamo provvedere a popolarlo: uno scheletro adeguato al fine che ci siamo prefissato prevede la costruzione di due tabelle, una per la corrispondenza in entrata e l’altra per la corrispondenza in uscita. Questa scelta è dettata dal fatto che la numerazione che i documenti devono acquisire sarà ovviamente diversa per quelli in ingresso rispetto a quelli in uscita.

In Access 2007, dal Ribbon procediamo da Crea>Struttura tabella ed inseriamo i campi della prima tabella, quella della corrispondenza in entrata, che chiameremo TB_IN.

Il primo campo deve essere ID_Ref, ovvero un contatore – che sarà anche la chiave primaria – le cui proprietà saranno: Intero lungo, Incremento, Si (Duplicati non ammessi) perché esso deve assegnare un numero univoco al documento che giunge sul tavolo del protocollante, il quale provvederà a riportarlo sul documento stesso, prima di riporlo in archivio.

Il secondo campo è un campo data, che chiameremo per brevità Dt e che sarà una data generica (se abbiamo bisogno di indicare anche l’orario di ingresso) o una data breve.

Figura 1. Tabella per la posta in entrata

Tabella per la posta in entrata

Quindi seguiranno un campo di testo per il Mittente (lungo 255 caratteri), un campo di testo Oggetto (per indicare l’oggetto del documento e lungo 255 caratteri), un campo di tipo memo, che chiameremo Note per riservarci uno spazio per annotare appunto ciò che bisogna ricordare in merito al documento (ad esempio: documento consegnato a mano, o documento giunto in busta aperta, oppure risposta protocollata n., oppure nome e cognome di chi protocolla, etc.).

È consigliabile anche l’uso di altri campi come Ufficio e Racc, ad esempio, per memorizzare: l’ufficio che prende in carico il documento o che è il referente del documento (ad es. Direzione, Ufficio Clienti, Ufficio Acquisti etc.); e un campo per memorizzare se si tratta di una raccomandata.

Il campo Ufficio poi, potrebbe essere un campo indicizzato, che prende i valori da un’altra maschera, ma che lasciamo libero per l’inserimento a mano (in un altro tutorial vedreemo come ottenere un menu a discesa. Quindi questo campo è di tipo testo, mentre il secondo di tipo Si/No.

La nostra tabella base per la corrispondenza in entrata è completa; la sua complessità può aumentare (aggiungendo ad esempio un campo per la scansione del documento, o altro), ma in linea generale è sufficiente.

Passiamo dunque alla tabella dei documenti in uscita, che chiameremo TB_OUT e che avrà più o meno gli stessi campi della precedente, ovvero un campo contatore ID_Ref; Nome_Ref (cioè un campo di testo che riporti chi firma il documento o chi lo ha prodotto); Destinatario e Oggetto, entrambi campi di testo; Dt (data di emissione del documento); Note (il solito campo Memo). Possiamo aggiungere anche un campo che riporti il link alla cartella che contiene la copia digitale del documento; si tratta di un semplice campo Copia di tipo Collegamento ipertestuale. Le nostre tabelle appariranno come segue:

Figura 2. Tabella per la posta in uscita

Tabella per la posta in uscita

Ora dobbiamo creare le maschere per l’inserimento dei dati da Crea>Altre maschere>Creazione guidata maschera, procedendo prima con una e poi con l’altra tabella.

Il wizard ci guida nella scelta del tipo di maschera e del layout che vogliamo ottenere; in questo esempio ho scelto una maschera a colonne con uno stile Terra, per la documentazione in ingresso, che ho chiamato Protocollo della corrispondenza in entrata; per la documentazione in uscita, ho cambiato lo stile per rendere la maschera immediatamente riconoscibile e distinguibile dalla precedente e l’ho chiamata Protocollo della corrispondenza in uscita.

Figura 3. Aspetto delle maschere

Aspetto delle maschere

Ora abbiamo bisogno di una maschera che ci indirizzi verso l’una o l’altra delle precedenti e qualche aggiustamento ulteriore. Creiamo una maschera vuota, passiamo in modalità Struttura; aggiungiamo una casella di testo in cui scriviamo “Cosa vuoi utilizzare?”; poi aggiungiamo un Pulsante (controllo modulo) e con il tasto destro del mouse apriamo Genera evento e scegliamo Generatore di Macro. L’azione sarà ApriMaschera e Nome Maschera sarà Protocollo della corrispondenza in entrata. Quindi clicchiamo su Salva con nome e scriviamo come nome IN.

Selezioniamo il nome che appare sul pulsante e modifichiamo in “Protocollo in entrata”, quindi selezioniamo l’intero pulsante e con i tasti CTRL+C e CTRL+V (copia e incolla) creiamo una copia del pulsante; con il tasto destro del mouse ripetiamo la sequenza di generazione della macro, diamo come maschera quella del protocollo in uscita, salviamo la macro come OUT e modifichiamo il nome del pulsante opportunamente. Salviamo infine la maschera con i pulsanti con il nome HOME.

Figura 4. Aspetto della maschera HOME

Aspetto della maschera HOME

Impostiamo la maschera che deve accogliere chi quando lancia l’applicazione. Andiamo sul Pulsante di Office e clicchiamo su Opzioni di Access. Da Database corrente, scegliamo Visualizza Maschera e selezioniamo HOME, quindi Ok. In questo modo al prossimo riavvio del database, si aprirà la maschera HOME, dalla quale potremo decidere se utilizzare il protocollo in entrata o quello in uscita.

Fra le due maschere di protocollo non c’è un modo per passare da una all’altra direttamente. Per ovviare a questo problema possiamo aggiungere un pulsante su ambo le maschere principali.

Apriamo la maschera Protocollo della corrispondenza in entrata, passiamo in modalità Struttura, allarghiamo il fianco destro della maschera e aggiungiamo un pulsante, modifichiamone l’etichetta in “Vai a Protocollo in uscita”, quindi con il tasto destro del mouse apriamo la Finestra delle proprietà; nella sezione Evento>Su clic, dall’elenco scegliamo OUT (il nome della seconda macro che abbiamo generato).

Chiudiamo la Finestra delle proprietà, salviamo la maschera e passiamo in modalità Visualizza per testare il pulsante. Se esso funziona, cliccandoci sopra dovremmo essere riportati sulla maschera Protocollo della corrispondenza in uscita. Ripetiamo i passi salienti anche per quest’ultima maschera, al fine di aggiungere anche qui un pulsante. La procedura è identica alla precedente, ma dall’elenco nella Finestra delle proprietà> Evento>Su clic, dovremo selezionare IN, ovvero la prima macro che abbiamo creato.

Figura 5. Maschere con pulsanti per cambiare funzione

Maschere con pulsanti per cambiare funzione

A questo punto possiamo iniziare a protocollare tutta la corrispondenza. Questo database può sicuramente essere migliorato, anche nell’estetica, ma così com’è, si presta ad essere popolato agevolmente e a tenere traccia del workflow per una piccola o media azienda.