MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE...

63
www.filoweb.it MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale, serve cioè a gestire in modo razionale basi di dati, semplici o complesse, quindi informazioni, qualunque sia la loro provenienza, la loro forma e la loro destinazione. Senza usare parole complesse o troppo tecniche possiamo dire che, rifacendosi al modello introdotto teoricamente da Edgar F. Codd negli anni ’70, le tabelle di Access possono essere messe in relazione tra di loro tramite determinati vincoli e da qua il nome relazionale. Non parliamo di modelli relazionali e teorie degli insiemi su cui si basano i database relazionali, in quando non ci interessano per un uso pratico di quello che dobbiamo fare. La complessità iniziale di Access spaventa molti utenti, soprattutto perché è meno intuitivo degli altri applicativi come Word, Excel o PowerPoint. Spesso si usa Excel e lo si fa interagire con Word per fare operazioni che si possono fare e gestire più semplicemente in Access. Access non ha a che fare con una sola tipologia di documenti ma con un insieme di “moduli” che interagiscono per creare il risultato finale. Per spiegare in parole povere mentre in word ho un documento dove scrivo, in Excel una cartella che contiene i fogli di lavoro, in Access ho un file che contiene diversi tipi di documenti che si integrano e che si possono integrare con gli altri applicativi di office. In un file di access trovo inseriti: Tabelle. Una tabella è sostanzialmente una struttura bidimensionale identificata da campi e da records. Nelle tabelle i dati vengono organizzati in colonne e righe (simili ad un foglio di Excel) Querry. Una query è uno strumento che consente di estrarre dei dati memorizzati nelle tabelle, per visualizzarli, analizzarli e modificarli in modi diversi. Maschere. Detta anche Form, una maschera rappresenta l'interfaccia grafica mediante la quale l'utente dialoga con il Data Base; è possibile immettere, modificare e visualizzare dati. Report. Il report costituisce un efficace mezzo per presentare i dati in un formato adatto ad essere stampato od esportato. In un report le informazioni possano essere organizzate in modo chiaro ed efficace. Visual basic. Il visual basic for applications (o VBA) è il linguaggio di programmazione che usa Access – ed anche gli altri applicativi della famiglia office . Non bisogna confondere il VBA con in VB ( visual basic solamente) anche se sono molto simili tra di loro. Ma a cosa serve esattamente Access? Con access si può fare praticamente di tutto o quasi ma non esageriamo Facciamo un esempio semplice di cosa può fare un database relazionale: Mi piace fare i dolci e conosco molte ricette. In access creao una tabella con gli ingredienti che uso per fare dolci. poi una tabella con l'elenco dei vari dolci che ho archiviati, e un'altra tabella che fa riferimento ai dolci e agli ingredienti; in una sorta di relazione 1 dolce, n ingrendienti, x quantità eccetera eccetera, così come sarebbe scritto su un ricettario. Poi faccio una tabella con i libri da dove spuntano le ricette, i gradimenti, le volte in cui li ho preparati e altre informazioni che ritengo importanti. Preparo una serie di maschere per consultare il database, e fare la stampa del ricettario! così quando sa che ingredienti ho, ma non ha la più pallida idea di che dolce fare faccio una bella ricerca usando gli ingredienti.

Transcript of MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE...

Page 1: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

MICROSOFT ACCESS 

PARTE PRIMA: CAPIRE ACCESS  

Contenuto nel pacchetto office Access è un potente database relazionale, serve cioè a gestire in modo razionale basi di dati, semplici o complesse, quindi informazioni, qualunque sia la loro provenienza, la loro forma e la loro destinazione. Senza usare parole complesse o troppo tecniche possiamo dire che, rifacendosi al modello introdotto teoricamente da Edgar F. Codd negli anni ’70, le tabelle di Access possono essere messe in relazione tra di loro tramite determinati vincoli e da qua il nome relazionale. Non parliamo di modelli relazionali e teorie degli insiemi su cui si basano i database relazionali,  in quando non ci interessano per un uso pratico di quello che dobbiamo fare. La complessità iniziale di Access spaventa molti utenti, soprattutto perché è meno intuitivo degli altri applicativi come Word, Excel o PowerPoint. Spesso si usa Excel e lo si fa interagire con Word per fare operazioni che si possono fare e gestire più semplicemente in Access. Access non ha a che fare con una sola tipologia di documenti ma con un insieme di “moduli” che interagiscono per creare il risultato finale. Per spiegare in parole povere mentre in word ho un documento dove scrivo, in Excel una cartella che contiene i fogli di lavoro, in Access ho un file che contiene diversi tipi di documenti che si integrano e che si possono integrare con gli altri applicativi di office. In un file di access trovo inseriti: 

Tabelle. Una tabella è sostanzialmente una struttura bidimensionale identificata da campi e da records. Nelle tabelle i dati vengono organizzati in colonne e righe (simili ad un foglio di Excel) 

Querry. Una query è uno strumento che consente di estrarre dei dati memorizzati nelle tabelle, per visualizzarli, analizzarli e modificarli in modi diversi.  

Maschere. Detta anche Form, una maschera rappresenta l'interfaccia grafica mediante la quale l'utente dialoga con il Data Base; è possibile immettere, modificare e visualizzare dati. 

Report. Il report costituisce un efficace mezzo per presentare i dati in un formato adatto ad essere stampato od esportato. In un report le informazioni possano essere organizzate in modo chiaro ed efficace.

Visual basic. Il visual basic for applications ( o VBA) è il linguaggio di programmazione che usa Access – ed anche gli altri applicativi della famiglia office ‐. Non bisogna confondere il VBA con in VB ( visual basic solamente) anche se sono molto simili tra di loro. 

Ma a cosa serve esattamente Access? Con access si può fare praticamente di tutto o quasi ma non esageriamo Facciamo un esempio semplice di cosa può fare un database relazionale: Mi piace fare i dolci e conosco molte ricette. In access creao una tabella con gli ingredienti che uso per fare dolci. poi una tabella con l'elenco dei vari dolci che ho archiviati, e un'altra tabella che fa riferimento ai dolci e agli ingredienti; in una sorta di relazione 1 dolce, n ingrendienti, x quantità eccetera eccetera, così come sarebbe scritto su un ricettario. Poi faccio una tabella con i libri da dove spuntano le ricette, i gradimenti, le volte in cui li ho preparati e altre informazioni che ritengo importanti. Preparo una serie di maschere per consultare il database, e fare la stampa del ricettario! così quando sa che ingredienti ho, ma non ha la più pallida idea di che dolce fare faccio una bella ricerca usando gli ingredienti.  

Page 2: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

 INIZIAMO CON ACCESS 

Quando apro Access mi compare una schermata simile  quella sotto. La schermata mi permette di usare dei modelli già presenti oppure di lavorare su un progetto nuovo. Creiamo il nostro primo lavoro 

 Creiamo quindi il nostro primo database chiamandolo come vogliamo. Note: In office 2007 l’estensione non è più .mdb ma .accdb  

Lista modelli disponibili in locale ( sul computer)

Lista che posso scaricare dal web

Dove creo il mio database vuoto

Page 3: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

   TABELLE 

Una tabella è sostanzialmente una struttura bidimensionale identificata da campi e da record Nelle tabelle i dati vengono organizzati in colonne e righe. Le tabelle conterranno i dati che inserirò e anche le informazioni sul tipo di dato. Visivamente in Access una tabella mi si presenta come un foglio di Excel, ma non devo cadere nell’inganno. 

Dal menu delle tabelle selezioniamo Visualizza e quindi struttura. Vedo che mi cambia la visualizzazione della tabella e mi mostra i campi che compongono la mia tabella. Definiamo i campi e cabiamoli. Il campo contatore rappresenta un numero univoco che viene incrementato ogni volta che inserisco un nuovo dato nella mia tabella. Quando cancello un dato il numero univoco viene cancellato ma nessun altro numero lo andrà a sostituire. Ad esempio immaginiamo di avere nel nostro database dei dati simili a questo 

ID  Nome 1  Mario 2  Giorgio 3  Marco 

Se aggiungo un nome mi diverrà in automatico il numero 4 ma se ad esempio elimino Giorgio (numero2) e poi aggiungo un altro nome questo nuovo nome mi diventa 5 

ID  Nome 1  Mario 3  Marco 4  Francesco 5  Mariella 

Tornando alla nostra Tabella definiamo dei campi e per ogni campo associamo il tipo di dato che deve essere inserito e come verrà visualizzato. Per il campo Nome inseriamo giustamente un tipo di dato Testo Per il tipo Vendite ( visto che rappresenterà la quantità di vendite della persona) inseriamo un tipo di campo Numerico Per il tipo Fatturato inseriamo come tipo dato Valuta Per il tipo Note, visto che probabilmente si scriverà una grande quantità di dati inseriamo il tipo di dati Memo. Note: Il tipo testo consente una lunghezza massima di 255 caratteri, il campo memo ne accetta un massimo di 65535. Non bisogna però abusare del tipo Memo o il nostro database risulterà pesantissimo. Note2: Ci può essere un solo campo con tipo contatore in ogni tabella. 

Page 4: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

 Esempio di come inserire il tipo di dato. Per ogni tipo di dato posso specificare come venga inserito. Nel riquadro in basso. 

 Importante:  se metto  Richiesto  il mio  Database mi  chiederà  assolutamente  che  questo  campo  contenga  un  valore;  e  se  inserisco  consenti lunghezza zero come No il campo deve contenere qualcosa ( anche uno spazio va bene) ma non può assolutamente essere vuoto. Chiudiamo adesso la nostra tabella. Ci verrà chiesto se vogliamo salvare i cambiamenti. Diciamo di si. Riapriamo adesso la nostra tabella appena creata e riempiamo i campi. Vediamo  subito  che  l’unico  campo  dove  non  possiamo  scrivere  è  il  campo  CONTATORE  che  invece  aumenta  automaticamente  quando aggiungiamo un record. La visualizzazione dei dati è simile a quella di excel e tutto sommato possiamo dire che è giusto visto che questo sarà solamente il nostro contenitore quindi i dati ci vengono presentati in maniera ordinata. 

Esempio di creazione di tabella in Visualizza struttura

Page 5: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

 RELAZIONE TRA TABELLE 

Visto in questo modo potrei dire che Access non mi serve se ho Excel, ma creiamo adesso una nuova tabella dove metteremo i dati di ogni impiegato. Andiamo quindi sul menù CREA e selezioniamo TABELLA. Torniamo sul menù Home e selezioniamo Visualizza struttura Creiamo ora la nostra tabella come segue: 

formattiamo il campo numeroimpiegato come campo numerico. Lo scopo di questa tabella sarà di associare ogni impiegato nella tabella1 ai relativi dati nella tabella2. Per evitare che due impiegati con lo stesso nome usino gli stessi dati assocerò il campo ID ( contatore quindi univoco) con il campo numeroimpiegato della tabella appena creata. Dato che il campo contatore della prima tabella è un campo numerico anche il campo associato nella seconda tabella deve essere un campo numerico. Scriviamo citta e non città in quando potrei avere problemi dopo nelle formule; è sempre meglio evitare di usare nomi con accento o spazi o caratteri strani ( usare sempre _  per fare gli spazi) per i nomi dei campi nelle tabelle: potrei scrivere ad esempio numero_impiegato che risulta anche più leggibile.    

Selezioniamo adesso il menù strumenti e scegliamo relazioni. Nella finestra scegliamo la prima tabella e quindi aggiungi, poi aggiungiamo la seconda. Trasciniamo il campo ID della prima tabella nel campo numeroimpiegato  della seconda tabella. Nella opzioni scegliamo Applica integrità referenziale ed Elimina recod collegati a catena. Premiamo Crea. Vedo che tra le due tabelle si è creata una linea che collega il campo ID con il campo numeroimpiegato. 

Page 6: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

Il tipo di relazione è 1 a molti.  Vuol dire che un singolo impiegato può avere associate molte tabelle del tipo dati. Nel nostro esempio non ha molto senso ma è utile perché se elimino il cliente dal mio database nella tabella1 in questo caso verranno eliminato anche i dati nella tabella2 automaticamente. 

 Tipo di relazione che creo  Visualizzazione grafica della relazione 

In un database con Access molte tabelle possono essere collegate tra di loro e interagire. Potrei ad esempio avere una tabella con i dati dei clienti e collegarla alla tabella dei dati del venditore per sapere quanti clienti abitano nella stessa via del mio venditore. A questo punto possiamo già avere un’idea di cosa si intende per database relazionale. I tipi di dati che inserisco nelle campi della tabella sono: Testo: un campo testo di 8 Bit (28=256 ‐ 0…255) che contiene al massimo 255 caratteri  Memo: un campo testo di 16 Bit (216=65536 ‐ 0…65535) che contiene al massimo 65535 caratteri  Numerico: un campo di numero ( intero 2 byte contenente valori compresi tra ‐32.768 e +32.767, intero lungo 4 byte valori compresi tra ‐2.147.483.648 e 2.147.483.647, Precisione 4 byte valori compresi tra ‐3,4 x 1038 e +3,4 x 1038 precisione doppia ‐1,797 x 10308 e +1,797 x 10308, decimale tra -1028 e +1028, ecc.) Valuta: un campo di valuta appunto Data/Ora: una data, un’ora o una data con ora in vari formati. Si/No: un campo che accetta solamente un valore si oppure no (1 o ‐1) Oggetto OLE: un oggetto (immagine, filmato o altro). Attenzione crea database molto grandi! Collegamento ipertestuale: un collegamento tipo http ad un file o una pagina internet. Cliccando sopra mi apre il collegamento. 

Page 7: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

Allegato: un nuovo tipo di dato introdotto da access2007 consente di allegare uno o più file al record corrente. È possibile allegare diversi tipi di file che vengono inseriti nel database in formato compresso, se non lo sono già in origine. Ricerca guidata: anche questo è un nuovo tipo di dato introdotto da access2007 e si usa specificamente con sharepoint ( vedremo più avanti), è chiamato anche campo multi valore.  Apriamo ancora la nostra tabella1; vediamo che la visualizzazione della tabella cambia. 

 Affianco ad ogni nome c’è un “+”, cliccando sul “+” mi si aprono i campi della tabella2 che è associata. Proviamo a riempire i campi come figura. 

 A Francesco abbiamo associato due schede della tabella2. Questo è stato possibile perché abbiamo una relazione 1 a molti. Chiudiamo la nostra tabella ora.  

Campi della Tabella2 associati al nome della Tabella1

Page 8: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

LE QUERY E SQL 

 Con una query è possibile ottenere risposte a domande molto specifiche sui dati che sarebbe difficile ottenere osservando direttamente i dati della tabella. È possibile utilizzare le query per filtrare i dati, eseguire calcoli e riepilogare i dati.  Una query è una richiesta di risultati dei dati, di azione sui dati o entrambe. È possibile utilizzare una query per rispondere a una semplice domanda, eseguire calcoli, combinare dati da diverse tabelle oppure aggiungere, modificare o eliminare dati delle tabelle. Le query utilizzate per recuperare dati da una tabella o eseguire calcoli sono dette query di selezione. Le query utilizzate per aggiungere, modificare o eliminare dati sono dette query di comando. 

Facciamo un esempio semplice: Creiamo una query che cerchi nel nostro database gli impiegati che vivono a Verona e mi visualizzi i dati della tabella1 e i dati della tabella2. Dal menù Crea scegliamo Struttura Query. Aggiungiamo entrambe le tabelle. Nel riquadro infondo inseriamo i campi delle relative tabelle che vogliamo che la nostra Query ci mostri. In questo caso il nome, il fatturato della tabella1 e l’indirizzo e la città della tabella2  

  Creiamo adesso la formula per fare la ricerca sulla nostra query. Posizioniamoci sulla rigra Criteri della colonna citta e scriviamo Verona. Vediamo che il campo diventa “Verona” dato che Access riconosce il campo come un campo di testo ed i campi di testo sono delimitati da “ “. Chiudiamo la query e salviamo. 

Premiamo due volte sulla query che abbiamo appena creato ( a sinistra sotto la Tabella1) e vediamo che compaiono in una tabella i dati che abbiamo chiesto. 

Dati presi dalla tabella1 Dati presi dalla tabella2

Page 9: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

Una query fatta in questo modo non fa altro che generarmi un comando SQL. SQL (Structured Query Language) è un Linguaggio di programmazione per database progettato per leggere, modificare e gestire dati memorizzati in un sistema basato sul modello relazionale, per creare e modificare schemi di database, per creare e gestire strumenti di controllo ed accesso ai dati. Quello che fa in linguaggio di programmazione SQL Access adesso è creare questo comando:  

SELECT Tabella1.Nome, Tabella1.fatturato, Tabella2.indirizzo, Tabella2.citta FROM Tabella1 INNER JOIN Tabella2 ON Tabella1.ID = Tabella2.numeroimpiegato WHERE (((Tabella2.citta)="Verona")); 

 Chi ha una conoscenza, anche di base, dell’inglese vede subito quando sia facile da capire una stringa SQL. In pratica dalla tabela1 seleziono (SELECT) Nome e fatturato e dalla tabella2 indirizzo e citta ( i campi sono separati dalla “,”) dove –where‐ nella tabella2 il campo citta è uguale a “Verona” INNER JOIN: Il JOIN interno, sicuramente il principale, stabilisce che i dati che verranno restituiti sono soltanto quelli che corrispondono al criterio formato dalla relazione dei due campi; tutte le righe che non rientrano nella relazione sono escluse, sia dall'origine principale che da quelle coinvolte nelle relazioni; nel nostro caso solamente i dati della tabella2 che nel campo numeroimpiegato anno il numero che corrisponde all’ ID della tabella1. In SQL ci sono parecchi altri tipi di Join ma li vedremo più avanti. SQL è Keysensitive, quindi la parola Verona non è uguale alla parola verona. SQL accetta i caratteri jolly come * e ? . Esempio di caratteri jolly: una ricerca come =Ver* mi cercherà tutti i campi che iniziano per Ver (Verona, Verana, Veronica, Verdana,ecc.). una ricerca come =Ver?na mi cercherà tutti i campi che hanno la parola Ver e na con una sola lettera in mezzo diversa ( Verona, Verana, Vernna,  ecc. ma non Veronia o Veronica) Nelle ricerche posso usare anche più caratteri jolly e di diverso tipo come ad esempio Ver?n* . Per convenzione in SQL le istruzioni sono sempre scritte in maiuscolo ( SELECT, FROM, WHERE, INNER JOIN, ON, ecc.)  Domanda: in un insieme di campi Marco, Gianmarco, Mario; Gianbattista cosa mi restituisce una ricerca con *arc*? 

Page 10: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

LE MASCHERE 

Una maschera rappresenta l'interfaccia grafica mediante la quale l'utente dialoga con il Data Base. Una maschera può contenere i dati del database, gli elementi standard di Access ( bottoni, Label, Text area, ecc.) oppure oggetti esterni come ( media player, formati speciali, ecc.) e dialogare con loro. Le maschere permettono inoltre di inserire codice VBA per automatizzare o migliorare l’uso del database. Creare una maschera standard Il metodo più semplice per creare una maschera è la Creazione Guidata Maschera standard, anche se questo sistema permette di creare solo maschere semplici e poco personalizzate.  Selezioniamo la nostra Tabella e dal menù crea scegliamo Mascera. Vediamo che in automatico Access ci crea una maschera per immettere i nostri dati nella tabella. Chiudiamo e salviamo la maschera.  

   

1° selezionare la tabella

2° Selezionare crea e poi Maschera

3° Chiudere e salvare la maschera

Page 11: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

Notiamo subito che la maschera che è stata creata contiene in se anche la sottomaschera relativa alla tabella2 che ha valori correlati alla prima. Apriamo la maschera appena creata ( doppio click sulla maschera creata) e notiamo che al muoversi del cursore dei dati cambia anche il contenuto della sottomaschera. 

  Sicuramente questo metodo di creare delle finestre è molto veloce ed intuitivo ma ci limita molto. Vediamo di personalizzare un poco la nostra finestra Per prima cosa selezioniamo la maschera nella tabella1 e premiamo il tasto destro del mouse. Dal menù scegliamo VISUALIZZA STRUTTURA. In questo modo si apre la struttura della maschera per poter essere modificata. Iniziamo a fare un poco di pulizia: Per prima cosa il campo ID abbiamo visto che è un contatore che si incrementa automaticamente ad ogni inserimento di un record, quindi possiamo anche eliminarlo dalla maschera in quanto è un dato che non editiamo e che per adesso non ci serve che sia visto. Selezioniamo ID (diventa evidenziato ) e quindi premiamo il tasto CANC sulla tastiera. 

 I campi NOME, VENDITE, FATTURATO e NOTE risultano tanto “lunghi”. Li selezioniamo tutti (selezioniamo il primo e tenendo premuto il tasto shift selezioniamo gli altri uno ad uno) Adesso li restringiamo come si fa con qualunque oggeto ( esempio quando ridimensiono un’immagine in word) Vedi figura seguente. 

Sottomaschera

Maschera principale

Spostamento tra i records

Page 12: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

 Per poter muoverci nei record abbiamo visto che abbiamo i bottoni infondo che ci permettono di spostarci tra i campi. Creiamo un look più simpatico alla nostra applicazione Andiamo su STRUTTURA  e quindi scegliamo PULSANTE 

NOTE: Il menù struttura ci permette di inserire elemanti all’interno della nostra applicazione access. Gli strumenti disponibili saranno oggetto di una trattazione più approfondita in seguito. Per adesso ci limitiamo a creare un pulsante e associare un’azione con il metodo guidato di Access. Nalla nostra applicazione in questo momento sono presenti solo caselle de testo e etichette, le caselle di testo contengono i dati di record le etichette i riferimenti. 

Disegnamo il nostro  pulsante nello spazio che abbiamo creato rimpicciolendo i campi. Mi si apre una finestra guidata. Dalle categorie scegliamo Spostamento tra i record e nelle azioni scegliamo Vai al primo record. Quindi premiamo avanti sempre e fine per creare il pulsante. Vediamo che ci compare un pulsante con il simbolo di “PRIMO RECORD”  

Page 13: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

 Schermata iniziale creazione guidata  Risultato della creazione del primo bottone 

 Ripetiamo l’operazione creando i bottoni: VAI A RECORD PRECEDENTE, VAI A RECORD SUCCESSIVO, VAI A ULTIMO RECORD nella scelta delle azioni Il risultato finale dovrà essere simile a quello mostrato in figura Chiudere la maschera e salvarla 

  Analizziamo brevemente la creazione guidata dei bottoni. Questa procedura semplifica molto l’uso di Access per operazioni. 

Page 14: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

Vediamo una tabella riassuntiva: CATEGORIA  AZIONE  Descrizione Spostamento tra record       Trova record  Apre la maschera di ricerca all’interno della tabella e mostra il risultato    Torva successivo  Va al successivo record delle mia richiesta   Vai a primo record  Mostra il primo record   Vai a record precedente  Mostra il record precedente   Vai a record successivo  Mostra il record successivo   Vai a ultimo record  Va all’ultimo record memorizzato Operazioni su record       Aggiungi un nuovo record  Aggiunge un record alla tabella   Annulla record  Annulla il record    Duplica record  Crea un uovo record con gli stessi dati   Elimina record  Cancella il record selezionato   Salva record  Salva le modifiche apportate al record   Stampa record  Stampa il record corrente Operazioni su Maschere       Aggiorna maschera dati  Aggiorna i dati nella maschera   Applica filtro maschera  Filtra i dati da mostrare alla maschera   Apri maschera  Apre una maschera diversa   Chiudi maschera  Chiude la maschera corrente   Stampa maschera corrente  Stampa la maschera    Stampa una maschera  Stampa un’altra maschera Operazioni su report       Anteprima report  Apre l’anteprima di un report ( come anteprima di stampa)   Apri report  Apre il report   Invia report  Invia il report tramite E‐mail   Invia report a file   Esporta il report in un file   Stampa report  Stampa il report Applicazione       Chiudi applicazione  Chiude l’applicazione attuale    Varie   Varie operazioni che analizzeremo in seguito   

Page 15: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

I REPORT 

Con i report è possibile visualizzare i dati del Data Base che si desidera, mettendo in evidenza determinate informazioni, come totali parziali e generali, e destinarli alla stampa. Volendo si potrebbe stampare anche una maschera, tuttavia in un report i dati si possono organizzare meglio per la stampa: per esempio si possono disporre in colonne, in formato tabellare, si possono aggiungere grafici, ecc. Creiamo il nostro report per la prima tabella con la creazione automatica. Scegliamo la tabella e quindi da crea scegliamo REPORT. Vediamo subito che ci viene creato un report con i dati che abbiamo nella prima tabella e la somma dei valori del fatturato. Chiudiamo e salviamo Il report è diviso in : INTESTAZIONE REPORT, INTESTAZIONE PAGINA,CORPO, PIE DI PAGINA REPORT, PIE DI PAGINA PAGINA.  

 Per capire il report vediamo di personalizzarlo come abbiamo fatto con le maschere. Apriamo il report per le modifiche selezionandolo e premendo il tasto destro del mouse sul report scegliamo VISUALIZZA STRUTTURA. Dalla sezione INTESTAZIONE PAGINA selezioniamo il campo ID e cancelliamolo (tasto CANC). Ripetiamo lo stesso per la voce NOTE. Nell’ INTESTAZIONE REPORT modifichiamo il nome da Tabella1 a IL MIO REPORT. Infine cancelliamo l’icona con l’agenda. Chiudere e salvare 

INTESTAZIONE REPORT

INTESTAZIONE PAGINA

CORPO

PIE DI PAGINA REPORT

PIE DI PAGINA PAGINA

Page 16: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

 Torniamo nella nostra Maschera della tabella1 e andiamo in visualizza struttura. Andiamo ad inserire un bottone e scegliamo  in categorie OPERAZIONI SU REPORT e quindi come azione ANTEPRIMA REPORT. Premiamo avanti e nella finestra successiva scegliamo il nostro report. Premiamo avanti fino alla fine. Chiudere e salvare Apriamo la nostra tabella e proviamo a premere il bottone appena creato.  NOTE: I report sono molto comodi. Si possono usare sia su tabelle che su query. Se nei report scelgo INVIA REPORT A FILE posso esportare il report in formato Word, Excel oppure in una tabella ACCESS. In anteprima report posso anche scegliere se esportare il report in formato PDF o XPS (XPS, abbreviazione di XML Paper Specification, è il formato 

che Microsoft ha creato durante lo sviluppo di Windows Vista e del .NET Framework 3.0. XPS è un contenitore basato sullo standard di compressione ZIP, con all'interno alcuni file XML e binari che sono visibili semplicemente cambiando l'estensione del file da XPS a ZIP.I file XPS e mantengono la formattazione dell'originale.) 

 Esercizio: Creare un report dalla query che abbiamo precedentemente creato ed associare un bottone che me lo apra nella nostra maschera  Svolgimento: 

1) Seleziono la query1 e dal menu crea sceglo REPORT. Chiudo e salvo 2) Apro la maschera in visualizza struttura. Inserisco il bottone e scelgo OPERAZIONI SUI REPORT e quindi ANTEPRIMA REPORT. Scelgo il mio 

report della query. Chiudo e salvo.  UN PASSO AVANTI: INTEGRARE QUERY, MASCHERE E REPORT 

Facciamo adesso un passo avanti creando un’interazione tra la maschera, la query e i report. Apriamo in visualizza struttura la nostra maschera ed aggiungiamo una casella di testo come in figura. Vedo che quando inserisco una casella di testo mi compare anche un’etichetta (Label) associata alla casella di testo. Nella nostra etichetta creata scriviamo Cerca città Adesso chiudo e salvo la maschera. Creiamo adesso una query (Crea e poi Struttura Query) nella quale inseriamo entrambe le tabelle 

Page 17: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

Dalle tabelle scegliamo come risultato della query solamente i campi NOME e FATTURATO nella tabella1 e CITTA nella tabella 2 Ci posizioniamo adesso nella colonna citta e nella cella criteri premiamo il tasto desto del mouse e scegliamo genera. Mi si apre in automatico il generatore di espressioni di Access.  Quello che dovremmo scrivere come espressione nel BOX bianco sarà:  

[Tabella2]![citta] LIKE Forms![Tabella1]![Testo24]  Praticamente selezioniamo dalla tabella2 i campi citta che sono simili a quelli contenuti nella casella Testo24 ( quello appena creato) nella forms (maschera) tabella1.   N.B. Ricordiamoci che per le query o per VB le maschere sono chiamate Forms e quindi mi devo sempre riferire a loro come Forms e non Maschera.  Il metodo più semplice per creare una query di questo tipo comunque rimane l’aiuto guidato e non vedo perché, visto che lo abbiamo, non dobbiamo usarlo. Analizziamo brevemente la finestra che mi si apre  

  

Espandiamo la voce Tabelle, apriamo Tabella2 e selezioniamo la voce citta. 

Operazioni consentite

Query, Tabelle, Form, Report, ecc. presenti nel progetto

Oggetti presenti nella selezione della parte del progetto.

Page 18: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

Premiamo poi il tasto sul bottone LIKE Espandiamo poi la voce Forms, quindi tutte le maschere e poi tabella1. Quindi selezioniamo Testo24 Vediamo che nella finestra del generatore di espressioni compare scritta la nostra espressione. Premiamo ok. Quindi chiudiamo e salviamo la query. Torniamo nella nostra maschera e inseriamo adesso un bottone affianco al testo24 che abbiamo appena creato. Associamo al bottone nelle categorie VARIE l’azione ESEGUI QUERY. Quindi selezioniamo la nostra query. Salviamo e usciamo Creiamo adesso il report per la nostra query. Andiamo sulla query e scegliamo crea e poi report. Salviamo il report e chiudiamo Torniamo sulla nostra maschera e inseriamo un bottone che mi apre il report appena creato dalla query Adesso eseguiamo la nosta maschera e proviamo a scrivere una città nel campo CERCA CITTA’ e premere i bottoni che abbiamo appena creato. 

L’ SQL relativo alla query che abbiamo creato è:  SELECT Tabella1.Nome, Tabella1.fatturato, Tabella2.citta FROM Tabella1 INNER JOIN Tabella2 ON Tabella1.ID = Tabella2.numeroimpiegato WHERE ((([Tabella2]![citta]) Like [Forms]![Tabella1]![Testo24]));  NOTE: Nel costrutto della querry abbiamo usato LIKE e non il simbolo = in quanto in questo modo se scrivo MILANO oppure Milano, oppure anche MiLaNo, la nostra ricerca non farà distinzioni e ritornerà sempre tutti quelli di Milano Se avessi usato il simbolo = la voce Milano e MILANO risultano diverse e se nella tabella fosse scritto Milano e la ricerca era milano non avrebbe dato risultati. Posso anche usare le ricerche on i caratteri jolly * e ? Proviamo a cercare *a mi verranno restituti Verona e Venezia  perché entrambe finiscono con la a.  

  Esercizio: Creare una query che mi visualizza i dati relativi ai venditori che hanno un fatturato superiore ad un valore che inserisco in una campo di testo nella maschera principale. Creare il report e i bottoni per visualizzarlo.  

Page 19: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

PARTE SECONDA: UN ESERCIZIO DI RIEPILOGO UN “POCO” COMPLESSO   Fino adesso abbiamo visto le operazioni basilari di Access, ma proprio con queste operazioni basilari possiamo iniziare a lavorare su progetti più complicati. Supponiamo di aver la necessità di aver un archivio che contenga i dati di tutti i miei venditori, e degli incassi che ogni venditore che fa, con i dati relativi a ogni cliente. Supponiamo inoltre che questi dati noi li vogliamo analizzare in vari modi per avere un bilancio generale. 

Iniziamo  con  il  creare  un  database  nuovo  (chiamiamolo  ad  esempio  ESEMPIO2)  e creiamo prima di tutto 3 tabelle. Creiamo  la  prima    tabella  che  chiameremo:  VENDITORI  tramite  CREA  e  poi selezionando STRUTTURA TABELLA con la sguente struttura:         

 Creiamo poi due altre tabelle (INCASSI, CLIENTI) con le seguenti strutture:  

       

Nome Campo  Tipo dato ID  Contatore Nome  Testo Data_Assunzione  Data/Ora (formato data in cifre) Telefono  Testo Indirizzo  Testo Note  Memo 

CLIENTI ID  Contatore Nome  Testo Indirizzo  Testo Zona  Testo Telefono  Testo 

INCASSI ID  Contatore Data_Incasso Data/Ora (formato data in cifre) IDvenditore  Numerico IDcliente  Numerico Importo  Valuta 

Page 20: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

Adesso che abbiamo le “fondamenta” del nostro Database creiamo la “struttura portante” ovvero le relazioni tra queste tre tabelle. Andiamo su STRUMENTI DATABASE e selezioniamo RELAZIONI. La tabella principale è la tabella INCASSI; ad essa si collegano le altre due tabelle tramite i campi IDcliente ed IDvenditore. Inseriamo  quindi  nella  relazione  le  tre  tabelle  e  trasciniamo  prima  il  campo  ID  della  tabella CLIENTI  dentro  la  tabella  INCASSI  sopra  il  campo  IDcliente  e  scegliamo    Applica  Integrità referenziale e Elimina record collegati a catena Ripetiamo  l’operazione con  la tabella Venditori,  inserendo però  l’ID  in IDvenditore con  le stesse caratteristiche. Il risultato è come quello mostrato in figura sotto.  

    Chiudiamo e salviamo la relazione. 

Page 21: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

Creiamo adesso le maschere per inserire i nostri dati. Per prima creiamo le due maschere più semplici:  Clienti e Venditori. Per fare questo usiamo la creazione guidata.  Selezioniamo la tabella Venditori, quindi andiamo su crea e selezioniamo ALTRE MASCHERE e quindi CREAZIONE GUIDATA MASCHERA 

Selezioniamo  poi  i  campi  che  vogliamo  inserire  (tutti  tranne  il  campo  ID)  e  premimamo avanti. Per selezionare i campi basta premere sul campo che voglio inserire e premere il bottone >. Per rimuovere un campo basta selezionarlo nella parte destra e premere il bottone <. Per inserire tutti i campi premo il bottone >>  Per rimuoverli tutti premo il bottone <<. 

 Nel passo successivo scegliamo il layout della maschera. Per questo tipo di dati è meglio scegliere il formato GIUSTIFICATO e premiamo il tasto FINE.Se invece premo il tasto AVANTI> nuovamente mi viene presentata la scelta di quale tipo di grafica voglio la maschera. 

 Chiudiamo  adesso  la maschera  appena  creata  e  premendo  il  tasto  DX  del mouse  sopra  la maschera  scegliamo  VISUALIZZA  STRUTTURA  per personalizzarla. 

Page 22: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

Personalizziamo  la nostra tabella  inserendo  i bottoni di spostamento tra  i campi. Di cancellazione dei record e di  inserimento di nuovi record (  vedi la parte prima del corso).  Creiamo una maschera simile per la tabella CLIENTI. Alla fine le nostre due tabelle saranno simili a quelle visualizzate in figura sotto.  

 

 

 NOTE: Si consiglia di  lasciare  sempre  simile  la  struttura e  la posizione dei bottoni  in modo da non confondere  l’utilizzatore;  inoltre  l’autore  in questi esempi ha usato due colori differenti per i titoli in modo da rendere più leggibile all’utente finale il sapere su quale maschera sta lavorando.  

Page 23: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

Creiamo adesso la maschera principale per lavorare: quella degli incassi. Per fare questo creiamo una maschera in VISUALIZZA STRUTTURA e poi vi inseriamo i campi che ci interessano. 

  A questo punto la nostra finestra di lavoro sarà simile a questa. (Se non vedo le tabelle dati premo il bottone AGGIUNGI CAMPI ESISTENTI) 

 

Page 24: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

Trasciniamo il campo data_incasso dentro il nostro corpo della maschera nella posizione che vogliamo  

 Allo stesso modo trasciniamo i campi IDvenditore e IDcliente, Importo ed ID  Selezioniamo adesso il bottone STRUTTURA nella barra dei menù in modo da poter inserire altri controlli che useremo Quello che vogliamo  fare adesso è “collegare”  le  tabelle CLIENTI e VENDITORI   alla maschera degli  incassi  in modo che all’inserimento di ogni incasso si possa scegliere dalla lista dei clienti e dei venditori a chi associare l’operazione. Per fare questo useremo il controllo CASELLA COMBINATA. Procedere come segue: Dalla  struttura  selezionare  il  comando  Casella  Combinata  e premere nella nostra maschera dove vogliamo metterlo. A questo punto compare la creazione guidata  

 Selezionare in questo caso la prima opzione “Ricerca valori…..:” che ci permette di scegliere i dati da una tabella.  L’altra opzione (immissione personalizzata) invece mi chiede di immettere i valori che voglio che compaiano nella COMBOBOX. 

 

Page 25: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

Scegliere  adesso  quale  tabella  voglio  usare  per  recuperare  i dati che mi interessano.  Nel nostro caso la tabella è Venditori 

 Scegliamo adesso quali campi vogliamo che vengano usati Scegliamo il campo ID ‐  ovviamente dato che è il campo che ha la relazione con  la tabella OPERAZIONI  ) e  il campo nome per sapere chi ci interessa. 

 

Page 26: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

Nel passaggio successivo ci  limitiamo a scegliere quale campo usare per  l’ordinamento  ( nome) e  l’ordinazione  (crescente o decrescente)  

 Il passaggio successivo ci permette di determinare la larghezza delle colonne. Lasciamo la selezione su NASCONDI COLONNA CHIAVE così non visualizzo il campo ID 

 

Page 27: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

Il penultimo passaggio è uno dei più  importanti  in quanto mi permette  di  scegliere  in  quale  campo memorizzare  il  campo selezionato. In questo caso scegliamo IDVENDITORE  Quello  che  farà  sarà  praticamente  scrivere  il  ID  della  tabella venditore nel campo IDVENDITORE della tabella Operazioni 

 In  fine  non  ci  resta  che  scegliere  il  testo  dell’etichetta  che corrisponde al comando.  Scriviamo Venditore 

  

Page 28: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

Ripetiamo  l’operazione,  questa  volta  però  scegliendo  la  tabella  CLIENTI  per  la  nostra  casella  combinata  e  associando  il  contenuto  al  campo IDCLIENTE La nostra maschera sarà simile a questa:  

  Chiudiamo e salviamo la nostra maschera chiamandola INCASSI. 

Page 29: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

Certo questa maschera non è proprio ordinata. Vediamo di mettere un poco di ordine! Innanzitutto inseriamo i bottoni per muoverci tra i records e per operare su essi Dopo aver  inserito  i classici bottoni apriamo  la  finestra delle proprietà e mettiamo  i campi e  le etichette  ID,  IDVenditore e  IDCliente  invisibili; possiamo anche rimpicciolirli in modo che non mi creino problemi in fase di disegno della maschera.  

  Adesso chiudiamo e salviamo. Torniamo adesso alla altre maschere, apriamole (CLIENTI e poi VENDITORI) ed inseriamo dei dati in modo da avere “qualcosa” con cui lavorare. Dopo aver inserito i dati nelle maschere clienti e venditori proviamo ad inserirli nella maschera Incassi.

Page 30: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

  A questo punto potremmo dire che il nostro Database è pronto per essere utilizzato ma vogliamo che sia più usabile , che mi presenti più dati e che sia meno spartano. Creiamo adesso una query che raggruppi le operazioni di incassi con il nome del venditore e del cliente. Andiamo su CREA e scegliamo STRUTTURA QUERY. Quindi inseriamo le nostre 3 tabelle 

Selezioniamo  della  tabella  incassi  i  campi  data_incasso  e  Importo  e  ID,  dalla  tabella clienti il campo nome e dalla tabella venditori il campo nome. Premiamo il tasto ESEGUI (!) e vediamo che la query mi riporta i dati che ho inserito. Chiudiamo e salviamo con il nome query_riassunto.  Creiamo  adesso  una  maschera  per  questa  query  con  la  creazione  guidata  e  come impostazione scegliamo FOGLIO DATI. Chiudiamo e salviamo ( probabilmente  il nome che avrà questa maschera srà  incassi1, se così non è rinominarla con questo nome) Apriamola  in modifica ed  inseriamo nel piè di pagina maschera un campo CASELLA DI 

TESTO.  All’interno della casella di testo scriviamo la formula =Somma([importo])  

 

Page 31: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

Inseriamo adesso questa maschera appena creata all’interno della nostra maschera INCASSI  Adesso apriamo la maschera INCASSI in Visualizza struttura e da strumenti scegliamo SOTTOMASCHERA/SOTTOREPORT e posizioniamola all’interno della nostra maschera 

Nella  scelta  di  cosa  inserire  nella  sottomaschera scegliamo  USA  UNA  MASCHERA  ESISTENTE  e scegliamo INCASSI1 

Nella  relazione  tra  le  due maschere  scegliamo  una definizione personalizzata e scegliamo per il campo di SINISTRA  (che  rappresenta  la  maschera)  il  campo DATA_INCASSO  e  per  quello  di  DESTRA  il  campo DATA_INCASSO. In  questo  modo  collego  i  dati  della  maschera principale  a  quelli  della  sottomaschera  tramite  il campo DATA_INCASSO e mi verranno visualizzati tutti gli  incassi  fatti  in quella data mentre mi muovo  tra  i campi. 

 

Page 32: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

Se eseguiamo adesso la nostra maschera INCASSI vediamo che al cambiare dei campi cambia il valore della sottomaschera e se in una data ci sono due operazioni entrambe mi compaiono nella sottomaschera  (come esempio sotto che  in data 02/08/2011 compaiono entrambe  le operazioni con il valore totale la famosa funzione =Somma([importo]))  

  Adesso creiamo una sottomaschera nella maschera clienti per avere un rapporto di tutti gli acquisti fatti dal cliente Per fare questo creiamo prima una maschera nuova basata sulla tabella INCASSI che chiameremo “Incassi_Clienti” Quindi metteremo  la  nostra maschera  appena  creata  come  sottomaschera  in  Clienti  e  come  relazione mettiamo  che  ad  ogni  ID  di  Clienti corrisponde l’IDCliente nella sottomaschera Poi sistemiamo in modo che sia “presentabile”: mettiamo la somma totale nel piè di pagina maschera e facciamo i campi IDCliente e IDVenditore invisibili. 

Page 33: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

Esempio di come potrebbe essere la maschera Incassi_Clienti Rimpicciolire e mettere invisibile nelle proprietà i campi IDCliente e IDVenditore         

Esempio di come compare  la sottomaschera nella maschera Clienti in progettazione e in visualizzazione finale  

 

Page 34: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

La funzione DLookUp: un altro passo avanti Facciamo adesso un altro passo avanti ed impariamo ad usare una funzione molto comoda: DLOOKUP. Iniziamo nello spiegare cosa è la funzione DlookUp, e per farlo usiamo le parole della stessa microsoft: “È possibile utilizzare  la  funzione DLookup per  visualizzare  il  valore di un  campo non  incluso nell'origine  record della maschera o del  report. Si supponga, ad esempio, di disporre di una maschera basata su una tabella Dettagli ordini. La maschera consente di visualizzare i campi IDOrdine, IDProdotto,  PrezzoUnitario,  Quantità  e  Sconto.  Il  campo  NomeProdotto  si  trova  tuttavia  in  un'altra  tabella,  ovvero  nella  tabella  Prodotti.  È possibile utilizzare la funzione DLookup in un controllo calcolato per visualizzare il campo NomeProdotto nella stessa maschera.” La sintassi è: DLookup(espr, dominio [, criteri] ) Ma come possiamo usarla noi? Semplice,  diciamo  che  vogliamo  che  nalla  nostra maschera  appena  creata compaia infondo il nome del venditore ( quindi non l’id Venditore) Per fare questo basta aggiungere un campo testo e scrivere al suo  interno  la funzione:  =DLookUp("[nome]";"Venditori";"[ID]=" & Maschere! Incassi_Clienti! idvenditore)  In pratica dico ad Access di Prendere  il campo NOME dalla  tabella Venditori come  condizione  voglio  che  l’ID della  tabella  venditore  sia uguale  al  campo Idvenditore presente nella maschera Incassi_Clienti.  In questo modo avrò visualizzato il nome del venditore invece del suo ID La funzione DLookUP può essere usata sia nelle maschere, che nei report che in VBA (Visual Basic for Application).  Nulla mi vieta che  in questo caso  lo stesso risultato potrei ottenerlo creando una query che combina le due tabelle e creare una sottomaschera con questa query, come nell’esempio della maschera precedente. La  query  sarebbe  tipo questa;  una  volta  creata  creo      la maschera  e  poi  la metto come sottomaschera nella maschera Clienti  

Page 35: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

ESERCIZI   ESERCIZIO  1:  Si provi  a  creare  la query,  la maschera e  la  sottomaschera  che  comprende  anche  il nome del  venditore  visualizzazione.  Ecco  il risultato finale come deve comparire con l’uso della query.  

  Sopra come compare la Query e la maschera finita  ESERCIZIO 2: Creare una sottomaschera nella maschera Venditori che riporti la lista delle operazioni di vendita fatte da quel venditore, con i clienti e la somma totale infondo e chiameremo Incassi_Ventidori.  

Page 36: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

Creiamo adesso una maschera per le ricerche. Per fare questo creiamo una maschera vuota (menù CREA ‐> STRUTTURA MASCHERA) Posizioniamo nella maschera 2 caselle di testo che chiameremo DalTxt ed AlTxt. 

Chiamiamo questa maschera CERCAINCASSI Importante di ricordarsi di impostare le proprietà degli elementi: Premere  sulle  caselle  e  poi  dalla  finestra  delle proprietà selezionare come “NOME ELEMENTO” AlTxt ( o DalTxt  a  seconda dell’elemento) e  come  formato Data in Cifre (gg/mm/aaaa).  

  

 Creiamo adesso una Query che chiameremo Riassunto_Incassi_Clienti, che comprenderà le tabelle Incassi e Clienti  

I dati che ci interessano sono Data_Incasso, Importo, Nome, e Zona Creiamo adesso una “condizione” per le nostre ricerche: Posizioniamoci sotto il campo Data_Incasso sulla voce Criteri e premiamo il tasto desto del mouse 

 Dal menù a discesa scegliamo la voce GENERA e nel campo appropriato scriviamo :  

>[Forms]![cercaincassi]![daltxt] And <[Forms]![cercaincassi]![altxt] 

 

Page 37: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

In questo modo diciamo alla query di selezionare solamente i campi compresi nella data di inizio e fine che scegliamo dalla nostra maschera. Il nostro codice SQL sarà questo:  SELECT incassi.data_incasso, incassi.importo, clienti.nome, clienti.Zona FROM clienti INNER JOIN incassi ON clienti.id = incassi.idcliente WHERE ((([incassi]![data_incasso])>[Forms]![cercaincassi]![daltxt] And ([incassi]![data_incasso])<[Forms]![cercaincassi]![altxt])) ORDER BY incassi.importo DESC; L’ultima parte  (ORDER BY  incassi.importo DESC;) compare solamente se pongo come condizione per  l’ordinamento nel campo  importo  il valre Decrescente, in quanto ho deciso di ordinare i valori dal più alto al più basso. Nulla mi vieta di scegliere altri ordinamenti su altri campi ( come ad esempio Data_Incasso o Nome)  Creiamo adesso la nostra maschera per questa query tramite la creazione guidata, e come tipologia scegliamo  “Foglio Dati”. Personalizziamola aggiungendo un totale infondo e volendo due campi di testo che si collegano ai campi della maschera CERCAINCASSI DalTxtt e AlTxt.  

=[Maschere]![cercaincassi]![Daltxt]   =[Maschere]![cercaincassi]![altxt]   

 

Esempio di come sono posizionati i campi e del valore da scrivere all’interno dei campi DalTxt e Altxt  Torniamo alla nostra maschera CERCAINCASSI e inseriamo un pulsante che chiameremo VEDI INCASSI Tramite  la  creazione  guidata  scegliamo OPERAZIONI MASCHERE  e quindi APRI MASCHERA.  Nella schermata seguente scegliamo la maschera appena creata.     

Page 38: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

La nostra maschera potrebbe essere sufficiente così, ma noi siamo pignoli e quindi vogliamo che  la maschera si  interfacci con  le altre; facciamo adesso  un passo avanti. Apriamo ancora la nosta query RIASSUNTO_INCASSI_CLIENTI ed aggiungiamo i campi ID di clienti e di OPERAZIONI. Poi torniamo nella nostra maschera creata e aggiungiamo i nostri due campi appena creati infondo alla maschera e impostiamo le proprietà come in esempio sotto: 

elemanto ID OPERAZIONI ( ID)  Elemento ID CLIENTE (ID_cliente) nome elemento =ID_operazioni Visibile=no   

nome elemento =ID_clienti Visibile=no   

   Adesso creiamo un collegamento tra questa maschera e la maschera clienti. In pratica vogliamo che, se premo sopra il nome del cliente, mi apre la scheda relativa al cliente. Andiamo sul campo NOME del corpo della maschera 

    

Page 39: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

Poi dal box PROPRIETA’ selezioniamo il TAB EVENTO e come azione SU CLIC. Premiamo  poi  l’opzone  con  i  puntini  (...  )  e  scegliamo  come  opzione  GENERAZIONE  DI CODICE. In questo modo apriamo l’editor VBA che ci permette di “programmare” l’evento.  

 Nella parte che ci compare scriviamo:  

CODICE  ESEMPIO DI COME COMPARE Private Sub nome_Click() On Error GoTo Errore      Dim stDocName As String     Dim stLinkCriteria As String      stDocName = "clienti"          stLinkCriteria = "[ID]=" & Me![id_clienti]     DoCmd.OpenForm stDocName, , , stLinkCriteria  Esci_Errore:     Exit Sub  Errore:     MsgBox Err.Description     Resume Esci_Errore End Sub  

    

Page 40: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

Analizziamo questa nostra nuova espressione: La nosta operazione è racchiusa nella funzione che inizia con Private Sub  e terminca con End Sub. Tutto quello che è racchiuso all’interno è quello che viene eseguito. Dopo   Private Sub     vediamo nome_Click(): questo  indica  l’oggetto (  la casella chiamata nome) e  l’evento accosciato (  la pressione del tasto del mouse)  . Posso associare altre azioni a questo oggetto come ad esempio  il doppio click (DblClick) od  il cambiamento del contenuto (Change), o altri. Per vedere quali basta selezionare il menù a tendina affianco al nome dell’oggetto 

   On Error GoTo Errore, mi permette di eseguire un evento nel caso si generi un errore nella funzione. In questo caso  in caso di errore mi manda al’etichetta “ERRORE:” Errore: è l’etichetta che identifica il punto dove la nostra “funzione” salta in caso di errore; in questo caso  esegue il comando MSGBOX che genera una finestra di messaggio. In questo caso il messaggio è la descrizione dell’errore. Una volta fatto questo mi rimanda (    Resume   ) alla etichetta Esci_Errore: che mi chiude la funzione.  Dim serve per definire una variabile per il programma. Diciamo che anche se non necessario è fortemente consigliato per l’ordine. In questo caso definiamo 2 variabili stDocName e stLinkCriteria che vengono definite come STRING (cioè variabili di testo) Nelle  due    righe  successive  definisco  il  contenuto  delle  nostre  variabili,  quindi  stDocNam  il  nome  della  maschera  che  voglio  aprire  e  in stLinkCriteria il criterio che le unisce ( quindi l’ID di Clienti  uguale al ID della masachera) DoCmd.OpenForm  infine mi esegue il comando OpenForm che mi apre la maschera, con i criteri chevoglio. N.B.: una etichetta che identifica un punto di salto del programma deve sempre terminare con i due punti (:) . 

Nome oggetto (posso scegliere un qualunque oggetto presente nella maschera tramite il menù a tendina)

Azione che genera il mio codice

Page 41: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

   APPROFONDIMENTI: MSGBOX: La funzione MsgBox ci permette di mostrare a video un box che riporterà un avviso permettendo così all'utente di scegliere l'operazione più idonea da eseguire, questo comando ci è utile quando stiamo per mandare in esecuzione una determinata procedura e vogliamo ottenere il consenso dall'utente. La sintassi è:  

MsgBox(Messaggio[, Pulsanti] [, Titolo] [, Fileaiuto , Contesto]) oppure MsgBox(prompt[, buttons] [, title] [,helpfile ,context])  Prompt o Messaggio : indica il messaggio che sarà visualizzato nelle finestra di dialogo. buttons o Pulsanti : indica il valore numerico dei pulsanti da visualizzare nella finestra di dialogo. Title o Titolo : Indica il titolo della finestra di dialogo e va scritto fra virgolette helpfile, FileAiuto e context o Contesto : sono relativi alla guida dell'applicazione ma non sono indispensabili Esempio: MsgBox "Ciao a tutti"  DOCMD  : Con i metodi dell'oggetto DoCmd si possono eseguire in VBA le azioni macro di Access; in pratica posso da VBA lanciare una query (docmd.openquery) , aprire una maschera (docmd.openform), aprire un report (docmd.openreport), Trasferire in excel (docmd.transferspreadsheet ), eccetera. Se scrivo DoCmd.OpenForm posso avere la lista delle opzioni per la funzione OpenForm.  

  

Page 42: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

Adesso apriamo la nostra maschera di ricerca e facciamo una ricerca. Una volta fatta premiamo il nome del cliente e vediamo che si apre la maschera del cliente  LA MASCHERA DI AVVIO Adesso facciamo una maschera principale che mi permetta di mettere ordine a tutto. Creiamo una maschera vuota ( seleziono CREA e poi STRUTTURA MASCHERA) Inseriamo dei tasti che mi aprano le maschere interessate tramite la creazione guidata  

  Salviamo e chiamiamo questa maschera MAIN Adesso impostiamo che quando apro il mio database mi parta con la finestra main. Andiamo sul menù (1) principale e scegliamo OPZIONI DI ACCESS(2) Nella  schermata  che  apre  scegliamo  DATABASE  CORRENTE(3)  e  dalla  opzione  VISUALIZZA MASCHERA scegliamo la nostra maschera MAIN(4) Quindi premiamo OK Chiudiamo  e  riapriamo  il  nostro  Database    e  partirà  con  la  finestra  MAIN,  come  un  vero programma.    

1

2

Page 43: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

    

3

4

Page 44: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

Adesso  creiamo  un  report  che  mi permetta  di  stampare  le  ricerche  che  ho fatto. Posizioniamoci  sulla  nostra  query RIASSUNTO_INCASSI_CLIENTI  e  dal menu selezioniamo  CREA  quindi  CREAZIONE GUIDATA REPORT. Seguiamo  tutte  le  procedure  e impostiamo  il  nostro  report  come  più  ci piace, mettendo come raggruppamento le ZONE e come ordinamento la data. Una  volta  creato  il  nostro  report personalizziamolo  in  modo  che  sia presentabile ( come in esempio)  Adesso  apriamo  nuovamente  la  nostra maschera  RIASSUNTO_INCASSI_CLIENTI  e inseriamo un bottone. Tramite la creazione guidata scegliamo  OPERAZIONI  SU  REPORT  e  quindi ANTEPRIMA REPORT.  In  questo modo  abbiamo  un  tasto  nella maschera che mi torna  le ricerche che mi apre il report.  Perché  ANTEPRIMA  REPORT  e  non  APRI REPORT? Questo perché mi permette di aver, appunto, l’anteprima del report e non necessariamente stamparlo.  

Page 45: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

LAVORIAMO CON I GRAFICI Supponiamo di voler inserire un grafico che mi mostri l’andamento degli incassi lungo il periodo da me interessato. Per prima cosa creiamo una nuova maschera vuota. Quindi inseriamo il controllo grafico e posizioniamolo all’interno della nostra maschera Si apre la finestra di creazioen guidata. 

Selezioniamo la query che mi interessa usare ( in questo caso RIASSUNTO_INCASSI_CLIENTI)  

 Nella sezione successiva selezioniamo i campi della query che vogliamo usare ( in questo caso giustamente la DATA e l’importo) 

 

Page 46: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

Nella parte successiva scegliamo il tipo di grafico che mi interessa. In questo caso useremo un grafico a linee che meglio di altri si impone all’uso in questo tipo di analisi. N.B. Usare per ogni tipo di analisi il giusto tipo di grafico. Usare un grafico a torta per analizzare l’andamento di un dato in un periodo non è molto esplicativo anche se graficamente più interessante. Così come non è adatto un grafico lineare per analizzare la ripartizione di un dato in diversi clienti ( la tipica divisione), dove è meglio usare il grafico a torta. Se ad esempio volessi un grafico che comprende i dati ZONA e INCASSO in modo da avere il grafico delle zone che maggiormente mi fatturano mi conviene usare un grafico a torta 

 A questo punto abbiamo il nostro grafico all’interno della nostra maschera. Per personalizzarlo sarà sufficiente premere il tasto DX del mouse sul grafico e scegliere  OGGETTO GRAFICO e quindi 

modifica. Poi posso selezionare ogni parte del grafico (leggenda, valori, ecc.) e premendo il tasto DX sopra nel menù personalizzarli. N.B. Se premo nuovamente sul grafico e scelgo Opzioni Grafico posso personalizzare tutto in una sola maschera. 

  

 Lo stesso sistema posso usarlo per inserire un grafico in un REPORT. Consigli. Non fare mai una maschera troppo piccola altrimenti il grafico sarà illeggibile. Se una volta provato il grafico non mi soddisfa posso ingrandirlo o rimpicciolirlo modificandolo come un qualsiasi altro oggetto. 

Page 47: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

 ESERCIZI:      1     Creare un grafico a torta che mi rappresenti gli incassi per zona come in esempio sotto  

Consigli Seguire i punti dell’operazione precedente ma nella scelta dei dati da usare selezionare non la data e l’importo ma bensì la ZONA e l’IMPORTO. 

       

2  Creare nella maschera delle ricerche un’ azione nella data in modo che quando la premo mi apra la scheda del venditore che ha fatto l’operazione. 

 3  Creare un report che mi divida gli incassi in base al VENDITORE ( e non alla zona) di un determinato periodo. Se necessario creare anche la query specifica  4  (Esercizio facoltativo ma consigliato) Creare nella tabella INCASSI un campo chiamato PAGATO di valore SI/NO; inserire questo campo nella maschera degli incassi e creare unq query che mi mostri tutti quelli che non sono incassati.  Creare infine un report con questa query ed associarla ad un bottone nella maschera principale (MAIN).   

         

Page 48: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

APPLICAZIONE: LAVORI 

Vogliamo creare un’applicazione che mi gestisca i lavori che sto facendo. Per ogni lavoro mi memorizza le spese relative ( e se nel caso per ogni spesa anche la relativa ricevuta o fattura), e che mi presenti vari report. Iniziamo.  Le tabelle 

Per adesso iniziamo a creare due tabelle:  Una con i dati dei clienti  Una con i dati del lavoro  Le specifiche per il lavoro 

 Le nostre tabelle saranno come in figura sotto  

Tabella Clienti  Tabella dei lavori  Tabella voci_lavoro 

 

 Le voci data saranno tutte nel formato data in cifre 19/06/2010   

Page 49: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

Le relazioni 

La tabella principale sarà quella che contiene i lavori. Ogni cliente può avere più lavori e ogni lavoro può contenere più voci di lavoro. Il campo ID della tabella clienti è in relazione con il campo ID_CLIENTE della tabella lavori. Il campo ID della tabella lavori è in relazione con il campo ID_LAVORO della tabella voci_lavori.  

  Analizzando il nostro lavoro fino ad adesso notiamo che, come già accennato, la nostra tabella principale è la tabella Lavori. È importante quando si inizia un progetto sapere cosa si vuole fare e analizzare bene le relazioni tra le tabelle. Una corretta pianificazione del lavoro evita di dover perdere molto tempo in seguito.   

Page 50: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

Le maschere 

Iniziamo a creare le maschere. La prima maschera che creeremo sarà la maschera CLIENTI. Per questa maschera NON USEREMO LA CREAZIONE GUIDATA, ma creiamo una maschera come vogliamo noi. Selezioniamo quindi la nostra tabella clienti e dalla barra CREA scegliamo STRUTTURA MASCHERA. Mi si apre la barra della STRUTTURA. A questo punto dobbiamo inserire i campi del database che ci interessano. Per visualizzarli aprima AGGIUNGI CAMPI ESISTENTI e selezioniamo la nostra tabella ( se non è visibile diciamo di visualizzare tutte le tabelle). Trasciniamo i campi della tabella all’interno della nostra maschera e sistemiamoli in modo che siano ordinati.  

  Creiamo adesso i bottoni per navigare. Per spostare i campi all’interno della maschera devo muovere il quadratino in alto a destra della selezione altrimenti muovo sia la label (etichetta) che il campo dati 

 

Il quadratino da selezionare per muovere

Page 51: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

Posso personalizzare i colori o le forme all’interno della maschera aprendo la finestra delle proprietà e selezionando il singolo oggetto che mi interessa  

  

    

Finestra delle proprietà

Proprietà dell’oggetto selezionato. In questo caso il corpo ( la maschera) dove posso scegliere il tipo di carattere, il colore dello sfondo, l’aspetto ecc. I tab DATI, EVENTO, ALTRO. Li analizzeremo più avanti Il tab TUTTE mi mostra tutte le proprietà possibili all’oggetto.

Risultato finale di come appare la maschera finita con le personalizzazioni. Si consiglia di usare colori diversi per diversi tipi di maschere. In questo modo è facile sapere già con un primo colpo d’occhio in quale maschera della mia applicazione stò lavorando in quel momento.  A questo punto non ci resta che salvare la nostra maschera e uscire. 

Page 52: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

Creiamo adesso la maschera per i lavori In questo caso ci facciamo aiutare dalla creazione guidata   Selezioniamo al nostra tabella LAVORI e selezioniamo CREA Dalla barra di creazione scegliamo ALTRE MASCHERE e quindi CREAZIONE GUIDATA MASCHERA  

Nella finestra seguente selezioniamo la tabella Clienti ed inseriamo le voci ID e CLIENTE Poi selezioniamo la tabella Lavori e inseriamo NOME_LAVORO, DATA_INIZIO, DATA_FINE, IMPORTO e IVA  Clicchiamo AVANTI 

 

Page 53: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

Nella finestra seguente scegliamo IN BASE A CLIENTI e MASCHERA CON SOTTOMASCHERE. In questo modo mi si crea una maschera che ha come base principale i Clienti e come sottomaschera i lavori relativi ad ogni cliente 

Nel passaggio successivo scegliamo TABULARE e premiamo avanti Adesso scegliamo lo stile che preferiamo (scegliamo ACCESS 2003 per comodità)  Nell’ultimo passaggio scriviamo il nome della maschera che abbiamo creato (Lavori_clienti) e il nome della sottomaschera (Sottomoschera_lavori)  Infine selezioniamo MODIFICA LA STRUTTURA DELLA MASCHERA e premiamo fine  

  Personalizziamo adesso la nostra maschera appena creata, quindi salviamola e usciamo   

Page 54: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

Apriamo la nostra maschera con il doppio click e sarà una cosa simile a questa.  

  Muovendomi tra i clienti vedo che mi si cambiano i dati della sottomaschera dei lavori Per aggiungere un nuovo lavoro al cliente mi posiziono sulla riga vuota della sottomaschera e inserisco i dati. Note: abbiamo impostato la proprietà del campo ID della tabella clienti nella maschera principale a visibile=no. In questo modo non mi si visualizza il campo nel momento che eseguo la maschera.  

    Aggiungiamo adesso il totale del fatturato che ho da questo cliente con i lavori (senza le spese) Apriamo la sottomaschera Sottomaschera_lavori con visualizza struttura Allarghiamo il piè di maschera come in figura in modo da ottenere una o due righe  

Per fare questo apro la FINESTRA DELLE PROPRIETÀ, poi dal tab TUTTE dell’oggetto ID seleziono la voce Visibile e scelgo No 

Page 55: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

  Nella riga creata inseriamo una casella ti testo e nella casella scriviamo =SOMMA([IMPORTO]). E nell’etichetta della casella scriviamo Totale.  

  Chiudiamo e salviamo le modifiche.   

Page 56: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

Creiamo adesso la stessa cosa con le tabelle voci_lavoro e lavori. Andiamo sulla creazione guidata di una maschera Selezioniamo dalla tabella lavori il campo nome_lavoro Dalla tabella voci_lavori selezioniamo data, voce, importo e allegato Creiamo nuovamente la maschera come abbiamo fatto prima e chiamiamo la sottomaschera voci_spese e la maschera principale dettaglio_spese. Anche in questo caso nella sottomaschera dettaglio_spese aggiungiamo il totale. Il risultato sarà come in figura sotto.   

   

Page 57: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

Mettiamo un poco di ordine 

A questo punto abbiamo le nostre maschere che lavorano ed interagiscono ma facciamo un passo avanti e mettiamo un poco di ordine Creiamo una maschera principale. Andiamo su crea e quindi scegliamo struttura maschera per creare una maschera vuota. Inseriamo un bottone e nella creazione guidata scegliamo Operazioni su maschere come categorie e come azione Apri maschera  

 Scegliamo come maschera da aprire la maschera clienti Personalizziamo il resto del processo scegliendo un nome che vogliamo sul bottone ( mettiamo clienti) Ripetiamo l’operazione per le maschere che ci interessa aprire: 

Lavori_Clienti  Dettaglio_spese 

 Salviamo la maschera con il nome MAIN e chiudiamola. Diciamo adesso ad Access che da adesso in poi, ogni volta che apriamo questa applicazione vogliamo che per prima cosa apra la finestra main.   

Page 58: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

I passaggi sono: Apriamo il menù con l’icona di Office e scegliamo opzioni access infondo sotto i Documenti recenti 

Scegliamo Darabase corrente Quindi diamo un titolo alla nostra applicazione  Possiamo anche dare un’icona (solo file .ico o cur) E nella scelta visualizza maschera scegliamo la maschera che vogliamo far partire ( main) nel nostro caso.  Una volta personalizzato ci compare il messaggio che ci invita a chiudere il nostro database Chiudiamolo e riapriamolo. Vediamo che ci compare come prima cosa la nostra maschera MAIN  

Abbiamo finito la prima parte. La prossima volta vediamo come creare i report e migliorare le ricerche all’interno del database. Si possono intanto personalizzare le maschere a nostro piacere per renderle più user friedly e gradevoli all’occhio. 

Page 59: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

Report 

Creiamo adesso un report dove compariranno i dati relativi al costo totale di un lavoro. Vogliamo che premendo un bottone che inseriremo  nella maschera dettaglio_spese venga aperto il report. Creiamo quindi una query che contenga i dati che ci interessano delle tabelle lavori e voci_lavori Andiamo quindi in CREA e poi scegliamo STRUTTURA QUERY. Inseriamo le nostre tabelle lavori e voci_lavori e dalle tabelle selezioniamo le seguenti voci:  

TABELLA LAVORI  TABELLA VOCI_LAVORI Id  data Nome_lavoro  Voce importo  Importo    

 

  

 

Page 60: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

Spostiamoci adesso in una colonna vuota della nostra query e premiamo il tasto destro del mouse. Dalla finestra selezioniamo GENERA  

Nella finestra seguente scriviamo la formula   [lavori]![id] = Forms![dettaglio_spese]![id]   Posso scrivere la formula a mano oppure prendere gli oggetti tramite l’aiuto Apro le tabelle e seleziono LAVORI e quindi ID Quindi premo il tasto = Apro le forms e apro la form dettaglio_spese e seleziono id  Questo è l’SQL che abbiamo generato SELECT lavori.id, lavori.nome_lavoro, voci_lavoro.data, voci_lavoro.voce, voci_lavoro.importo, lavori.importo FROM lavori INNER JOIN voci_lavoro ON lavori.id = voci_lavoro.id_lavoro WHERE ((([lavori]![id])=[Forms]![dettaglio_spese]![id])); 

 In pratica diciamo che vogliamo che dalle due tabelle vengano estratti i dati che abbiamo deciso e che nella tabella lavori hanno lo stesso ID dell’ ID presente nella maschera Dettaglio_spese. Essendo le due tabelle in relazione dalla tabella voci_lavoro vendono solo estratti i dati relativi allo stesso lavoro.  Andiamo adesso su CREA e selezioniamo CREAZIONE GUIDATA REPORT  

Page 61: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

Nella finestra che si apre selezioniamo la nostra query e tutte le voci tranne la voce ID che non mi interessa che sia visibile.  Andiamo sempre avanti fino a quando non ci compare la finestra che ci chiede il tipo di ordinamento  

In questa schermata scegliamo di ordinare le voci delle spese relative al lavoro per data Selezioniamo quindi la voce data e scegliamo come ordine crescente  Andiamo sempre avanti e personalizziamo come vogliamo che il nostro report sia visualizzato.    

 Apriamo adesso il nostro report per le modifiche  Clicchiamo quindi sul report con il tasto destro del mouse e scegliamo visualizza struttura  Impaginiamo il nostro report in questo modo o il più simile possibile Importante che spostiamo o copiamo la casella contente i dati lavori.importo nel piè di pagina report  

Page 62: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it

   Creiamo adesso nel nostro report la somma delle spese e quindi la sommiamo al costo del lavoro. Creiamo una casella di testo sopra lavoro. Nella label (etichetta) scriviamo Totale spese e nella casella di testo scriviamo =Somma([voci_lavoro.importo]). In questo modo diciamo che il contenuto della casella conterrà la somma di gli importi nella tabella voci_lavoro che risultano dalla query. Sotto la casella Lavoro inseriamo un’altra casella di testo. Nella label scriviamo Totale e nella casella di testo scriviamo =[testo16]+[testo18] ovvero la somma della casella lavori.importo e della casella somma delle voci_lavoro.importo. Note: Se nel mio form queste caselle di testo hanno nomi diversi devo cambiare i nomi  Chiudiamo e salviamo 

Page 63: MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS · 2017-04-29 · MICROSOFT ACCESS PARTE PRIMA: CAPIRE ACCESS Contenuto nel pacchetto office Access è un potente database relazionale,

www.filoweb.it