Quando si usano dati relazionali in Access, spesso è necessario visualizzare più tabelle o query nella stessa maschera. Si potrebbe, ad esempio, visualizzare contemporaneamente i dati dei clienti da una tabella e le informazioni sugli ordini dei clienti da un'altra tabella. Le sottomaschere semplificano questa operazione e Access offre diversi modi rapidi per crearle.
Per saperne di più
- Informazioni sulle sottomaschere
- Creare o aggiungere una sottomaschera
- Creare una maschera che contiene una sottomaschera usando la Creazione guidata Maschera
- Aggiungere una o più sottomaschere a una maschera esistente usando la Creazione guidata Sottomaschera
- Creare una sottomaschera trascinando una maschera in un'altra
- Aprire una sottomaschera in una nuova finestra in visualizzazione Struttura
- Cambiare la visualizzazione predefinita di una sottomaschera
- Aggiungere dati correlati a una maschera senza creare una sottomaschera
Informazioni sulle sottomaschere
Una sottomaschera è un modulo inserito in un altro modulo. La maschera primaria è denominata maschera principale e la maschera allegata è denominata sottomaschera. Una combinazione di maschera/sottomaschera viene talvolta definita maschera gerarchica, maschera master/dettaglio o maschera padre/secondaria.
Le sottomaschere sono particolarmente indicate quando si vogliono visualizzare dati da tabelle o query con una relazione uno-a-molti. In questo tipo di relazione, il valore di chiave primaria di ogni record della tabella primaria corrisponde al valore del campo o dei campi corrispondenti di molti record nella tabella correlata. Ad esempio, è possibile creare una maschera per visualizzare i dati dei dipendenti e una sottomaschera per visualizzare gli ordini di ogni dipendente. I dati nella tabella Dipendenti rappresentano il lato "uno" della relazione. I dati nella tabella Ordini rappresentano il lato "molti" della relazione, perché ogni dipendente può avere più ordini.
La maschera principale mostra i dati dal lato "uno" della relazione.
La sottomaschera mostra i dati dal lato "molti" della relazione.
La maschera principale e la sottomaschera sono collegate in modo che nella sottomaschera vengano visualizzati solo i record correlati al record corrente nella maschera principale. Ad esempio, quando nella maschera principale vengono visualizzate le informazioni su Francesca Leonetti, nella relativa sottomaschera vengono visualizzati solo gli ordini relativi a questa dipendente. Se il modulo e la sottomaschera fossero scollegati, la sottomaschera visualizzerebbe tutti gli ordini, non solo quelli di Nancy.
Nella tabella seguente sono definiti i termini correlati alle sottomaschere. Access gestisce la maggior parte dei dettagli se si usano le procedure descritte in questo articolo, ma è utile sapere cosa succede dietro le quinte se è necessario apportare modifiche in un secondo momento.
| Termine | Definizione |
|---|---|
| Controllo Sottomaschera | Controllo che incorpora una maschera in un'altra maschera. Si consideri il controllo Sottomaschera come una "visualizzazione" di un altro oggetto del database, che si tratti di un'altra maschera, di una tabella o di una query. Il controllo Sottomaschera implementa le proprietà che consentono di collegare i dati visualizzati nel controllo ai dati della maschera principale. |
| Proprietà Oggetto origine | Proprietà del controllo Sottomaschera che determina quale oggetto viene visualizzato nel controllo. |
| Foglio dati | Tipo di visualizzazione in cui i dati sono disposti in righe e colonne, in modo analogo a un foglio di calcolo. Il controllo Sottomaschera visualizza un foglio dati quando l'oggetto di origine è una tabella o una query oppure quando l'oggetto di origine è una maschera la cui Default View proprietà è impostata su Datasheet. In questi casi, la sottomaschera viene talvolta definita foglio dati o foglio dati secondario anziché sottomaschera. |
| Proprietà Collega campi secondari | La proprietà del controllo sottomaschera che specifica il campo o i campi della sottomaschera che lo collegano alla maschera principale. |
| Proprietà Collega campi master | La proprietà del controllo sottomaschera che specifica il campo o i campi della maschera principale che lo collegano alla sottomaschera. |
Nota
- Per ottenere risultati ottimali, stabilire le relazioni tra le tabelle prima di eseguire le procedure descritte in questo articolo. In questo modo Access creerà automaticamente i collegamenti tra le sottomaschere e le maschere principali. Per visualizzare, aggiungere o modificare le relazioni tra le tabelle del database, nel gruppo Relazioni della scheda Strumenti database fare clic su Relazioni.
- Se un controllo sottomaschera ha una maschera come oggetto di origine, contiene i campi inseriti nella maschera. È possibile visualizzarla come maschera singola, maschera continua o foglio dati. Un vantaggio di basare una sottomaschera su un oggetto modulo è che è possibile aggiungere campi calcolati alla sottomaschera, ad esempio
[Quantity] * [Unit price]. - È possibile inserire una visualizzazione Foglio dati o Tabella pivot in una maschera creando un controllo sottomaschera il cui oggetto origine è una tabella o una query. Per ulteriori informazioni, vedere la sezione Aggiungere dati correlati a una maschera senza creare una sottomaschera.
Inizio pagina
Creare o aggiungere una sottomaschera
Utilizzare la tabella seguente per determinare la procedura più appropriata per la propria situazione.
| Scenario | Procedura consigliata |
|---|---|
| Si desidera che in Access vengano create una maschera principale e una sottomaschera e che la sottomaschera venga collegata alla maschera principale. | Creare una maschera che contiene una sottomaschera usando la Creazione guidata Maschera |
| Si desidera utilizzare una maschera esistente come maschera principale, ma si desidera che in Access venga creata una nuova sottomaschera da aggiungere alla maschera principale. | Aggiungere una o più sottomaschere a una maschera esistente usando la Creazione guidata Sottomaschera |
| Si desidera utilizzare una maschera esistente come maschera principale, nonché aggiungere ad essa uno o più maschere esistenti come sottomaschere. | Creare una sottomaschera trascinando una maschera in un'altra |
Creare una maschera contenente una sottomaschera utilizzando la Creazione guidata Maschera
Questa procedura consente di creare una nuova combinazione di maschera e sottomaschera utilizzando la Creazione guidata Maschera. È anche il modo più rapido per iniziare se non sono ancora state create le maschere da usare come maschera principale o sottomaschera.
Nel gruppo Maschere della scheda Crea fare clic su Creazione guidata Maschera.
Nell'elenco a discesa Tabelle/query nella prima pagina della procedura guidata selezionare una tabella o una query. In questo esempio, per creare una maschera Dipendenti che visualizzi gli ordini per ogni dipendente in una sottomaschera, selezionare Tabella: Dipendenti (il lato "uno" della relazione uno-a-molti).
Nota
L'ordine in cui le tabelle o le query vengono selezionate è irrilevante.
Fare doppio clic sui campi della tabella o della query che si desidera includere.
Nell'elenco a discesa Tabelle/query nella stessa pagina della procedura guidata selezionare un'altra tabella o query. In questo esempio selezionare la tabella Ordini (il lato "molti" della relazione uno-a-molti).
Fare doppio clic sui campi della tabella o della query che si desidera includere.
Se le relazioni sono state impostate in modo corretto prima di avviare la procedura guidata, quando si fa clic su Avanti verrà chiesto di Scegliere come visualizzare i dati, ovvero in base a quale tabella o query. Selezionare la tabella relativa al lato "uno" della relazione uno-a-molti. In questo esempio, per creare il modulo Dipendenti, selezionare per dipendenti. Verrà visualizzato un piccolo diagramma di una maschera. La pagina visualizzata dovrebbe essere simile a quella della figura seguente:
La casella nella parte inferiore del diagramma della maschera rappresenta la sottomaschera.
Nota
Se non viene chiesto di Scegliere come visualizzare i dati, significa che Access non ha trovato una relazione uno-a-molti tra le tabelle o le query selezionate. La procedura guidata continuerà, ma Access non aggiungerà alcuna sottomaschera alla maschera. Prima di continuare, è possibile fare clic su Annulla ed esaminare le relazioni tra tabelle.
Nella parte inferiore della pagina della creazione guidata, selezionare Maschera con sottomaschere e quindi fare clic su Avanti.
Nella pagina Scegliere il layout da applicare alla sottomaschera fare clic sull'opzione di layout desiderata e quindi su Avanti. Entrambi gli stili di layout dispongono i dati della sottomaschera in righe e colonne, ma un layout tabulare offre più opzioni. A una sottomaschera tabulare è possibile aggiungere colori, grafica e altri elementi di formattazione, mentre un foglio dati è più compatto, come la visualizzazione Foglio dati di una tabella.
Nella pagina successiva della procedura guidata selezionare uno stile di formattazione per la maschera e quindi fare clic su Avanti. Se si è scelto Tabulare nella pagina precedente, lo stile di formattazione scelto verrà applicato anche alla sottomaschera.
Nell'ultima pagina della creazione guidata, immettere i titoli che si desidera assegnare alle maschere. Le maschere vengono denominate da Access in base ai titoli immessi, mentre l'etichetta delle sottomaschere viene assegnata in base al titolo specificato per la sottomaschera.
Specificare se si desidera aprire la maschera in visualizzazione Maschera, per visualizzare o immettere informazioni, oppure in visualizzazione Struttura, per modificarne la struttura, quindi fare clic su Fine. In Access vengono create due maschere, una per la maschera principale che contiene il controllo sottomaschera e una per la sottomaschera stessa.
Inizio pagina
Aggiungere una o più sottomaschere a una maschera esistente usando la Creazione guidata Sottomaschera
Utilizzare questa procedura per aggiungere una o più sottomaschere a una maschera esistente. Per ogni sottomaschera è possibile scegliere di creare una nuova maschera o utilizzare una maschera esistente come sottomaschera.
- Fare clic con il pulsante destro del mouse sulla maschera esistente nel riquadro di spostamento e quindi scegliere Visualizzazione Struttura.
- Nel gruppo Controlli della scheda Struttura maschera fare clic sulla freccia in giù per visualizzare la raccolta Controlli e verificare che l'opzione Usa Creazione guidata controlli sia selezionata.
- Nel gruppo Controlli della scheda Struttura maschera fare clic sul pulsante Sottomaschera/Sottoreport.
- Fare clic sulla maschera in cui si desidera inserire la sottomaschera.
- Seguire le indicazioni visualizzate nelle pagine della procedura guidata. Quando si fa clic su Fine, viene aggiunto un controllo sottomaschera alla maschera. Se si è scelto di creare automaticamente una nuova maschera per la sottomaschera anziché usarne una esistente, Access crea il nuovo oggetto maschera e lo aggiunge al riquadro di spostamento.
Creare una sottomaschera trascinando una maschera in un'altra
Usare questa procedura se si desidera utilizzare una maschera esistente come maschera principale e aggiungervi una o più maschere esistenti come sottomaschere.
- Nel riquadro di spostamento fare clic con il pulsante destro del mouse sulla maschera che si desidera utilizzare come maschera principale e quindi scegliere Visualizzazione Layout.
- Trascinare la maschera da usare come sottomaschera dal riquadro di spostamento alla maschera principale. Access aggiunge un controllo sottomaschera alla maschera principale e associa il controllo alla maschera trascinata dal riquadro di spostamento. Access tenta inoltre di collegare la sottomaschera alla maschera principale, in base alle relazioni definite nel database.
- Ripetere questo passaggio per aggiungere ulteriori sottomaschere alla maschera principale.
- Per verificare il corretto collegamento, nel gruppo Visualizzazioni della scheda Home fare clic su Visualizzazione, su Visualizzazione Maschera e quindi utilizzare il selettore di record della maschera principale per avanzare di diversi record. Se la sottomaschera filtra correttamente i dati per ogni dipendente, la procedura è stata completata.
Se il test precedente non funziona, Access non è riuscito a determinare come collegare la sottomaschera alla maschera principale e le Link Child Fields proprietà e Link Master Fields del controllo della sottomaschera sono vuote. È necessario impostarle manualmente eseguendo le operazioni seguenti:
Fare clic con il pulsante destro del mouse sulla maschera principale nel riquadro di spostamento e scegliere Visualizzazione Struttura.
Fare clic una sola volta sul controllo sottomaschera per selezionarlo.
Se il riquadro delle proprietà non è visualizzato, premere F4 per aprirlo.
Nella finestra delle proprietà fare clic sulla scheda Dati.
Fare clic sul pulsante Genera accanto alla casella delle
Link Child Fieldsproprietà.
Viene visualizzata la finestra di dialogo Collegamento campi sottomaschera .Negli elenchi a discesa Campi master e Campi secondari selezionare i campi a cui collegare le maschere e quindi fare clic su OK. In caso di dubbi, fare clic su Suggerisci per provare a determinare in automatico i campi di collegamento.
Suggerimento
Se il campo da usare per collegare le maschere non è visualizzato, potrebbe essere necessario modificare l'origine record della maschera master o della maschera figlio per assicurarsi che il campo di collegamento sia incluso. Ad esempio, se la maschera si basa su una query, è consigliabile verificare che il campo di collegamento sia presente nei risultati della query..
Salvare la maschera principale e passare alla visualizzazione Maschera e quindi verificare che il funzionamento della maschera sia quello previsto.
Aprire una sottomaschera in una nuova finestra in visualizzazione Struttura
Se si vuole modificare la struttura di una sottomaschera mentre si lavora nella sua maschera principale in visualizzazione Struttura, è possibile aprire la sottomaschera in una finestra separata:
- Fare clic sulla sottomaschera per selezionarla.
- Nel gruppo Strumenti della scheda Struttura maschera fare clic su Sottomaschera in Nuova finestra.
Inizio pagina
Cambiare la visualizzazione predefinita di una sottomaschera
Quando si aggiunge una sottomaschera a una maschera, il controllo sottomaschera/sottoreport visualizza la sottomaschera in base alla proprietà della Default View sottomaschera. È possibile impostare la proprietà impostando i valori seguenti:
- Maschera singola
- Maschere continue
- Foglio dati
- Maschera divisa
Quando si crea una sottomaschera per la prima volta, questa proprietà potrebbe essere impostata su Maschera continua o Maschera singola. Se invece si imposta la Default View proprietà di una sottomaschera su Datasheet, la sottomaschera viene visualizzata come foglio dati nella maschera principale.
Per impostare la Default View proprietà di una sottomaschera:
Chiudere tutti gli oggetti aperti.
Nel riquadro di spostamento fare clic con il pulsante destro del mouse sulla sottomaschera e quindi scegliere Visualizzazione Struttura.
Se la finestra delle proprietà non è visualizzata, premere F4 per aprirla.
Nell'elenco a discesa nella parte superiore della finestra delle proprietà verificare che sia selezionato Maschera.
Nella scheda Formato della finestra delle proprietà impostare la proprietà Visualizzazione predefinita sulla visualizzazione che si desidera utilizzare.
Nota
Se la visualizzazione che si vuole usare non è presente nell'elenco, verificare che la
Allow...Viewrelativa proprietà sia impostata su Sì. Ad esempio, se si desidera specificare Foglio dati come visualizzazione predefinita della maschera, verificare che la proprietà Consenti visualizzazione Foglio dati sia impostata su Sì.Salvare e chiudere la sottomaschera e quindi riaprire la maschera principale per controllare i risultati.
Inizio pagina
Aggiungere dati correlati a una maschera senza creare una sottomaschera
Non è sempre necessario creare un oggetto modulo separato per visualizzare i dati correlati. Se ad esempio si lavora su una maschera in visualizzazione Layout o Struttura e si trascina nella maschera una tabella o una query dal riquadro di spostamento, verrà creato un controllo sottomaschera/sottoreport che visualizza i dati in tale oggetto. La modalità di visualizzazione dei dati è determinata dalle proprietà dell'oggetto Default View . In genere questa opzione è impostata su visualizzazione Foglio dati, ma è anche possibile impostare la Default View proprietà di una tabella o di una query su Maschera singola, Maschera divisa o Maschere continue, per ottenere maggiore flessibilità nella visualizzazione dei dati correlati nelle maschere.
Nota
La modifica della proprietà di una tabella o di una query determina come Default View viene visualizzata ogni volta che viene aperta, se aperta dal riquadro di spostamento o visualizzata in un controllo sottomaschera/sottoreport. Poiché la modifica delle impostazioni della visualizzazione di una tabella possono talvolta creare confusione quando si apre la tabella dal riquadro di spostamento, è consigliabile utilizzare una query anziché una tabella per questa procedura.
Inizio pagina