lunedì 7 dicembre 2015

MICROSOFT ACCESS: CREARE RICEVUTE FISCALI O FATTURE PROFESSIONALI CON PIU’ ALIQUOTE, SENZA USARE LINGUAGGIO VBA, IN 10 SEMPLICI FASI



L’idea di questo blog nasce da un’esigenza personale di velocizzare il processo di rilascio ricevuta al cliente, riducendo al contempo gli errori. Purtroppo, dopo aver provato numerosi programmi senza ricavarne piena soddisfazione, si è resa necessaria l’auto-realizzazione della ricevuta.
I problemi che ho riscontrato io con gli altri programmi sono:

  •       molti permettono di inserire una sola aliquota: questo può essere problematico per chi deve inserire più di una voce, come ad esempio i professionisti che devono inserire anche la voce dedicata al versamento contributi previdenziali o la ritenuta d’acconto

  •       alcuni di questi programmi si possono usare solo se si è connessi ad internet, con relativi problemi

  •       alcuni sono notevolmente complicati da impostare, tanto vale a questo punto imparare ad usare Access

  •       alcuni programmi, anche assurdamente costosi, sbagliano i calcoli delle aliquote, forse per un’incapacità di programmarli da parte di chi li compra, non so

  •       ho realizzato anche delle ricevute in Excel. Sono molto semplici e funzionali, ma il database clienti è meno funzionale di quello che si può fare in Access e richiamarli dal menù a tendina lo trovo scomodo (in Access funziona meglio)

Se anche voi vi state scontrando con questi problemi, forse potrete trovare una soluzione in questo blog.
C’è da dire che Access non è affatto un programma facile ed intuitivo come altri del pacchetto Office e il linguaggio da programmatori usato sui forum, siti e blog che trattano l’argomento è complicato e frustrante e potrebbe far pensare che solo una persona che conosce il linguaggio di programmazione di Access (VBA) possa usarlo o che la soluzione migliore sia gettare il computer dal balcone. Se questa voglia è venuta anche a voi, aspettate e dategli un’ultima chance.
Anche se state già realizzando un file Access vostro, con tutti i dati necessari alla vostra azienda, vi consiglio di creare un nuovo database di prova, seguendo le mie istruzioni passo passo: lo scopo è imparare ad usare il programma, una volta capito come si fa, potrete realizzare un database vostro e farci quello che volete.
Ricordo che la finalità sarà realizzare una ricevuta fiscale con più aliquote per professionisti e permettere di stamparla in doppia copia. Per altre esigenze, la modificherete a vostro piacimento.
Tempo di realizzazione (tolti i vari aggiustamenti estetici): un pomeriggio.
Premetto che io utilizzo Access 2007 perché lo preferisco e do per scontata la conoscenza di base dell’uso di tabelle e maschere di Access. In caso di dubbi, ci sono vari siti che spiegano le basi di questo programma senza grosse difficoltà.

FASE I: CREAZIONE TABELLE



Creiamo un database di Access completamente vuoto, poi andiamo a creare la nostra prima tabella nel menù “crea” in alto a sinistra. Comparirà una tabella di aspetto molto simile a quelle che potete creare in Word, ma vuota, tranne un campo chiamato “ID”. Cliccando sul pulsante “salva” (il floppy azzurro in alto) ci sarà chiesto di assegnare un nome alla tabella e la chiameremo CLIENTI.
È importante assegnare sempre nomi maiuscoli in fase di realizzazione, senza accenti o punteggiatura e senza spazi. Al posto dello spazio useremo il simbolo _ in modo da ridurre gli errori quando inseriremo le formule.
Al momento di realizzare la ricevuta vera e propria (il report) cambieremo a nostro piacimento le etichette e potremo utilizzare spazi, punteggiatura e lettere minuscole.
Ora inseriamo le voci nella tabella. Cliccando sulla casella “ID” ci permette di modificarne il nome, così la rinomineremo IDCLIENTE. Poi andremo alla casella a destra di IDCLIENTE che chiameremo RAG_SOC, a quella successiva ancora che sarà INDIRIZZO ed all’ultima che sarà chiamata COD_FISC. Salviamo e chiudiamo.
Andando sempre nel menù “crea”, realizzeremo una nuova tabella che chiameremo RICEVUTA. Le voci in questa tabella saranno: IDRICEVUTA, DATA, NUMERO, IDCLIENTI (in questo ordine).
Su questa tabella faremo un’azione in più: selezionando il menù “foglio dati” e cliccando su IDRICEVUTA vedremo che il “Tipo di dati” della casella è settato su “contatore” con la spunta su “univoco”. Lasciamo tutto com’è. Selezionando le altre colonne, invece, ci accorgiamo che sono tutte impostate su testo, mentre noi dobbiamo scegliere “Data/ora” per la colonna DATA, “Numerico” per NUMERO e “Numerico” per IDCLIENTE. Salviamo e chiudiamo.
Realizziamo infine una terza tabella chiamata DETTAGLIO, i cui campi saranno IDDETTAGLIO, QUANTITA (senza accento), PRESTAZIONE, COSTO, IDRICEVUTA. Sempre in “Foglio dati” andremo a selezionare “Numerico” per QUANTITA, “Valuta” per COSTO e “Numerico” per IDRICEVUTA, lasciando invece invariato il campo “Testo” per la colonna PRESTAZIONE. Salviamo e chiudiamo.
Infine apriamo di nuovo la tabella CLIENTI e (in “Foglio dati”) inseriamo la spunta “Univoco” accanto  alla voce “Testo” di COD_FISC. Questo servirà ad impedire di poter avere doppioni tra i clienti: se proviamo ad inserire un codice fiscale già esistente, il programma ci avviserà che il cliente è già presente nel database. Ciò non si può fare con la ragione sociale per ovvi problemi legati ad eventuali omonimie.
Riassumendo abbiamo creato tre tabelle con le tre parti della nostra ricevuta fiscale, abbiamo inserito dei riferimenti alle altre tabelle (i campi IDCLIENTE e IDRICEVUTA) che serviranno al programma per gestirle e abbiamo indicato per ogni colonna il tipo di dati che dovrà contenere.
Ora chiudiamo il programma e facciamo una copia del file da tenere accanto ad esso, nella stessa cartella. Ci servirà perché, se in fase di realizzazione qualcosa dovesse non funzionare in quanto abbiamo fatto un errore, potremo utilizzare l’altro file e ripartire dall’ultima fase, come un backup. Vi consiglio quindi di farlo ogni volta che terminiamo una fase, salvando man mano i progressi in due copie: una da modificare e l’altra da tenere di scorta.

FASE II: RELAZIONI TRA TABELLE



Perché i dati si aggiornino automaticamente fra le tabelle, è necessario creare delle relazioni nel menù “strumenti database”, alla voce “relazioni”. Si aprirà uno strumento che ci chiede di scegliere una tabella. Le aggiungiamo tutte e 3. Poi trasciniamo la voce IDCLIENTE della tabella CLIENTI sulla voce IDCLIENTE della tabella RICEVUTA.  Nella tabella che si aprirà, controlliamo che il tipo di relazione (in basso) sia “uno a molti” e mettiamo la spunta alle voci “applica integrità referenziale” e “aggiorna campi correlati a catena”. Se vogliamo che cancellando un campo in una tabella si cancelli anche quello nell’altra tabella, per non lasciare buchi, possiamo spuntare anche “elimina record correlati a catena”. Diamo ok e ripetiamo l’operazione con la voce IDRICEVUTA, nelle tabelle RICEVUTA e DETTAGLIO. Salviamo e chiudiamo.
Queste operazioni servono al programma per sapere che le tabelle sono correlate tra loro e devono comunicare a vicenda quando cambiamo i dati al loro interno.

FASE III: CREAZIONE MASCHERE




Apriamo la tabella CLIENTI e nel menù “crea” selezioniamo “altre maschere -> creazione guidata maschera”. Si aprirà una nuova finestra. La maschera clienti è semplice da realizzare: selezioniamo tutti i campi tranne la chiave (IDCLIENTE), andando avanti selezioniamo “giustificato” e poi scegliamo un tema di nostro gradimento, non perdiamoci troppo tempo, potremo personalizzare la maschera come vogliamo in seguito, quindi selezionando “fine” si chiuderà la finestra e si aprirà la maschera clienti.
Al momento non la personalizziamo: se dovessimo sbagliare qualcosa in fase di realizzazione, sarebbe tutto tempo perso. Meglio finire, accertarsi che tutto funzioni adeguatamente e poi occuparsi del lato puramente estetico. Salviamo e chiudiamo. Ci accorgiamo che il sistema ha nominato automaticamente questa maschera come “CLIENTI”.
Per la creazione della maschera RICEVUTA il procedimento è simile ma più complicato: questa maschera deve dialogare con la tabella CLIENTI, con quella RICEVUTA e con la tabella DETTAGLIO, oltretutto in maniera diversa perché ad ogni ricevuta deve corrispondere un solo cliente ma più prestazioni. Ecco come lo otteniamo: è importante che durante la realizzazione guidata della maschera sia selezionato anche il campo IDRICEVUTA, al quale aggiungeremo i campi DATA e NUMERO. Non aggiungiamo altro al momento, scegliamo sempre un layout “giustificato” ed un tema a nostro piacimento, poi clicchiamo su “fine”.
La maschera che comparirà dovrebbe essere diversa da quella CLIENTI, con i campi messi in orizzontale invece che in verticale.
Ora clicchiamo in alto a sinistra “visualizza -> visualizzazione struttura” e si aprirà la modalità struttura, che ci consente di apportare tutte le modifiche che vogliamo alle maschere. Siamo ancora in fase di realizzazione, quindi, come sopra, non preoccupiamoci troppo di spostare i record o cambiare lo sfondo. Quello che dobbiamo fare ora è cliccare tra i pulsanti della barra in alto quello chiamato “casella combinata” (potreste doverci passare il mouse sopra per leggere il nome). Il cursore del mouse diventerà un + e, cliccando sotto le caselle che abbiamo già inserito, creeremo una casella di testo di tipo “casella combinata”.  Nella procedura guidata, lasceremo la spunta su “ricerca valori in una tabella -> tabella CLIENTI” e selezioniamo tutti i campi. Ordiniamo i campi in senso “crescente” in base alla ragione sociale (RAG_SOC) o in base al campo che preferiamo e lasciamo la spunta su “nascondi colonna chiave”, diamo “fine” e chiudiamo.
Successivamente clicchiamo in alto a destra su “aggiungi campi esistenti”, così da aprire una schermata a destra con tutti i campi che abbiamo creato nelle nostre tabelle. Selezioniamo i campi INDIRIZZO e COD_FISC e li aggiungiamo sotto il record RAG_SOC.
Infine clicchiamo il controllo “sottomaschera/sottoreport” e andiamo a creare una casella, come abbiamo fatto per RAG_SOC, sotto i report che abbiamo già inserito. Si aprirà una proceduta guidata, nella quale selezioneremo “usa tabelle e query esistenti” e immetteremo tutti i valori della tabella DETTAGLIO, comprese le chiavi IDDETTAGLIO e IDRICEVUTA. Clicchiamo “fine” e notiamo che è stata creata a sinistra una maschera che il sistema ha nominato “sottomaschera DETTAGLIO”.
Per migliore visibilità dei campi da riempire possiamo cliccare il campo IDDETTAGLIO della sottomaschera e spostarlo alla fine, prima o dopo il campo IDRICEVUTA. Salviamo e chiudiamo.

FASE IV: IMMISSIONE DATI



Terminata la fase di realizzazione, conviene inserire un paio di clienti e di ricevute per controllare che tutto funzioni. Possono essere reali o fittizi, è uguale.
Apriamo dunque la tabella CLIENTI e scriviamo nel campo RAG_SOC “Cliente prova 1”, nel campo INDIRIZZO “via prova 1” e nel campo COD_FISC “prova1”. Poi procedendo a creare il “Cliente prova 2” e poi il “Cliente prova 3” con le stesse modalità del primo.
Nella tabella RICEVUTA inseriremo la data tramite il bottoncino posto a lato del campo, poi scriveremo “1” in NUMERO e IDCLIENTE.
Infine, nella tabella DETTAGLIO, scriveremo QUANTITA “2”, PRESTAZIONE “prestazione1”, COSTO “100” (il sistema scriverà automaticamente “100,00 €”, se non fosse settato in euro, baderemo a cambiare la valuta, se necessario), ID RICEVUTA “1”. Nella riga successiva scriviamo “1” “prestazione2” “300” “1”. Salviamo e chiudiamo.
Dare dei numeri diversi nella quantità ci servirà a vedere se il sistema fa bene i calcoli.