Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Personalizzazione del report

Come migliorare le stampe sfruttando il linguaggio SQL
Come migliorare le stampe sfruttando il linguaggio SQL
Link copiato negli appunti

Nella lezione precedente abbiamo visto come creare un report per il nostro database, ma al contrario delle maschere che, a parte eventuali aggiunte, sono già molto valide subito dopo la loro creazione, nel report possiamo trovare alcune imperfezioni.

I valori dei campi a volte non sono allineati come li desideriamo e i nomi delle intestazioni sono quelli assegnati alle colonne della tabella. Ad esempio è meglio chiamare una colonna "codice autore" pittosto che "id_autore".

Ma i problemi maggiori li troviamo con l'ordinamento: i record sono raggruppati per id_autore e pertanto l'ordinamento basato sul cognome risulta del tutto ignorato. Ad esempio se l'autore Kafka ha chiave primaria 1 e l'autore Bisio ha la chiave 2, Kafka viene comunque stampato per primo.

Una soluzione possibile ed elegante è una modifica della query utilizzando il linguaggio SQL. L'idea è quella di creare una query che abbia come chiave primaria la terna cognome-nome-id_autore.

Un report raggruppato su tale campo risolverebbe entrambi i problemi in un colpo solo; difatti il raggruppamento sarebbe per il singolo autore a prescindere dai casi di omonimia (nella terna c'è la chiave primaria) e l'ordinamento si baserebbe sul cognome e sul nome (i primi 2 elementi della terna).

Per modificare la query è sufficiente aprirla in struttura ed entrare nella visualizzazione SQL. Qui sostituiamo l'espressione presente con una nuova che tenga conto del nostro raggruppamento:

SELECT Autori.cognome & Autori.nome & Autori.id_autore AS gruppo, Libri.titolo, Autori.nome 
FROM Libri, autori 
WHERE libri.id_autore = autori.id_autore

Abbiamo costruito la terna che cercavamo inserendovi i 3 campi, uniti con la e commerciale (&) a chiamando la terna gruppo.

A questo punto conviene creare un nuovo report. Qui non abbiamo bisogno di impostare l'ordinamento perché è già incluso nel raggruppamento della query.

Le altre imperfezioni sono decisamente più facili da eliminare aprendo il report in struttura.

Figura 33. Report in modalità struttura
Report in modalità struttura

Prima di tutto cambiamo il titolo della stampa; q_autori_libri non è granché come titolo. Utilizziamo il tasto destro per accedere alle proprietà ed alla voce Etichetta digitiamo il nome desiderato.

Nello stesso modo potremmo scrivere "anno" invece di "anno di pubblicazione" nella relativa etichetta così la scritta sta dentro i margini.

Posizionandoci sui rettangoli che delimitano i campi si possono inoltre modificare le dimensioni; ad esempio possiamo stringere il campo dell'anno ed allargare quello del titolo.

Un suggerimento è quello di rendere invisibile il campo gruppo, che non vogliamo visualizzare, pur essendo utile all'ordinamento. L'opzione utile allo scopo è visibile impostato su No. Ora che il campo non si vedrà più nelle stampe (anche se, giustamente, si vede ancora in struttura) possiamo ulteriormente allargare i campi dei nomi e del titolo. A questo punto impostare colori, grandezza e tipo dei caratteri sarà molto intuitivo.

Per concludere è possibile modificare la maschera degli autori inserendo un pulsante di comando che faccia apparire il report in anteprima o che lo invii direttamente alla stampante.

Ti consigliamo anche