OpenOffice.org 2.0
e i Database
Introduzione all'uso dei
Database con
OpenOffice.org 2.0
Versione 0.99 – Dicembre 2005
OpenOffice.org 2.0 & i Database -
© 2005 Filippo Cerulo – Soft.Com Sas
www.softcombn.com - email: [email protected]
OpenOffice, MySql e PostgreSQL sono Marchi Registrati dai rispettivi proprietari.
Quest'opera è rilasciata sotto la licenza Creative Commons
“Attribuzione - Non commerciale - Non opere derivate 2.0 Italia.”
Per visionare una copia di questa licenza visita il sito web
http://creativecommons.org/licenses/by-nc-nd/2.0/it/ o richiedila per posta a Creative
Commons, 559 Nathan Abbott Way, Stanford, California 94305, Usa.
Tu sei libero:
•
di riprodurre, distribuire, comunicare al pubblico, esporre in pubblico, rappresentare,
eseguire o recitare l'opera
Alle seguenti condizioni:
Attribuzione. Devi riconoscere il contributo dell'autore
originario.
Non commerciale. Non puoi usare quest’opera per scopi
commerciali.
Non opere derivate. Non puoi alterare, trasformare o
sviluppare quest’opera.
•
In occasione di ogni atto di riutilizzazione o distribuzione, devi chiarire agli altri i termini
della licenza di quest’opera.
•
Se ottieni il permesso dal titolare del diritto d'autore, è possibile rinunciare ad ognuna di
queste condizioni.
Le tue utilizzazioni libere e gli altri diritti non sono in nessun modo limitati da
quanto sopra
2
© 2005 Filippo Cerulo - Soft.Com Sas – Documento con Licenza Creative Commons - Rev 0.99
OpenOffice.org 2.0 & i Database - Base e i suoi Colleghi....
16. Base e i suoi Colleghi....
Una Suite da ufficio che si rispetti dovrebbe garantire un buon grado di interattività tra i
suoi moduli. Microsoft sfrutta a fondo l'OLE, ma questa è una prerogativa unica di Windows che
mal si adatta ad un prodotto multi piattaforma. Nei paragrafi seguenti quindi vedremo come è
possibile utilizzare il Dati provenienti da documenti di tipo Base con gli altri moduli di
OpenOffice.org.
16.1 Registrare il Database
Come abbiamo già avuto modo di dire, l'accesso ai dati dai moduli di OOo avviene aprendo
il pannello delle Sorgenti Dati (Visualizza -> Sorgenti Dati) oppure utilizzando il tasto
funzione F4. Perché una Sorgente Dati sia visualizzata (e quindi utilizzabile), è però necessario
che sia stata preventivamente registrata; in pratica si tratta di indicare ad OOo qual'è il
Documento Base che utilizzeremo come sorgente. Questo si ottiene con la voce Strumenti ->
Opzioni -> OpenOffice.org Base -> Database; qui, col pulsante Nuovo, è possibile indicare il
percorso del File Base da registrare. A questo punto, con il tasto F4 avremo accesso alle
Tabelle ed alle Ricerche del nostro Db.
16.2 Writer
Writer è il modulo di Elaborazione Testi di OpenOffice, ed è utile, insieme al Database, sia
per il Mail Merge (Lettere personalizzate) sia come tool di Reporting (purtroppo però solo
statico). Vediamo....
16.2.1 Lettere Personalizzate
L'uso di Writer come strumento per Lettere Personalizzate è assai intuitivo. Esiste anche
un'auto composizione, ma secondo me è più facile fare “a mano”. Per creare questo tipo di
Documenti, in effetti, basta seguire questi semplici passi:
✔
Registrare il Documento OOo Base che serve da sorgente dati;
✔
aprire un documento di testo vuoto;
✔
aprire il pannello delle Sorgenti Dati con F4, e selezionare la Ricerca o la Tabella che
intendiamo utilizzare;
✔
trascinare col mouse, dal pannello di destra, la colonna che ci serve nel punto del
Documento di Testo dove vogliamo che appaia il campo.
Il tutto è visibile nella figura in basso, dove possiamo usare l'anagrafica degli Utenti per
scrivere una Lettera personalizzata.
187
© 2005 Filippo Cerulo - Soft.Com Sas – Documento con Licenza Creative Commons - Rev 0.99
OpenOffice.org 2.0 & i Database - Base e i suoi Colleghi....
Figura 16.2.1: Trascinare una colonna nel documento di testo
Ovviamente è possibile trascinare quante colonne si desidera nel Documento di Testo. Se
vogliamo vedere “come viene”, possiamo selezionare un Record e premere il pulsante Dati in
Campi della barra degli strumenti della Sorgente Dati (
), come in Figura.
Figura 16.2.2: L'anteprima della Stampa in Serie
188
© 2005 Filippo Cerulo - Soft.Com Sas – Documento con Licenza Creative Commons - Rev 0.99
OpenOffice.org 2.0 & i Database - Base e i suoi Colleghi....
Quando si avvia una stampa, OOo avverte che si tratta di una Lettera Personalizzata e
chiede se si vuole eseguire una stampa in serie: le opzioni sono piuttosto intuitive, quindi non
mi dilungo oltre.
16.2.2 Stampa in serie da Ricerche
Se è necessario filtrare i dati di una Tabella per una Stampa in Serie, la cosa più saggia è
usare una Ricerca, per evitare di impostare complesse opzioni nel Documento di Testo.
Creiamo, perciò una Ricerca nel nostro Documento Base per la stampa di un messaggio ai soli
Tesserati (UtTessera=1), col nome di Lettere_Tesserati.
Figura 16.2.3: La Ricerca Lettere_Tesserati
Riapriamo il nostro documento, e con la Voce di Menu Modifica -> Scambia Database
selezioniamo la nuova Sorgente Dati. Fatto, ora siamo pronti a spedire il documento solo ai
Tesserati.
16.2.3 Stampa in Serie con Campi Condizionali
Siccome siamo molto esigenti, vorremmo che, a seconda del Sesso del nostro Tesserato, la
formula di saluto fosse diversa: “Egregio Signor” per i maschietti e “Gentile Signora” per le
femminucce. Questo si può ottenere inserendo un Comando di Campo di tipo Testo
Condizionale: abbiamo, infatti, opportunamente aggiunto il campo UtSesso alla ricerca. La cosa
è piuttosto semplice (tenete presente che, in questo esempio, il Documento Base si chiama
Mediateca_My5) :
✔
Scegliamo la Voce di Menu Inserisci -> Comando di Campo -> Altro;
✔
selezioniamo la Tab Funzioni ed il tipo di Campo Testo Condizionale;
✔
alla voce Condizione, scriviamo: Mediateca_My5.Lettere_Tesserati.UtSesso EQ "M";
✔
alla voce Poi : Egregio Signor
✔
alla voce Altrimenti : Gentile Signora.
Quindi in Condizione è possibile fare riferimento ad un Campo della Tabella o della Ricerca
nella forma Database.Tabella.NomeCampo; nel nostro caso
189
© 2005 Filippo Cerulo - Soft.Com Sas – Documento con Licenza Creative Commons - Rev 0.99
OpenOffice.org 2.0 & i Database - Base e i suoi Colleghi....
Mediateca_My5.Lettere_Tesserati.UtSesso
seguito dall'operatore (EQ sta per uguale, ma ce ne sono molti altri) e dal valore da
confrontare (“M” per maschio).
Figura 16.2.4:
Impostazione di Testo
Condizionale
Il risultato è soddisfacente.....
Figura 16.2.5: Stampa in serie con Testo Condizionato
16.2.4 Aggiunta di Tabelle da Ricerche
Supponiamo ora di voler elencare, all'interno della nostra Lettera per Stampa in Serie, una
Tabella contenente, ad esempio, tutti i titoli relativi ai CD Audio Rock. Come al solito la prima
cosa da fare è crearsi una Ricerca nel Documento Base che soddisfi le nostre esigenze. Un
esempio potrebbe essere quello in figura, che ho chiamato CD_Rock.
190
© 2005 Filippo Cerulo - Soft.Com Sas – Documento con Licenza Creative Commons - Rev 0.99
OpenOffice.org 2.0 & i Database - Base e i suoi Colleghi....
Figura 16.2.6: Ricerca dei Cd Rock
Ok, allora torniamo al nostro documento e, dopo aver aperto il pannello Sorgenti Dati con
F4, trasciniamo col mouse la nuova ricerca nel nostro documento. Si apre una finestra dove è
necessario impostare alcuni parametri:
Figura 16.2.7: Inserire una Ricerca come Tabella
Notate che il nome dei Campi è riportato in ordine alfabetico, quindi è necessario spostare
gli elementi che ci servono nella colonna a destra nella giusta sequenza (nel nostro caso Titolo,
Supporto, Genere).
Otterremo più o meno questo:
191
© 2005 Filippo Cerulo - Soft.Com Sas – Documento con Licenza Creative Commons - Rev 0.99
OpenOffice.org 2.0 & i Database - Base e i suoi Colleghi....
Figura 16.2.8: La Tabella ricavata da una Ricerca
Un punto deve essere chiaro: i Campi immessi come Comandi di Campo sono variabili, cioè
sono collegati al Database (e quindi alla Ricerca) di origine; le Tabelle trascinate nei documenti
sono statiche, cioè rispecchiano la situazione di quel preciso momento. Perciò se in futuro
aggiungeremo un Tesserato, potremo utilizzare lo stesso Documento senza modifiche, mentre
se disporremo di nuovi Cd Rock sarà necessario trascinare di nuovo la Tabella nel Documento.
TIP
Quando si apre un Documento Base nel Pannello delle Sorgenti Dati, lo stesso risulta in
uso al Documento Writer (o Calc) a cui è collegato. Perciò, ad esempio, se apro anche
Mediateca_My5 (il documento Base) in un'altra finestra, OOo mi impedisce di
modificare la struttura delle Tabelle e delle Ricerche. In questo caso è necessario
riavviare OpenOffice, compreso il QuickStart, per risolvere il problema. Questo credo sia
un piccolo bug che sarà corretto nelle prossime versioni.
16.3 Calc
Abbiamo già visto, nel capitolo Rapporti... Old Style, come collegare una Sorgente Dati con
un Foglio Elettronico. Con la stessa tecnica è possibile ottenere buoni risultati anche per
rappresentare in forma grafica informazioni di un Database, oppure per calcolare Totali Parziali
su Raggruppamenti.
192
© 2005 Filippo Cerulo - Soft.Com Sas – Documento con Licenza Creative Commons - Rev 0.99
OpenOffice.org 2.0 & i Database - Base e i suoi Colleghi....
16.3.1 Grafici da Sorgenti Dati
Riprendiamo la Ricerca, già creata al Paragrafo Raggruppamenti e Formule Matematiche del
Capitolo Uso Avanzato di...., che abbiamo chiamato Analisi_Argomenti e definito così:
Figura 16.3.1: Ricerca con uso di Gruppi
Se “trasciniamo” la Ricerca su un Foglio elettronico vuoto e selezioniamo i parametri già
visti per l'Area di Importazione (Dati->Definisci Area), è abbastanza semplice creare un Grafico
associato ai Dati della Ricerca stessa, come in figura. Notate che al variare delle informazioni
contenute nel Documento Base, varierà di conseguenza anche il Grafico.
Figura 16.3.2: Rappresentazione Grafica dei Dati
193
© 2005 Filippo Cerulo - Soft.Com Sas – Documento con Licenza Creative Commons - Rev 0.99
OpenOffice.org 2.0 & i Database - Base e i suoi Colleghi....
16.3.2 Calcolo di Subtotali
Supponiamo di necessitare di un elenco del nostri Media, ordinato per Tipo di Supporto, che
calcoli anche il costo totale per ogni tipologia (lo so che mi invento cose improbabili, ma serve
solo da esempio...). Cominciamo, al solito, a costruire la nostra ricerca, che potrebbe essere:
Figura 16.3.3: Ricerca per i SubTotali
Al solito, “trasciniamo” la Ricerca su un Foglio di Calc, impostando nel modo corretto i
parametri per l'Area; avremo:
Figura 16.3.4: La Ricerca nel Foglio di Calc
A questo punto basta selezionare l'Area (che, lo ricordo, di default si chiama Importa1) e
con la voce di Menu Dati -> Subtotali definiamo i parametri giusti come in figura:
194
© 2005 Filippo Cerulo - Soft.Com Sas – Documento con Licenza Creative Commons - Rev 0.99
OpenOffice.org 2.0 & i Database - Base e i suoi Colleghi....
Figura 16.3.5: Impostazione dei Subtotali
per avere :
Figura 16.3.6: Subtotali con Calc
Anche in questo caso il risultato è “dinamico”: ogni modifica ai Dati del Db comporta il
corretto aggiornamento del Foglio Elettronico. Vi ricordo che col modulo integrato per i
Rapporti di Base è, attualmente, impossibile utilizzare in modo flessibile i Subtotali, ma Calc è
davvero un'ottima alternativa.
16.3.3 Ricerche a Campi incrociati
Lo so, lo so, il Modulo Base prevede solo Ricerche semplici, chiamate anche Query di
Selezione in altri prodotti analoghi, quindi direttamente possiamo fare poco. Però abbiamo
Calc, ed il suo DataPilot, quindi non tutto è perduto....
Cominciamo, per una volta, dalla fine: voglio un prospetto dove sia indicato quanti Supporti
abbiamo di tipo diverso per ogni Argomento, cioè una cosa del genere:
195
© 2005 Filippo Cerulo - Soft.Com Sas – Documento con Licenza Creative Commons - Rev 0.99
OpenOffice.org 2.0 & i Database - Base e i suoi Colleghi....
Figura 16.3.7: Una Query a Campi incrociati
Questo tipo di analisi dei dati viene definita “a campi incrociati” perché si indica un Campo
di raggruppamento per le righe, uno per le colonne, ed i valori vengono calcolati in base ad
una formula matematica. Si tratta di un sistema assai utile, ad esempio, quando si voglia
calcolare l'andamento mensile di determinati valori (come le vendite oppure le scorte di
magazzino). Ma torniamo indietro...
Il primo passo, al solito, è la creazione di una Ricerca adatta all'uopo; dobbiamo includere i
campi che devono essere “incrociati”, magari in ordine, ed un valore che possa essere
“contato”, quindi:
Figura 16.3.8: Ricerca per il DataPilot
Al solito, trasciniamo la Ricerca in un Foglio vuoto e definiamo l'area come abbiamo visto in
precedenza. Avremo più o meno questo risultato:
196
© 2005 Filippo Cerulo - Soft.Com Sas – Documento con Licenza Creative Commons - Rev 0.99
OpenOffice.org 2.0 & i Database - Base e i suoi Colleghi....
Figura 16.3.9: La Ricerca nel Foglio Elettronico
Ok; ora selezioniamo l'area e scegliamo dal Menu Dati -> Datapilot -> Avvia. La
maschera di immissione dei parametri si presenta così:
Figura 16.3.10: Impostazione di un DataPilot
Sulla destra ci sono i “pulsanti” che rappresentano i Campi della Tabella: dobbiamo
trascinare i Campi al posto giusto. Così Supporto va sulla riga, Argomento sulla Colonna e
Descrizione nel Campo dati. Ci resta solo da stabilire il metodo di calcolo per i Dati: con un
doppio click su Descrizione, indichiamo Conteggio, come in figura:
197
© 2005 Filippo Cerulo - Soft.Com Sas – Documento con Licenza Creative Commons - Rev 0.99
OpenOffice.org 2.0 & i Database - Base e i suoi Colleghi....
Figura 16.3.11: Indicazione del metodo di calcolo
Infine dobbiamo decidere dove “costruire” la nuova Tabella, e, per evitare confusioni, ho
indicato nella voce Risultato da il valore nuova tabella (in alternativa è possibile usare un'altra
area della stessa tabella). Quello che si ottiene è mostrato nella prima immagine di questo
paragrafo.
Vi faccio ancora notare che il collegamento è “dinamico”, cioè ogni modifica ai dati nel Db
aggiorna anche i valori del foglio elettronico.
TIP
Se tutto è stato definito per bene, ad ogni apertura del Foglio di Calcolo OOo chiede se
aggiornare le Ricerche: ovviamente bisogna rispondere di si. La Tabella ottenuta col
DataPilot va, invece, aggiornata manualmente: basta posizionarsi su una cella qualsiasi
dell'area e scegliere dal menu contestuale la voce Aggiorna.
198
© 2005 Filippo Cerulo - Soft.Com Sas – Documento con Licenza Creative Commons - Rev 0.99
Scarica

Base e i suoi Colleghi