Di norma, i dati sono più facili da analizzare se sono divisi in gruppi. Ad esempio, un report che raggruppa le vendite per regione può aiutarti a individuare tendenze che altrimenti potrebbero passare inosservate. Inoltre, inserendo i totali (come i totali o le medie) alla fine di ogni gruppo nel report, si sostituisce gran parte del lavoro di calcolo.

Access semplifica il lavoro sui report raggruppati. È possibile creare un semplice report raggruppato utilizzando la Creazione guidata report, aggiungere raggruppamento o ordinamento a un report già creato o modificare le opzioni di raggruppamento o ordinamento che sono già state impostate.

Nota: L'articolo non si applica alle app Web di Access, un nuovo tipo di database creato in Access e pubblicato sul Web.

In questo articolo

Crea un rapporto di riepilogo con raggruppamento o ordinamento

Anche se è la prima volta che crei rapporti raggruppati, puoi creare rapidamente un rapporto semplice procedendo come segue:

Creazione di un report raggruppato utilizzando la procedura guidata Report

La Creazione guidata rapporto ti pone domande e genera un rapporto basato sulle risposte. Uno di questi menziona i campi in base ai quali si desidera raggruppare nel report. Una volta creato un report, puoi usarlo così com'è o modificarlo in base alle tue esigenze. Prima di avviare la procedura guidata del report, decidere la scelta dell'origine dati.

Avvio della Creazione guidata rapporto

Raggruppamento di record utilizzando la procedura guidata Report

Il raggruppamento consente di organizzare le voci per gruppi (ad esempio per regione o venditore). I gruppi nidificati semplificano la definizione delle relazioni tra i gruppi e la ricerca rapida dei dati necessari. Con il raggruppamento, puoi anche ottenere riepiloghi come totali o percentuali.

Quando si includono più tabelle in un report, la procedura guidata esamina le relazioni tra di esse e determina come visualizzare i dati.


Ordinamento e riepilogo dei record

È possibile ordinare i record in ordine crescente o decrescente in base a 1-4 campi.


Utilizzando i pulsanti di navigazione nella parte inferiore della finestra, è possibile scorrere le pagine del report in sequenza o passare a una qualsiasi delle sue pagine. Premere uno dei pulsanti di navigazione oppure immettere il numero di pagina desiderato nel campo di immissione del numero di pagina, quindi premere il tasto INVIO.

In modalità Anteprima, puoi ingrandire per visualizzare i dettagli o rimpicciolire per visualizzare la posizione dei dati sulla pagina. Fare clic una volta quando il cursore del mouse è puntato sul report. Per annullare l'effetto zoom, fare nuovamente clic. Puoi anche utilizzare il controllo dello zoom sulla barra di stato.

Aggiungi o modifica il raggruppamento e l'ordinamento in un rapporto esistente

Se disponi già di un rapporto e devi aggiungere l'ordinamento o il raggruppamento, o se devi modificare le condizioni di ordinamento o raggruppamento in esso, questa sezione ti aiuterà in questo.

Aggiunta di raggruppamento, ordinamento e totali

È possibile eseguire operazioni di ordinamento, raggruppamento e riepilogo facendo clic con il pulsante destro del mouse sui campi nella vista Layout e selezionando l'operazione desiderata dal menu contestuale. Per passare alla visualizzazione Layout, fai clic con il pulsante destro del mouse sul report nel riquadro di spostamento e seleziona Modalità layout.

Nota: Sebbene le istruzioni in questa sezione non parlino esplicitamente dell'area, ti consigliamo di aprirla e monitorarne le modifiche mentre lavori. Acquisirai una migliore comprensione delle azioni di Access e una volta che avrai imparato a lavorare con un ambito Raggruppamento, ordinamento e totali, puoi usarlo per modificare ulteriormente il rapporto. Per visualizzare il pannello Raggruppamento, ordinamento e totali:

    scheda Costruttore in gruppo Raggruppamento e totali clic Raggruppamento e ordinamento.

Ordinamento per un campo

    Fare clic con il pulsante destro del mouse su qualsiasi valore nel campo in base al quale eseguire l'ordinamento.

    Selezionare l'opzione di ordinamento desiderata dal menu contestuale. Ad esempio, per ordinare una casella di testo in ordine crescente, fare clic su Ordinamento dalla A alla Z. Per ordinare un campo numerico in ordine decrescente, fare clic su Ordinamento discendente.

Access ordina il rapporto come specificato. Se la zona Raggruppamento, ordinamento e totaliè già aperto, potresti notare che è stata aggiunta una nuova riga al campo Ordinamento.

Ordinamento per più campi

Nota: Quando si applica un ordinamento facendo clic su un campo nella visualizzazione Layout, è possibile ordinare solo un campo alla volta. L'applicazione di un ordinamento a un altro campo rimuove l'ordinamento sul primo campo. Questo è diverso dal modo in cui vengono eseguiti gli ordinamenti sui moduli, in cui è possibile impostare più ordinamenti facendo clic su ciascun campo a turno e scegliendo l'ordinamento desiderato. Per creare livelli di ordinamento per più campi, vedere .

Raggruppa per campo

    Fare clic con il pulsante destro del mouse su qualsiasi valore nel campo in base al quale si desidera raggruppare.

    Dal menu contestuale, seleziona raggruppamento.

Access aggiunge un livello di raggruppamento e crea un'intestazione di gruppo. Se la zona Raggruppamento, ordinamento e totaliè già aperto, vedrai che è stata aggiunta una nuova riga al campo raggruppamento.

Aggiunta di un totale a un campo

Questa opzione consente di calcolare la somma, la media, il conteggio o altri campi statistici. Il valore totale viene aggiunto alla fine del report e i totali dei gruppi vengono aggiunti ai gruppi di report.

    Fare clic con il pulsante destro del mouse su qualsiasi valore nel campo per il quale si desidera calcolare il totale.

    Clic Risultato.

    Seleziona l'operazione da eseguire: Somma, La media, Numero di record(per contare tutte le voci), Numero di valori(per contare solo i record con un determinato valore di campo), Massimo, Minimo, Deviazione standard o Dispersione.

Access aggiunge un controllo all'intestazione del report, ad esempio un testo calcolato che riassume il totale generale. Se il report contiene livelli di raggruppamento, Access aggiunge le intestazioni di gruppo (se non ne esistono) e inserisce il valore totale in ciascuna intestazione.

Nota: Puoi anche aggiungere i totali cliccando sul campo per il quale vuoi calcolarli e sulla scheda Costruttore in gruppo Raggruppamento e totali cliccando Risultati.

Aggiungi raggruppamento, ordinamento e totali utilizzando il riquadro Raggruppamento, ordinamento e totali

Lavorare con il territorio Raggruppamento, ordinamento e totali offre la massima flessibilità quando è necessario aggiungere o modificare gruppi, ordinare ordini o opzioni di totali in un report. Allo stesso tempo, la visualizzazione Layout è la più comoda con cui lavorare, poiché è molto più facile vedere come le modifiche apportate influiscono sulla visualizzazione dei dati.

Visualizzazione dell'area di ordinamento, raggruppamento e somma

    Sulla scheda Costruttore in gruppo Raggruppamento e totali clic Raggruppamento e ordinamento.

    L'accesso visualizzerà l'area Raggruppamento, ordinamento e totali.

Per aggiungere un livello di raggruppamento o ordinamento, fare clic su Aggiungi raggruppamento o Aggiungi ordinamento.

Alla zona Raggruppamento, ordinamento e totali verrà aggiunta una nuova riga e verrà visualizzato un elenco di campi disponibili.

È possibile fare clic su uno di questi nomi di campo o espressione sotto l'elenco dei campi per inserire un'espressione. Non appena si fa clic su un campo o si immette un'espressione, Access aggiunge un livello di raggruppamento al report. Nella visualizzazione Layout, verrà visualizzato immediatamente l'ordinamento o l'ordine di gruppo.

Per ulteriori informazioni sulla creazione e l'utilizzo di espressioni, vedere l'articolo Creare espressioni.

Appunti:

    Dopo aver specificato più livelli di ordinamento o raggruppamento, potrebbe essere necessario scorrere l'area verso il basso Ordinamento, raggruppamento e totali per vedere i pulsanti Aggiungi raggruppamento e Aggiungi ordinamento.

    È possibile assegnare fino a dieci livelli di ordinamento e raggruppamento a un report.

Modifica le opzioni di raggruppamento

Ciascun livello di raggruppamento o ordinamento contiene una serie di opzioni che puoi utilizzare per ottenere i risultati desiderati.


L'ordinamento.È possibile modificare l'ordinamento facendo clic sull'elenco a discesa appropriato e scegliendo l'opzione desiderata.

Intervallo di raggruppamento. Questa impostazione determina la modalità di raggruppamento dei record. Ad esempio, i campi di testo possono essere raggruppati in base al loro primo carattere (se iniziano con "A", "B", ecc.). I campi della data possono essere raggruppati per giorno, settimana, mese, trimestre o inserire il proprio intervallo.

Risultati. Per aggiungere i totali, fare clic su questa opzione. È possibile aggiungere totali a più campi e calcolare più tipi di totali per un singolo campo.

    Totale per campo e seleziona il campo per il quale vuoi calcolare i totali.

    Fare clic sulla freccia a discesa Un tipo e seleziona un metodo di pagamento.

    Selezionare Mostra il totale generale per aggiungere un totale generale alla fine del rapporto (la sua intestazione).

    Selezionare Mostra i totali di gruppo e il totale generale per aggiungere un controllo all'intestazione del gruppo che calcola la percentuale del totale generale per ciascun gruppo.

    Selezionare Mostra nell'intestazione del gruppo o Mostra nell'intestazione del gruppo per visualizzare il totale generale nella posizione desiderata.

Dopo aver selezionato tutte le opzioni per un campo, è possibile ripetere il processo selezionando un campo diverso dall'elenco a discesa Totale per campo o fare clic al di fuori della finestra popup Risultati per chiuderlo.

Nome. Consente di modificare il titolo del campo su cui viene calcolato il valore totale. Utilizzato per l'intestazione di colonna e per i campi di riepilogo nelle intestazioni e nei piè di pagina.

Per aggiungere o modificare un titolo:

    fare clic sul testo blu dopo la didascalia con titolo;

    Apparirà una finestra di dialogo Scala;

    immettere un nuovo titolo nella finestra di dialogo, quindi fare clic ok.

Con/senza sezione di intestazione. Con questa impostazione, sarai in grado di aggiungere o rimuovere una sezione di intestazione che precede ogni gruppo. Quando aggiungi una sezione di intestazione, Access inserisce il campo di raggruppamento nell'intestazione. Access ti chiederà conferma prima di eliminare una sezione di intestazione che contiene controlli diversi dalla casella di gruppo.

Con/senza note di sezione. Utilizzare questa opzione per aggiungere o rimuovere una sezione di intestazione e piè di pagina dopo ogni gruppo. Prima di eliminare una sezione di intestazione o piè di pagina che contiene controlli, Access ti chiederà conferma.

Una rappresentazione ininterrotta di un gruppo. Questa opzione determina il modo in cui i gruppi vengono posizionati sulla pagina quando viene stampato il rapporto. Potresti voler posizionare i gruppi il più vicino possibile l'uno all'altro per una facile visualizzazione sulla pagina. Ma questo di solito aumenta l'utilizzo della carta durante la stampa del rapporto perché la maggior parte delle pagine avrà uno spazio vuoto nella parte inferiore.

    Non tenere il gruppo su una pagina. Usa questa opzione se non ti interessa la posizione dei gruppi nelle interruzioni di pagina. Ad esempio, 10 elementi in un gruppo di 30 elementi potrebbero trovarsi nella parte inferiore di una pagina e i restanti 20 nella parte superiore della pagina successiva.

    Mantieni il gruppo sulla stessa pagina. Questa impostazione consente di ridurre al minimo il numero di interruzioni di pagina in un gruppo. Se il gruppo non si adatta allo spazio rimanente su una pagina, Access lascia lo spazio vuoto e posiziona il gruppo nella pagina successiva. I gruppi di grandi dimensioni possono comunque estendersi su più pagine, ma questa impostazione riduce al minimo questi casi.

    Mantieni il titolo e il primo post sulla stessa pagina. Garantisce che l'intestazione del gruppo non venga stampata separatamente dal gruppo stesso nella parte inferiore della pagina. Se Access determina che non c'è spazio sufficiente per stampare almeno una riga dopo l'intestazione, il gruppo verrà stampato dalla pagina successiva.

Modificare la priorità dei livelli di raggruppamento e ordinamento

Per modificare la priorità, fare clic su una riga nell'area Raggruppamento, ordinamento e totali, quindi la freccia su o giù a destra della riga.

Rimozione dei livelli di raggruppamento e ordinamento

Per eliminare un livello, nell'area Raggruppamento, ordinamento e totali selezionare la riga che si desidera eliminare e quindi premere il tasto DELETE o il pulsante Eliminare a destra della linea. Quando si rimuove un livello di raggruppamento, se l'intestazione o il piè di pagina del gruppo conteneva un campo di raggruppamento, Access lo sposta nella sezione dei dettagli del report. Tutti gli altri controlli vengono rimossi.

Crea un rapporto di riepilogo (nessun dettaglio del record)

Se vuoi mostrare solo i totali (i dati nelle righe di intestazione e piè di pagina), nella scheda Costruttore in gruppo Raggruppamento e totali clic Nascondere dettagli. Ciò nasconderà i record del livello di raggruppamento successivo inferiore e i totali verranno visualizzati in modo più compatto. Sebbene le voci siano nascoste, i controlli nella sezione nascosta non vengono rimossi. Clic Nascondere dettagli di nuovo per restituire le righe di dettaglio al report.

La query consente di riassumere i dati appartenenti agli stessi gruppi: contando il loro numero, somma, valore medio, massimo e minimo.

Esercizio: crea una query che conteggerà il numero totale di articoli e il volume totale di merci ricevute per ciascuna fattura.

Considera i dati della tabella " Ricezione merce"(Fig. 13). La tabella ha gli stessi valori di colonna Numero di fattura può essere ripetuto più volte (a seconda di quanta merce è arrivata in fattura). È necessario creare una query che riepiloghi la quantità di merci per fatture con lo stesso numero.

Per una migliore comprensione di quale risultato si dovrebbe ottenere nella query di Fig. 13, a destra, tra parentesi graffe, vengono calcolate le voci per le quali corrispondono i numeri di fattura e il numero totale di partite e il volume totale.

Riso. tredici. Tabella "Entrata della merce"

Procedura operativa:

1. In finestra di navigazione viene scelto Categoria di oggetti - Tipo di oggetto, e nella sezione Filtro di gruppo interruttore è installato Richieste. Sul nastro nella sezione Creazione in gruppo Richieste viene premuto il pulsante Generatore di query.

2. Nella finestra di dialogo Aggiunta di tabelle, vengono selezionate le tabelle, i dati da cui si desidera visualizzare nella query (" Ricezione merce") e il pulsante viene premuto Aggiungere.

3. Sullo schermo apparirà la finestra di progettazione della query, composta da due parti: la parte superiore mostra i layout delle tabelle e la parte inferiore contiene una sezione per la definizione dei parametri della query.

Questi campi vengono aggiunti alla sezione dei parametri della query, i cui valori dovrebbero essere visualizzati come risultato dell'esecuzione della query (Fig. 14). (Puoi aggiungere un campo a una query facendo doppio clic sul suo nome nella tabella corrispondente situata nella parte superiore della finestra della query).

5. Per implementare la query in modalità Progettazione, viene aggiunta una riga aggiuntiva Operazioni di gruppo (Fig. 14) premendo il pulsante sulla barra degli strumenti.

Sotto il campo numero di fattura in linea Operazioni di gruppo la squadra è selezionata raggruppamento(le fatture con lo stesso numero sono raggruppate), sotto il campo Codice prodotto in linea Operazioni di gruppo la squadra è selezionata Contare(numero) e sotto il campo Quantità - squadra Somma ( la quantità è sommata). Le operazioni utilizzate in una richiesta di raggruppamento sono descritte nella Tabella 2.

Il risultato dell'esecuzione della query è mostrato in Fig. 15. (confrontare il risultato con i dati di Fig. 13).


Tabella 2. Operazioni del Gruppo

Nome dell'operazione

Senso

Somma

Significare

Valore minimo

Valore massimo

Numero di elementi in una colonna

Ultimo elemento

Primo elemento

Condizione

Punta a un'espressione booleana

Espressione

Indica che il campo è calcolato

6.1. Campi calcolati.

6.2. Creazione di espressioni con Expression Builder.

6.3. Panoramica delle funzioni integrate di MS Access DBMS.

6.4. Richieste finali.

6.5. richieste incrociate.

Molto spesso, quando si forma una serie di record, è necessario eseguire dei calcoli sui dati (determinare l'età del dipendente, il valore dell'ordine, la percentuale di vendita, selezionare una parte del codice articolo, ecc., ovvero visualizzare informazioni che non sono memorizzate in database) o compiere determinate operazioni per il trattamento diretto dei dati selezionati.

In QBE DBMS MS Access, tali funzionalità sono fornite tramite campi calcolati e operazioni di gruppo.

6.1. Campi calcolati

Un campo calcolato è un'espressione composta da operatori (aritmetica, confronto, logica, concatenazione) e operandi. Gli operandi possono essere, ad esempio, costanti, funzioni e identificatori integrati o definiti dall'utente

Costo: Merce! Prezzo * Quantità * (1-Sconto)

Numero di uomini: Sum(IIf(Sex = "m"; 1; 0))

Nome completo: Cognome &" "& Sinistra(Nome;1) &". "& Sinistra(Secondo nome;1) &"."

Costo, Numero di uomini e Nome completo sono i nomi dei campi calcolati e vengono visualizzati nella vista tabella nell'intestazione della colonna, il simbolo dei due punti funge da separatore tra il nome del campo calcolato e l'espressione.

Se il nome della tabella o del campo contiene spazi, il relativo identificatore deve essere racchiuso tra parentesi quadre nell'espressione, ad esempio

Costo: Prezzo*[Quantità merce]

Un campo calcolato viene creato direttamente nel modulo QBE inserendo un'espressione in una cella Campo qualsiasi colonna libera. I risultati del calcolo visualizzati in un campo non vengono archiviati nella tabella sottostante. I calcoli vengono eseguiti nuovamente ogni volta che viene eseguita una query, quindi i risultati rappresentano sempre il contenuto corrente del database.

Non è possibile aggiornare manualmente i risultati calcolati.

Per creare espressioni complesse, il DBMS MS Access include un'utilità denominata Costruttore di espressioni.

6.2. Creazione di espressioni con Expression Builder

Il generatore di espressioni può essere avviato facendo clic sul pulsante Costruire sulla barra degli strumenti Generatore di query oppure selezionando il comando di menu dal menu contestuale del campo del modulo di richiesta QBE Costruire….

Fig.6.2. Finestra di dialogo Generatore di espressioni
con un'espressione formata

6.3. Panoramica delle funzioni DBMS integrateSM Accesso

Il DBMS MS Access contiene più di 100 funzioni integrate (Fig. 6.3) che possono essere utilizzate durante la generazione di un campo calcolato o quando si imposta una condizione di selezione.

Restituisce il valore del giorno del mese da 1 a 31

Restituisce il valore del mese da 1 a 12

MonthName(mese[; flag])

Restituisce il nome del mese corrispondente al numero del mese: 1 - gennaio, 2 - febbraio, ecc. Se il valore dell'argomento flag è True, la funzione restituisce l'abbreviazione del mese: 1 - gennaio, 2 - febbraio, eccetera.

Restituisce un valore di anno compreso tra 100 e 9999

Giorno della settimana(data[; numero])

Se il numero non è specificato, restituisce il giorno della settimana da 1 (domenica) a 7 (sabato). Se il numero è 0, restituisce il giorno della settimana da 1 (lunedì) a 7 (domenica)

Restituisce un numero intero compreso tra 0 e 23 che rappresenta il valore dell'ora

DatePart(intervallo; data)

Restituisce un valore numerico basato sul valore dell'argomento intervallo:

"q" - quarto (da 1 a 4);

"m" – mese (da 1 a 12);

"aaaa" – anno (da 100 a 9999);

"ww" – settimana (da 1 a 53);

ecc. (vedi guida alle funzioni).

Restituisce la data di sistema corrente

La tabella 6.1 continua

Descrizione

Sinistra(testo; n)

Restituisce gli n caratteri a sinistra dell'argomento di testo

Destra(testo; n)

Restituisce n caratteri a destra dell'argomento di testo

Mid(testo; start_pos[; n])

Restituisce n caratteri a partire dalla posizione start_pos dell'argomento di testo. Se l'argomento n non è specificato, restituisce tutti i caratteri fino alla fine della stringa, a partire dalla posizione di start_pos dell'argomento di testo.

Restituisce il numero di caratteri (lunghezza della stringa) nell'argomento di testo

Taglia(testo)

Restituisce il valore stringa dell'argomento di testo senza spazi iniziali

RTrim(testo)

Restituisce il valore stringa dell'argomento di testo senza spazi finali

taglia (testo)

Restituisce il valore stringa dell'argomento di testo senza spazi iniziali o finali

Restituisce il valore stringa dell'argomento numero

Formato(variabile; formato)

Restituisce il valore dell'argomento variabile nel formato fornito dall'argomento format

6.3. Richieste di riepilogo

Quando si analizzano i dati, molto spesso non sei interessato ai singoli record, ma ai valori totali per gruppi di dati, ad esempio:

Il numero di transazioni con i Partner per un determinato periodo di tempo;

Vendite medie per ogni mese per l'anno precedente.

Le risposte a tali domande sono date dalla domanda finale.

Per calcolare i valori totali, premere il pulsante Operazioni di gruppo sulla barra degli strumenti Generatore di query in modo che la riga appaia nel modulo QBE Operazione di gruppo(dopo il nome della tabella).

Per impostazione predefinita, per ogni campo inserito nel modulo di richiesta, il valore è impostato su raggruppamento(i risultati non sono riassunti).

Per riassumere, è necessario sostituire l'impianto raggruppamento per una specifica funzione finale. Il DBMS MS Access fornisce 9 funzioni (Tabella 6.2) che garantiscono l'esecuzione delle operazioni di gruppo.

Tabella 6.2

Scopo

Restituisce la somma di un insieme di valori

Restituisce la media aritmetica di un insieme di valori

Restituisce il valore più piccolo da un insieme di valori

Restituisce il valore più grande da un insieme di valori

Restituisce il numero di record in un set di valori non null

Restituisce il primo valore di un campo in un gruppo

Restituisce l'ultimo valore di un campo in un gruppo

Restituisce la deviazione standard di un insieme di valori

Restituisce la varianza di un insieme di valori

Operazione di gruppo c'è un'installazione Espressione. Questa impostazione viene applicata quando l'espressione (string Campo) vengono utilizzate diverse funzioni di riepilogo.

Elenco a discesa delle stringhe Operazione di gruppo c'è un'installazione Condizione. Questa impostazione viene utilizzata quando una condizione di selezione viene scritta nella riga Condizione di selezione, ma i dati della colonna (campo) non devono partecipare all'operazione di gruppo.

Per risolvere problemi statistici più complessi, il DBMS MS Access fornisce un tipo speciale di query: query incrociate.

6.4. Query incrociate

Interrogazione incrociataè un tipo speciale di query di gruppo che riflette i risultati di calcoli statistici basati sul valore di un campo della tabella.

Tre campi della sorgente sottostante sono sufficienti per costruire una richiesta incrociata. Sulla base dei valori ripetuti di un campo, vengono formati i nomi delle intestazioni di riga della tabella finale (riepilogo) (Fig. 6.4). Sulla base dei valori ripetuti di un altro campo, vengono formati i nomi delle intestazioni di colonna della tabella finale (riepilogo). I risultati dell'elaborazione statistica per il terzo campo vengono visualizzati nelle celle della tabella pivot (area valori). Un esempio di query incrociata in modalità progettazione è mostrato nella Figura 6.5 ei risultati della query sono mostrati nella Figura 6.5. 6.6.

L'area Intestazione riga consente più campi, mentre le altre aree possono contenere solo un campo alla volta.

È consentito specificare le condizioni di selezione in una richiesta incrociata. L'ordinamento può essere eseguito solo dai campi situati nell'area dell'intestazione della riga.

Fig.6.4. Layout a campi incrociati


Fig.6.5. Query incrociata formata in QBE


Fig.6.6. Risultato dell'esecuzione della query in modalità Fogli dati

Le query consentono non solo di selezionare record dalle tabelle di Access, ma anche di calcolare vari parametri statistici. Ad esempio, puoi contare il numero totale di contatti e visualizzare le date del primo e dell'ultimo contatto con ciascuna delle persone incluse nella tabella Contatti. Per creare una query di questo tipo in modalità progettazione, attenersi alla seguente procedura:

1. Nella finestra del database, fare clic sul pulsante Richieste.

2. Fare doppio clic sull'icona Crea una query in visualizzazione struttura.

3. Nella finestra di dialogo che si apre (Fig. 17.6), selezionare la riga Contatti.

4. Cliccando sul pulsante Aggiungere aggiungere la tabella selezionata all'area di progettazione della query in alto.

5. Evidenzia un elemento Elenco e fare nuovamente clic sul pulsante Aggiungere.

6. Cliccando sul pulsante chiudere chiudere la finestra di dialogo. Gli elenchi di campi di due tabelle collegate da una linea di collegamento appariranno nella finestra di progettazione.

7. Fare clic sul pulsante Operazioni di gruppo barra degli strumenti. Una riga aggiuntiva apparirà nel modulo di richiesta Operazione di gruppo A che permette di eseguire operazioni di aggregazione sui valori di specifici campi.

Riso. 17.6. Aggiunta di una tabella

8. Trascinare il campo Cognome nella cella Campo la prima colonna del costruttore.

9. Nella stessa cella della seconda colonna, trascinare il campo Nome tabelle Contatti.

10. Nella terza, quarta e quinta colonna del modulo di richiesta trascinare il campo Data Elenco tabelle (Fig. 17.7).

11. Rilascia cella Operazione di gruppo nella terza colonna del modulo di richiesta, seleziona una voce min.

12. Nella stessa cella della quarta colonna, selezionare l'elemento max.

13. Nella quinta colonna, impostare l'operazione di gruppo Conteggio. Le operazioni di gruppo della query costruita elaboreranno tutti i record della tabella List corrispondenti a una persona specifica della tabella Contatti e al posto dei dati della tabella List stessa verrà visualizzato solo il valore del valore calcolato da una determinata formula in il campo corrispondente del risultato della query. Le operazioni di gruppo disponibili sono elencate nella tabella. 17.1.

TABELLA 17.1. Operazioni di gruppo

Nome Funzione
CondizioneLa modalità per specificare la condizione di selezione per un campo che non è raggruppato. Access rende automaticamente nascosto tale campo
EspressioneUn campo calcolato il cui valore viene calcolato utilizzando una formula complessa
Raggruppa perUn campo che definisce il gruppo di record su cui vengono calcolate le statistiche. Un gruppo include tutti i record per i quali i valori del campo con la modalità Raggruppa per sono gli stessi
ScorsoUltimo valore nel gruppo
PrimoPrimo valore nel gruppo
VarVariazione dei valori dei campi
StDevDeviazione standard di valori zero dalla media
ContareNumero di record corrispondenti a zero che non contengono un valore Null
maxValore massimo
minValore minimo
mediaMedia del campo
sommaSomma dei valori dei campi in tutti i record

Nota Poiché il numero di record viene calcolato nel quinto campo della query, qualsiasi campo della tabella Elenco può essere inserito nella cella Campo di questa colonna.

14. Fare clic sul pulsante Visualizzazione per completare la richiesta. Apparirà una tabella con cinque colonne. Le prime due colonne contengono i cognomi e i nomi delle persone. Il raggruppamento viene eseguito da loro, ovvero il calcolo dei valori dei campi rimanenti della query viene eseguito per i record della tabella Elenco che corrispondono a una persona. Come accennato in precedenza, la corrispondenza tra un contatto della tabella Elenco e una persona della tabella Contatti è determinata dai campi Codice_Contatti, che servono per collegare queste due tabelle. La terza e la quarta colonna della query mostrano rispettivamente la data del primo (funzione Min) e dell'ultimo (funzione Max) contatto con la determinata persona. La quinta colonna contiene il numero di voci nella tabella Elenco (funzione Conteggio) che corrispondono. questa persona, cioè il numero di contatti con lui. L'unico inconveniente della query costruita sono i nomi oscuri delle colonne. Correggiamoli.

15. Fare clic su un pulsante Visualizzazione tornare al costruttore di query.

16. Nella cella Campo della terza colonna, sostituire il nome Data con il testo Data primo contatto: Data. Il lato destro di questa espressione, situato a destra dei due punti, specifica ancora il nome del campo e il lato sinistro specifica il nome della colonna del risultato della query. Pertanto, a qualsiasi colonna di query può essere assegnato un nome arbitrario.

17. Nella cella Campo della quarta colonna, immettere Data ultimo contatto: Data.

18. Nella prima riga della quinta colonna del modulo di richiesta, inserire Numero di contatti: Data.

Nota Sfortunatamente, una tale tecnica non è adatta per cambiare il nome di un campo il cui valore non viene calcolato, ma trasferito dalla tabella. Ovvero, in questo modo non sarà possibile rinominare il campo Nome.

19. Fare nuovamente clic sul pulsante Visualizzazione.

20. Chiudere la richiesta.

21. Per salvare le modifiche alla struttura, fare clic sul pulsante .

22. Nella finestra di dialogo Preservazione inserire il nome Query di riepilogo e fare clic sul pulsante ok.

Oggi parleremo in dettaglio delle query in Access.


Le query, come già sai, sono necessarie per lavorare con i dati nelle tabelle.
Per creare una richiesta...
1) ... nella finestra del database, apri Query
2) ...e crea una query usando il costruttore.



Si prega di NON utilizzare per creare richieste Maestro, perché ti permette di fare solo le query più semplici, e poi rifarle in quelle più avanzate è ancora più difficile che creare una query da zero nel costruttore.

Eliminazione delle righe vuote

Quando più tabelle sono collegate, possono verificarsi righe vuote.



Perché sta succedendo?
Il fatto è che nella nostra tabella tbPerson, insieme ai proprietari dei cani, sono registrati anche i giudici (Petrovskaya, Yelets, Tereshchuk). I giudici non hanno il diritto di portare i propri cani all'esposizione, quindi, nelle righe con i loro nomi, ci sono celle vuote con i nomi dei cani.
Esistono due modi per rimuovere le righe vuote.
1. Metti una condizione sul valore del soprannome del cane Non è nullo, cioè. NON VUOTO.



2. Oppure modificare il tipo di connessione tra tabelle nell'area tabelle: è necessario richiamare il menu contestuale sulla riga di connessione che dà un risultato impreciso, e modificare Opzioni di unione.



Domanda a te: quali impostazioni devono essere modificate nella finestra di dialogo delle opzioni di unione?

Query con calcoli

Finora abbiamo selezionato solo i record in base a diverse condizioni. Ma Access permette non solo di visualizzare i dati registrati nelle tabelle, ma anche di eseguire CALCOLI: determinare l'età per data di nascita; dal nome, cognome e patronimico per fare un cognome con iniziali; determinare il costo totale dell'acquisto in base al prezzo di un'unità di merce e alla sua quantità; in base alla data di emissione del libro in biblioteca, determinare l'importo della multa per debiti e molto altro. Per i calcoli vengono utilizzate funzioni integrate (simili a quelle che si trovano in Excel).


L'operazione più semplice è aggiunta di stringhe. Scriviamo un'espressione nella cella per visualizzare la seguente frase: proprietario dalla città cittadina .
Per fare ciò, scriviamo nella riga superiore della nuova colonna dell'area delle condizioni: + "dalla città" + .



I nomi dei campi sono scritti tra parentesi quadre, frammenti di stringhe - tra virgolette, tra loro ci sono segni di addizione.


Le espressioni per i calcoli sono scritte nella riga superiore ( Campo) area delle condizioni. Finora, abbiamo scritto le condizioni nelle righe di fondo ( Condizioni di selezione).


Per non confondersi: nella riga in alto scriviamo COSA visualizzare e poi (in basso) - in QUALI CONDIZIONI.


Esercizio: Scrivi un'espressione per visualizzare in una cella il cognome del proprietario e tra parentesi la città in cui vive. Come questo: Ivanov (Mosca). La città e il cognome devono essere sostituiti dalla tabella.

Costruttore di espressioni

Per semplificare la modifica delle espressioni, esiste un editor speciale: "Generatore di espressioni". Si presenta così:



E si chiama usando il menu contestuale: devi posizionare il cursore sulla cella in cui scriverai l'espressione:



Nel generatore di espressioni, puoi scegliere da una libreria di funzioni:



e dati dalle tabelle (è possibile utilizzare SOLO le tabelle utilizzate in questa query e visualizzate nell'area dati):



Quando si fa doppio clic su un nome di campo o una funzione dall'elenco, Access aggiunge spesso la parola "espressione" per indicare che altre funzioni e nomi di campo possono essere inseriti IN QUESTO POSTO. Non dimenticare di rimuovere le parole extra "espressione"!


Conosceremo il testo e le funzioni temporanee, nonché l'operatore condizionale Iif(condizione; se-vero; se-falso).


Testo le funzioni consentono di convertire variabili stringa:
Left("Ivanov"; 2) = "Iv" lascia n caratteri a sinistra
LCase("Ivanov") = Ivanov rende tutte le lettere minuscole
InStr(1; "Ivanov", "but") = 4 trova la sottostringa (terzo argomento) nella stringa (secondo argomento) ed è uguale alla posizione (dall'inizio) della sottostringa nella stringa
Len("Ivanov") = 6 stampa il numero di caratteri nella stringa
StrComp("Ivanov", "Petrov") = -1 confronta due stringhe: se sono uguali, restituisce 0
Altro…


Temporaneo consentono di lavorare con variabili temporanee:
Mese(#12.04.2007#) = 4
Anno(#12.04.2007#) = 2007
Giorno(#12.04.2007#) = 12.
Now() = 28/04/2008 14:15:42 (data e ora correnti)
Date() = 28/04/2008 (data odierna)
DateDiff("d"; #12.04.2007#; #28.04.2007#) = 16 trova la differenza tra due date ("d" - in giorni, "ww" - in settimane, "m" - in mesi, "aaaa "- in anni, ecc.)
Altro…


rompicapo gestire le espressioni condizionali:
Se(<=1; «щенок»; «взрослый») аналог функции ЕСЛИ из Ecxel.
Altro…


Esercizio: scrivi un'espressione che faccia un cognome con le iniziali di un cognome, nome e patronimico. Ivanov Ivan Ivanovich -> Ivanov I.I.
Esercizio
Esercizio
Aggiunta: Ci sono due modi per calcolare l'età di un cane, uno è più preciso, l'altro è meno:
1) sottraendo all'anno in corso l'anno di nascita del cane;
2) utilizzando la funzione DateDiff, calcola quanti giorni sono trascorsi dalla nascita ad oggi. Applicare un metodo in una delle attività, un altro nell'altra.

Richieste con un parametro

Quando corri richiesta con un parametro, a differenza della consueta richiesta di selezione, non viene eseguita immediatamente, ma prima nella finestra di dialogo chiede di chiarire alcune condizioni di selezione. Ad esempio, vogliamo ottenere informazioni complete su un cane con un determinato numero di torneo.



Questa richiesta è strutturata in questo modo:



Nel luogo in cui normalmente si trova la condizione di selezione, c'è ora una domanda (tra parentesi quadre) che verrà posta all'utente. E la risposta dell'utente, hai indovinato, verrà sostituita in questa cella come condizione di selezione.


Esercizio: crea una query che visualizzerà tutti i cani con il cognome del proprietario, che è un parametro libero.

Raggruppamento delle richieste

Con l'aiuto dei costruttori di espressioni, possiamo eseguire operazioni su una singola riga: aggiungere valori nelle celle, trasformare i dati.
Ma cosa succede se dobbiamo elaborare più righe contemporaneamente: calcolare la somma dei punti, trovare il numero di righe con lo stesso valore di un determinato campo?
Il raggruppamento viene utilizzato per questo (è molto simile al riepilogo in Excel).


Contiamo quanti cani di ogni razza sono venuti allo spettacolo. Per fare ciò, trasferiremo solo due campi nell'area delle condizioni: nickname e razza - e chiameremo una linea aggiuntiva operazioni di gruppo(tramite il menu contestuale nell'area delle condizioni):



Ora raggruppiamo i cani per razza e contiamo il numero di soprannomi diversi in ogni gruppo:



Riassumiamo i risultati della mostra e calcoliamo il punteggio medio per l'esterno, il punteggio medio per la formazione e la loro somma.


Aggiungere una tabella con segni (tbMarks) all'area della tabella. Raggruppiamo i punteggi in base al numero del torneo del cane e scegliamo il valore medio medio tra le operazioni di gruppo. media- la media).


Eseguire la query e in modalità di visualizzazione notare che le colonne con operazioni di gruppo hanno un doppio nome (operazione + nome campo). Questo ci sarà utile per calcolare i punti totali.





Puoi anche arrotondare i valori a una cifra decimale: Tondo(+;1)


Esercizio: scopri quale cane ha causato le opinioni più contrastanti dei giudici. Per fare ciò, sottrarre il punteggio minimo dal punteggio massimo.

Richieste di modifica, rimozione, aggiunta

Nella prima lezione abbiamo già parlato del fatto che le query consentono non solo di visualizzare i dati dalle tabelle, ma anche di modificare i record: aggiungerne di nuovi, eliminare, modificare. Il tipo di richiesta può essere modificato utilizzando l'elenco delle richieste sulla barra degli strumenti.



Alla vigilia della mostra, l'operatore della banca dati ha ricevuto nuove informazioni:
1) Il cane di Desi è malato e non potrà partecipare alla mostra;
2) per errore, il Guardian, che in realtà è un setter inglese, è stato indicato come un setter irlandese;
3) Il proprietario di Migunova ha chiesto un altro suo cane (nome: Harry, razza: Gordon Setter, sesso: m, data di nascita: 15.09.07).


Iniziamo a modificare il database.
1) Elimina il record da Desi.
Crea una query quDelDog. Tipo di richiesta: elimina. Con una modifica del tipo di richiesta, anche l'area delle condizioni cambia leggermente. C'è una nuova cellula Rimozione. Sotto di esso, specifichi la condizione in base alla quale desideri selezionare i record da eliminare. Anche se si specifica una condizione di selezione per un campo, l'INTERO record verrà eliminato.



Dopo aver cliccato sul "punto esclamativo", sullo schermo apparirà un messaggio che informa che la voce è stata cancellata. Ora aperto tbTavolo per cani e assicurati che Desi non ci sia.


2) Chiedi al Guardian di cambiare il setter irlandese in un setter inglese.
Crea una query quUpdateDog. Tipo di richiesta - aggiornamento. Troviamo Guardian e aggiorniamo la sua razza.



Aprire tbTavolo per cani e assicurati che la razza Guardian sia un Setter inglese.


3) Aggiungi una voce con Harry.
Crea una query quAddDog. Tipo di richiesta - per l'aggiunta. Le query di aggiunta hanno una particolarità: nell'area della tabella NON vengono visualizzate quelle tabelle DOVE si aggiunge un record, ma DOVE si prendono i dati (se richiesto). Specificare la tabella di destinazione (a cui vengono aggiunti i record) nella finestra di dialogo che appare non appena si imposta il tipo di query (da aggiungere):



Poiché non stiamo prendendo dati da altre tabelle, ma stiamo creando un nuovo record, l'area della tabella deve essere VUOTA! (non dovrebbe esserci alcun tavolo). Nell'area delle condizioni sulla linea Campo scrivi COSA aggiungere (un nuovo valore per ogni campo) e nella riga Addendum DOVE (nomi dei campi):



Aprire tbTavolo per cani e assicurati che ci sia Harry!

Linguaggio di interrogazione SQL

Quando si fa clic sul "punto esclamativo", la richiesta viene eseguita. Ecco come appare a un principiante.
I professionisti sanno che in effetti, in questo momento, viene eseguita un'istruzione in uno speciale linguaggio di query SQL. Il fatto è che Access non è l'unico sistema di gestione di database (DBMS). Forse hai sentito parlare di DBMS su Internet come MySQL, FreeBSD??? Access offre semplicemente un'interfaccia molto comoda per lavorare con il database e in altri CS non è presente alcun pulsante con un punto esclamativo. Ma c'è sempre una finestra speciale in cui puoi scrivere istruzioni SQL.
Access consente inoltre di modificare le query in modalità istruzione SQL:



Le regole del linguaggio SQL non sono così complicate. Puoi vederlo da solo! Fai una semplice query di selezione (ad esempio, stampa il nome, la razza e la data di nascita di un cane di nome Harry). Ora apri la query di ricerca di Harry in modalità SQL!
Le istruzioni sono molto semplici:
SELEZIONA campo1, campo2, ...
DA tabella1, tabella2, ...
DOVE condizione1, condizione2,...


Ora apri l'aggiornamento, aggiorna, elimina le query (quDelDog, quUpdateDog, quAddDog) in modalità SQL e annota i loro modelli di istruzioni SQL su un pezzo di carta (come hai appena fatto per la query di selezione).


Le query con un parametro, le query per il raggruppamento, le query con calcoli sono le stesse query SQL, ma con condizioni di selezione leggermente più complesse. Il linguaggio SQL è uno strumento indispensabile per chi lavora con i database!

Compiti

Ecco gli argomenti che abbiamo trattato:
- condizioni di selezione semplici e composte
- Operatore MI PIACE
- selezione da più tabelle
- costruttore di espressioni
- richieste con un parametro
- richieste di gruppo
- richieste di aggiornamento, aggiunta, eliminazione
- Linguaggio di query SQL.


Ci sono molti! Ma, una volta che li avrai padroneggiati, sarai in grado di trovare qualsiasi informazione nel database.


Prova la tua conoscenza! Esegui le seguenti query sul tuo database (o rinomina quelle che hai già eseguito in modo che corrispondano ai nomi delle attività):

1. campionamento

quSelectDog: Trova tutti i Setter Shar-Peis e Gordon delle regioni (NON da Mosca); utilizzare l'operatore "non uguale".

2. Come operatore

come: Trova tutti gli abbonati MTS (quelli il cui numero di cellulare inizia con 8(916)...).

3. espressioni

quEvalText: Scrivi un'espressione che faccia un cognome con le iniziali di un cognome, nome e patronimico. Ivanov Ivan Ivanovich -> Ivanov I.I.
quEvalDate: Scrivi un'espressione che calcola quanti anni ha un cane in base alla sua data di nascita.
quEvalIif: scrivi un'espressione che determini in base all'età in quale categoria di età il cane si esibisce: "cucciolo" - fino a un anno; "junior" - da uno a due anni; "senior" - più di due anni.
Aggiunta: Applica in un compito un modo per calcolare l'età di un cane, in un altro - un altro: 1) sottrai l'anno di nascita del cane dall'anno in corso; 2) utilizzando la funzione DateDiff, calcola quanti giorni sono trascorsi dalla nascita ad oggi.

4. parametro

quParametro: crea una query che visualizzerà tutti i cani in base al cognome del proprietario, che è un parametro gratuito.

5. raggruppamento

quGroup: Scopri quale cane ha causato le opinioni più contrastanti dei giudici.

6. modifica del database

Poco prima dello spettacolo, il proprietario Gorokhovets è partito per la residenza permanente (residenza permanente) in Germania e ha dato tutti i cani al suo amico Karpov Mikhail Igorevich. Necessario:
1) quAddOwner: aggiungi nuovo record proprietario;
2) quUpdateOwner: cambia l'ID proprietario per i cani Gorokhovets in Karpov ID;
3) quDelProprietario: rimuove Gorokhovets dal database.


Sto aspettando il tuo database con le attività completate, nonché i modelli di istruzioni SQL per le richieste di aggiornamento, modifica, eliminazione.