Creare e utilizzare sottoreport

Quando si utilizzano dati relazionali in cui i dati correlati sono memorizzati in tabelle separate, è spesso necessario visualizzare informazioni da più tabelle o query nello stesso report. Ad esempio, si desidera visualizzare i dati del cliente e contemporaneamente informazioni sui relativi ordini. A questo scopo è utile utilizzare un sottoreport, in quanto consente di visualizzare le informazioni sugli ordini nel report insieme alle informazioni sul cliente, in un modo logico e di facile lettura. In Microsoft Office Access 2007 sono disponibili molti modi per creare velocemente sottoreport.

Per saperne di più

Informazioni sui sottoreport

Creare un sottoreport

Apportare modifiche alla struttura di un sottoreport

Informazioni sui sottoreport

Un sottoreport è un report inserito in un altro report. Quando si combinano più report, uno di essi deve servire come report principale che contiene gli altri report. Un report principale può essere associato o non associato. Un report associato consente di visualizzare dati e nella relativa proprietà Origine record è specificata una tabella, una query o un'stringa/istruzione SQL. Un record non associato non è basato su una tabella, una query o un'istruzione SQL, vale a dire che la proprietà Origine record del report è vuota.

Esempio di report principale non associato con due sottoreport non correlati    

Un report principale non associato non conente di visualizzare dati del report stesso, ma può comunque servire da contenitore per i sottoreport non correlati che si desidera combinare.

Report principale non associato con due sottoreport in cui sono visualizzati dati non correlati

1. Il report principale non associato contiene due sottoreport.

2. In un sottoreport sono riepilogate le vendite per dipendente.

3. Nell'altro sottoreport sono riepilogate le vendite per categoria.

Esempio di report principale e sottoreport associati alla stessa origine record    

È possibile utilizzare il report principale per visualizzare i record di dettaglio, ad esempio tutte le vendite di un anno, quindi utilizzare un sottoreport per visualizzare informazioni di riepilogo, come le vendite totali per ogni trimestre.

Report principale e sottoreport associati alla stessa origine record

1. Nel sottoreport sono riepilogate le vendite annuali per trimestre.

2. Nel report principale sono elencate le vendite quotidiane.

Esempio di report principale e sottoreport associati a origini record correlate    

Un report principale può contenere dati comuni a uno o più sottoreport. In questo caso il sottoreport contiene dati correlati ai dati presenti nel report principale.

Report contenente due sottoreport in cui sono visualizzati dati correlati

1. Nel report principale sono elencati il nome e la città di ogni fiera.

2. Nel sottoreport sono elencati i rappresentanti che parteciperanno a ogni fiera.

Sottomaschere di un report

Oltre ai sottoreport, in un report principale possono essere incluse sottomaschera. Non sono previsti limiti al numero di sottomaschere e sottoreport che è possibile aggiungere. Un report principale può inoltre contenere fino a sette livelli di sottomaschere e sottoreport. Ad esempio, un report può contenere un sottoreport che a sua volta può contenere una sottomaschera o un sottoreport e così via fino a sette livelli di profondità.

Se si aggiunge una sottomaschera a un report, quindi si apre il report in visualizzazione Report, sarà possibile utilizzare la sottomaschera per filtrare i record e passare da un record all'altro. Il codice Visual Basic, Applications Edition (VBA) e le macro incorporate associati alla maschera e ai relativi controlli continueranno a essere eseguiti, anche se in questo contesto alcuni eventi saranno disattivati. Non è possibile aggiungere, modificare o eliminare record utilizzando una sottomaschera in un report.

Collegamento di un report a una sottomaschera o un sottoreport

Quando si inserisce una sottomaschera o un sottoreport che contiene informazioni correlate ai dati presenti nel report principale, è necessario che il sottoreport sia collegato al report principale in modo che i record visualizzati nella sottomaschera o nel sottoreport corrispondano esattamente a quelli stampati nel report principale.

Quando si crea una sottomaschera o un sottoreport utilizzando una creazione guidata oppure trascinando un oggetto dal riquadro di spostamento in un report, la sottomaschera o il sottoreport viene collegato automaticamente al report principale se viene soddisfatta una delle seguenti condizioni.

  • Vengono definite relazione per le tabelle selezionate o per le tabelle sottostanti le query selezionate.

    Per ulteriori informazioni sulla creazione di relazioni, fare clic sui collegamenti disponibili nella sezione Vedere anche.

  • Il report principale è basato su una tabella con una chiave primaria e la sottomaschera o il sottoreport è basato su una tabella che contiene un campo con lo stesso nome della chiave primaria e con un tipo di dati uguale o compatibile. Se, ad esempio, la chiave primaria della tabella sottostante il report principale è un campo Contatore e la proprietà Dimensione campo è impostata su Intero lungo, il campo corrispondente della tabella sottostante la sottomaschera o il sottoreport deve essere un campo di tipo Numerico con la proprietà Dimensione campo impostata su Intero lungo. Se come origine record di una sottomaschera o un sottoreport si selezionano una o più query, è necessario che le tabelle sottostanti contenute nella query o nelle query soddisfino le stesse condizioni.

Torna all'inizio

Creare un sottoreport

Se il sottoreport sarà collegato al report principale, prima di eseguire la procedura riportata di seguito assicurarsi che le origine record sottostanti siano relazione. Per ulteriori informazioni sulla creazione di relazioni, fare clic sui collegamenti disponibili nella sezione Vedere anche.

Utilizzare la Creazione guidata Sottoreport per creare un sottoreport

  1. Aprire il report che si desidera utilizzare come report principale in visualizzazione Struttura.

  2. Nel gruppo Controlli della scheda Progettazione verificare che sia selezionato Usa creazioni guidate Controllo Icona del pulsante . Icona del pulsante

  3. Nel gruppo Controlli della scheda Struttura fare clic su Sottomaschera/sottoreport Icona del pulsante .

  4. Fare clic nel report in corrispondenza del punto in cui si desidera posizionare il sottoreport.

  5. Nella prima pagina della Creazione guidata Sottoreport fare clic su Usa tabelle e query esistenti se si desidera creare una nuova sottomaschera o un nuovo sottoreport basato su una tabella o una query. Per utilizzare un report o una maschera esistente come sottoreport, fare clic su Usa un report o una maschera esistente, selezionare il report o la maschera dall'elenco, quindi scegliere Avanti.

    Scelta dell'origine dati nella Creazione guidata Sottoreport

  6. Se nella pagina precedente della creazione guidata è stato scelto Usa un report o una maschera esistente, ignorare questo passaggio e andare direttamente al passaggio 7. In caso contrario, dall'elenco Tabelle/query selezionare la tabella o la query che contiene i campi da includere nel sottoreport, quindi fare doppio clic sui campi desiderati nell'elenco Campi disponibili per aggiungerli al sottoreport.

    Scelta di campi nella Creazione guidata Sottoreport

    Se si prevede di collegare il sottoreport al report principale, includere il campo o i campi che verranno utilizzati per creare il collegamento, anche se non si desidera visualizzarli. In genere il campo per il collegamento è un campo ID. Nella figura precedente la tabella Ordini è l'origine record del sottoreport, mentre la tabella Clienti è l'origine record del report principale. Poiché la tabella Ordini è correlata alla tabella Clienti mediante il campo ID cliente, il campo viene aggiunto all'elenco Campi selezionati.

    Nota : Nel sottoreport è possibile includere campi da più tabelle e query. Dopo avere completato l'aggiunta di campi da una tabella, selezionare la tabella o la query successiva dall'elenco Tabelle/query, quindi aggiungere i campi desiderati.

    Fare clic su Avanti per continuare.

  7. In questa pagina della creazione guidata si determina come collegare il sottoreport al report principale. Se in Access vengono trovati campi apparentemente adatti per il collegamento del sottoreport al report principale, verrà visualizzato un elenco di possibili suggerimenti per il collegamento.

    Campi suggeriti per il collegamento nella Creazione guidata Sottoreport

    È possibile selezionare il suggerimento per il collegamento che si ritiene più adatto per una particolare situazione oppure, se non si desidera collegare il sottoreport al report principale, selezionare Nessuno. Per collegare il sottoreport al report principale qualora nessuno dei suggerimenti risulti appropriato, fare clic su Definizione personalizzata.

    Nota : Se la creazione guidata non è in grado di trovare automaticamente campi adatti per il collegamento, non verrà visualizzato alcun elenco di suggerimenti e verrà selezionata automaticamente l'opzione Definizione personalizzata.

    Definizione di collegamenti personalizzati nella Creazione guidata Sottoreport

    Quando si seleziona l'opzione Definizione personalizzata, vengono visualizzati automaticamente due gruppi di elenchi.

    • In Campi maschera/report selezionare il campo o i campi presenti nel report principale che si desidera utilizzare per il collegamento alla sottomaschera o al sottoreport. È possibile selezionare un massimo di tre campi e ognuno di essi dovrà corrispondere a un campo correlato nell'origine dati della sottomaschera o del sottoreport.

    • In Campi sottomaschera/sottoreport selezionare il campo o i campi corrispondenti nella sottomaschera o nel sottoreport collegati ai campi selezionati nel report principale.

    • Per lasciare la sottomaschera o il sottoreport scollegato dal report principale, assicurarsi che tutti gli elenchi siano vuoti.

      Fare clic su Avanti per continuare.

  8. Nell'ultima pagina della creazione guidata digitare il nome della sottomaschera o del sottoreport o fare clic su Fine per accettare le impostazioni predefinite.

    Aggiunta del nome nella Creazione guidata Sottoreport

Al report viene aggiunto automaticamente un controllo sottomaschera/sottoreport che viene associato, ovvero viene impostata la relativa proprietà Oggetto origine, come segue:

  • Se nella prima pagina della creazione guidata è stata selezionata l'opzione Usa un report o una maschera esistente, il sottoreport viene associato al report o alla maschera specificata.

  • Se nella prima pagina della creazione guidata è stata selezionata l'opzione Usa tabelle e query esistenti, viene creato automaticamente un oggetto report nel riquadro di spostamento a cui viene associato il sottoreport. Il nome del nuovo oggetto report corrisponde al nome digitato nell'ultima pagina della creazione guidata.

Aggiungere una tabella, una query, una maschera o un report a un report come sottoreport

Per aggiungere velocemente un sottoreport a un report, aprire il report principale in visualizzazione Struttura, quindi trascinarvi un oggetto dal riquadro di spostamento. Se si desidera collegare la sottomaschera o il sottoreport al report principale, assicurarsi che le origine record sottostanti siano relazione e che includano i campi utilizzati per collegare la sottomaschera o il sottoreport al report principale. Per ulteriori informazioni sulla creazione di relazioni, fare clic sui collegamenti disponibili nella sezione Vedere anche.

  1. Nel riquadro di spostamento fare clic con il pulsante destro del mouse sul report che si desidera utilizzare come report principale, quindi scegliere Visualizzazione Struttura dal menu di scelta rapida.

  2. Trascinare una tabella, una query, una maschera o un altro report dal riquadro di spostamento alla sezione del report principale in cui si desidera visualizzare il sottoreport.

Viene eseguita automaticamente una delle seguenti operazioni:

  • Se Access è in grado di determinare come collegare i due oggetti, viene aggiunto un sottoreport al report. Se si aggiunge una maschera o un report, il sottoreport viene associato a quell'oggetto. Se si aggiunge una tabella o una query, viene prima creato un oggetto report, quindi il sottoreport viene associato al nuovo oggetto.

  • Se Access non è in grado di determinare come collegare i due oggetti, viene visualizzata la Creazione guidata Sottoreport. Per continuare, attenersi alla procedura descritta nella sezione Creare un sottoreport, iniziando dal passaggio 7.

    Al termine della creazione guidata, il sottoreport verrà aggiunto al report.

Per verificare che la sottomaschera o il sottoreport sia collegato correttamente al report principale, utilizzare la seguente procedura.

  1. Fare clic sul sottoreport per selezionarlo.

  2. Se la finestra delle proprietà non è visualizzata, premere F4 per visualizzarla.

  3. Nella scheda Dati della finestra delle proprietà esaminare le proprietà Collega campi master e Collega campi secondari.

    • Per una sottomaschera o un sottoreport non collegato entrambe le proprietà dovranno essere vuote.

    • Per una sottomaschera o un sottoreport collegato, nelle proprietà Collega campi master e Collega campi secondari dovranno essere visualizzati il campo o i campi correlati a entrambi gli oggetti. Ad esempio, se nel report principale sono visualizzate informazioni dalla tabella Dipendenti e nella sottomaschera o nel sottoreport sono visualizzate informazioni dalla tabella Ordini, nella proprietà Collega campi master dovrà essere visualizzato il campo ID dalla tabella Dipendenti e nella proprietà Collega campi secondari dovrà essere visualizzato il campo ID dipendente dalla tabella Ordini.

È possibile che per consentire il corretto funzionamento della sottomaschera o del sottoreport sia necessario modificare queste proprietà. In questo caso, attenersi alla procedura riportata di seguito.

  1. Nella scheda Dati della finestra delle proprietà fare clic sulla casella della proprietà Collega campi master, quindi fare clic su Builder button .

    Verrà visualizzata la finestra di dialogo Collegamento campi sottoreport.

    Finestra di dialogo Collegamento campi sottoreport

  2. Negli elenchi Campi master e Campi secondari selezionare i campi con cui si desidera collegare i report. In caso di dubbio sui campi da utilizzare, fare clic su Suggerimento per tentare di determinare automaticamente i campi per il collegamento. Al termine, scegliere OK.

    Se il campo che si desidera utilizzare per il collegamento del report non viene visualizzato, sarà necessario modificare l'origine record del report principale oppure della sottomaschera o del sottoreport per assicurarsi che contenga il campo per il collegamento. Ad esempio, se il report è basato su una query, assicurarsi che il campo per il collegamento sia presente nei risultati della query.

  3. Salvare il report principale e passare alla visualizzazione Report, quindi verificare che il report funzioni come previsto.

Aggiungere una tabella o una query a un report come foglio dati

Un foglio dati è una semplice rappresentazione visiva dei dati analoga a un foglio di calcolo. Ogni colonna di un foglio dati rappresenta un campo nella tabella o nella query di origine e ogni riga rappresenta un record. Per visualizzare un foglio dati in un report, è possibile utilizzare Sottomaschera/sottoreport. L'utilizzo di questa tecnica risulta molto utile nelle situazioni in cui si desidera una visualizzazione compatta dei dati e non è necessario disporre delle funzionalità di formattazione di un oggetto maschera o report. Per aggiungere un foglio dati a un report:

  1. Nel riquadro di spostamento fare clic con il pulsante destro del mouse sul report che si desidera utilizzare come report principale, quindi scegliere Visualizzazione Struttura dal menu di scelta rapida.

  2. Nel gruppo Controlli della scheda Progettazione verificare che non sia selezionato Usa creazioni guidate Controllo. Icona del pulsante

  3. Nel gruppo Controlli della scheda Struttura fare clic sullo strumento Sottomaschera/sottoreport Icona del pulsante .

  4. Fare clic nel report in corrispondenza del punto in cui si desidera posizionare il sottoreport.

  5. Se viene avviata la Creazione guidata Sottoreport, fare clic su Annulla per chiuderla.

  6. Se la finestra delle proprietà non è visualizzata, premere F4 per visualizzarla.

  7. Nel report fare clic sul nuovo sottoreport per selezionarlo.

  8. Nella scheda Dati della finestra delle proprietà fare clic sulla freccia nella casella della proprietà Oggetto origine, quindi selezionare la tabella o la query che si desidera visualizzare nel sottoreport. Ad esempio, per visualizzare la tabella Ordini, fare clic su Tabella.Ordini.

    In base alle relazioni definite nel database, verrà effettuato il tentativo di collegare il foglio dati al report principale.

  9. Nella scheda Dati della finestra delle proprietà esaminare le proprietà Collega campi master e Collega campi secondari.

    • Per un foglio dati non collegato, assicurarsi che entrambe le proprietà siano vuote.

    • Per un foglio dati collegato, nelle proprietà Collega campi master e Collega campi secondari verranno visualizzati il campo o i campi che mettono in relazione il report principale con il foglio dati. Ad esempio, se nel report principale sono visualizzate informazioni dalla tabella Dipendenti e nel foglio dati sono visualizzate informazioni dalla tabella Ordini, nella proprietà Collega campi master dovrà essere visualizzato il campo ID dalla tabella Dipendenti e nella proprietà Collega campi secondari dovrà essere visualizzato il campo ID dipendente dalla tabella Ordini.

In alcuni casi potrebbe essere necessario impostare manualmente le proprietà del campo per il collegamento. A questo scopo è possibile utilizzare la procedura riportata di seguito.

  1. Nella scheda Dati della finestra delle proprietà fare clic sulla casella della proprietà Collega campi master, quindi fare clic su Builder button .

    Verrà visualizzata la finestra di dialogo Collegamento campi sottoreport.

    Finestra di dialogo Collegamento campi sottoreport

  2. Negli elenchi Campi master e Campi secondari selezionare i campi che si desidera utilizzare per collegare il report principale al foglio dati. In caso di dubbio sui campi da utilizzare, fare clic su Suggerimento per tentare di determinare automaticamente i campi per il collegamento. Al termine, scegliere OK.

    Se un campo che si desidera utilizzare per il collegamento non viene visualizzato, sarà necessario modificare l'origine record del report principale o del foglio dati per assicurarsi che contenga il campo per il collegamento. Ad esempio, se il foglio dati è basato su una query, assicurarsi che il campo per il collegamento sia presente nei risultati della query.

  3. Salvare il report principale e passare alla visualizzazione Report, quindi verificare che il report funzioni come previsto.

Torna all'inizio

Apportare modifiche alla struttura di un sottoreport

Dopo avere aggiunto un sottoreport a un report, potrebbe essere necessario apportare modifiche alla struttura del sottoreport o fare riferimento ai dati del sottoreport nel report principale. Nelle sezioni che seguono vengono forniti suggerimenti su come svolgere queste attività.

Aprire una sottomaschera o un sottoreport in una nuova finestra in visualizzazione Struttura

Per apportare modifiche alla struttura di una sottomaschera o di un sottoreport mentre si sta utilizzando il report principale in visualizzazione Struttura, è possibile aprire la sottomaschera o il sottoreport in una finestra separata.

  1. Fare clic sulla sottomaschera o sul sottoreport per selezionarlo.

  2. Nel gruppo Strumenti della scheda Struttura fare clic su Sottoreport in nuova finestra Icona del pulsante .

Nota : Questo comando non è disponibile in caso di associazione della sottomaschera o del sottoreport a una tabella o una query.

Visualizzare un totale da un sottoreport nel report principale

Si supponga di utilizzare un sottoreport denominato Totale costi di spedizione e che nella casella di testo venga calcolata la somma della colonna Costi di spedizione. Per visualizzare la somma dal sottoreport nel report principale, è necessario aggiungere una casella di testo al report principale, quindi utilizzare un'espressione per fare riferimento alla casella di testo Totale costi di spedizione nel sottoreport. A questo scopo è possibile utilizzare la procedura riportata di seguito.

  1. Fare clic con il pulsante destro del mouse sul report principale nel riquadro di spostamento, quindi scegliere Visualizzazione Struttura dal menu di scelta rapida.

  2. Nel gruppo Controlli della scheda Struttura fare clic su Casella di testo. Icona del pulsante

  3. Nel report principale fare clic nel punto in cui si desidera inserire la nuova casella di testo.

  4. Se la finestra delle proprietà non è visualizzata, premere F4 per visualizzarla.

  5. Nella scheda Dati della finestra delle proprietà selezionare la seguente espressione nella casella della proprietà Origine controllo.

    =IIf(IsError([Sottoreport Ordini].[Report]![Totale costi di spedizione]),0,[Sottoreport Ordini].[Report]![Totale costi di spedizione])

    Note : 

    • In questo esempio sarebbe possibile utilizzare l'espressione più semplice =[Sottoreport Ordini].[Report]![Totale costi di spedizione] ma in questo caso, se il sottoreport non contiene dati, nel controllo presente nel report principale verrà visualizzato #Errore. Utilizzando invece la funzione IsError all'interno della funzione IIf, come descritto nella prima espressione, qualora il sottoreport non dovesse restituire dati, nella casella di testo nel report principale verrà visualizzato uno zero (0).

    • Per creare l'espressione è possibile utilizzare il Generatore di espressioni facendo clic su Builder button nella finestra delle proprietà Origine controllo.

  6. Nella scheda Formato della finestra delle proprietà impostare la proprietà Formato sul valore corretto, in questo caso Valuta.

  7. Salvare il report, quindi passare alla visualizzazione Report per verificare che il calcolo funzioni come previsto.

Torna all'inizio

Amplia le tue competenze
Esplora i corsi di formazione
Ottieni in anticipo le nuove caratteristiche
Partecipa al programma Office Insider

Queste informazioni sono risultate utili?

Grazie per i tuoi commenti e suggerimenti

Grazie per il tuo feedback! Potrebbe essere utile metterti in contatto con uno dei nostri operatori del supporto di Office.

×