Sottomaschera con due tabelle correlate

di Anonimizzato27357 il
12 risposte
Carissimi,
sto procedendo a passi lenti con il mio progetto di archiviazione di libri scolastici adottati dai programmi dei Corsi di insegnamento
del mio Dipartimento.
Cortesemente vorrei sottoporVi un semplice quesito.
Avevo già scritto qualcosa in proposito un mesetto fa (formati dei libri) ma ho cambiato strategia per gestire meglio l'attributo IndirizzoRisorsa messo nella tabella Formato.

Le tabelle che uso sono 3 (la tabella TipoFormato è un semplice elenco di formati in cui può presentarsi un documento: cartaceo, ebook, pdf):

Tabella Corsi = (idCorso (pk), nomeCorso, nomeDocente) legata 1 a N alla
Tabella Titoli = (idTitolo (pk), idCorso, Titolo) legata 1 a N alla
Tabella Formato = (id(pk), idTitolo, IdTipoFormato, IndirizzoRisorsa) legata N a 1 alla
Tabella TipoFormato = (idTipoFormato(pk), Formato) --> Formato = Cartaceo, WEB, PDF, Ebook .....

La tabella Formato fa da ponte tra la tabella Libri e la tabella TipoFormato

Ho una maschera attraverso la quale, se seleziono un corso (Tabella Corsi: es. Geografia) ottengo nella sottomaschera l'elenco dei titoli adottati nel corso di Geografia (tramite visualizzazione Foglio Dati).
Adesso però, ho aggiunto la tabella Formato che mi permette di associare ad ogni titolo l'elenco dei diversi formati (da 1 a N) posseduti dalla biblioteca (Cartaceo, WEB, PDF, Ebook ....)
Quindi ogni titolo può avere più formati, ogni formato con il suo indirizzo univoco (Indirizzorisorsa: isbn, indirizzo WEB, e-isbn per l'ebook, ....)
Mi chiedo che espediente posso utilizzare per mostrare nella maschera anche l'elenco dei formati associati al titolo?:
in modo tale che quando, nella sottomaschera, seleziono il Titolo X, vedo anche la tabellina (Sottomaschera della sottomaschera?) dei formati associati ad X ...
Grazie davvero!

12 Risposte

  • Access consente di costruire con procedura guidata (te la consiglio vivamente, leggi la guida in linea) di creare maschera/sottomaschera/sotto-sottomaschera.
  • Ti riferisci alla guida Microsoft? grazie mille
  • La guida in linea dell'applicazione stessa Microsoft Access.

  • Immagine.png
    Immagine.png

    Le informazioni le trovo sulla destra, come nell'immagine allegata?
    Grazie
  • Sì, dovresti ottenere la guida in linea anche premendo il tasto F1.
  • strambotto ha scritto:


    Immagine.png

    Le informazioni le trovo sulla destra, come nell'immagine allegata?
    Grazie
    No, quelle sono informazioni generiche che spesso danno solo indicazioni superficiali...
    La procedura GUIDATA è il WIZARD che si apre, se abilitato, quando si inseriscono Oggetti DataBound come SottoMaschere, Combo e ListBox, OptionGroup...
    La guida in Linea poi è quella del VBA a cui si accede dal VBEditor selezionando l'argomento da Cercare e premento <F1>

  • Immagine.jpg
    Immagine.jpg

    Buongiorno Alex,
    sono entrato in VBA e ho premuto F1 ottenendo la Home page in allegato.
    Grazie ancora
  • Meno male che Access ha degli automatismi pseudo intelligenti.
    Ho trascinato dal pannello di navigazione la tabella dei Formati all'interno della Sottomaschera dei Titoli
    e Access ha dato per scontato il tipo di relazione 1 a molti tra le due tabelle.
    Ho ottenuto quello che volevo come si può vedere dall'immagine in allegato della Maschera con Sottomaschera:
    Nella visualizzazione Foglio dati della SottoMaschera ad ogni riga titolo appare adesso anche un "+" che
    permette di visualizzare e aggiungere i Formati da associare al documento (titolo).

    Non so se si può fare di meglio e mi rimetto ai Vostri consigli ben volentieri ...
    Grazie mille
    Gianni
    Form.jpg
    Form.jpg

  • La procedura guidata consente di arrivare fino al 3° livello "esplicito" (la sotto-sottomaschera). Nel senso che avresti visto un'altra sottomaschera più giù sincronizzata con la 2a. In una delle prime finestre della procedura guidata (non ricordo più quale...non la faccio più da tanto tempo) avresti dovuto scegliere le tabelle origine 3 volte per "buttare a destra" tutti i loro campi.
  • In effetti io sono partito un po' più a valle, nel senso che avevo già creato la Sottomaschera del 2. livello.
    Se poi creo in un secondo tempo la SottoMasc del 3. livello (così come ho fatto), non si ha purtroppo l'automatismo della procedura guidata ...
  • Ti spiego cosa fa Access per gestire i 2 nodi di sincronizzazione.
    Per Maschera1 e Sottomaschera2, Access riconosce la relazione uno-a-molti che tu avevi impostato nella Finestra Relazioni e imposta automaticamente le proprietà "Collega campi secondari", "Collega campi master" (le trovi in Maschera1).
    La sotto-sottomaschera risiede fisicamente "dentro" Maschera1, ma siccome deve dare conto a Sottomaschera2, non si può più giocare con quelle 2 proprietà che ho detto prima. Allora Access crea un "particolare" codice VBA che fa in modo di sincronizzare Sottomaschera2 con Sottomaschera3.

  • FormSub.jpg
    FormSub.jpg


    Questa è la situazione che si ha al termine del processo in Visualizzazione struttura.
    Come vedi nella Finestra delle proprietà della sottoMaschera3 - che ha come origine dati la Tabella FormatoTab -
    è esplicitato il legame tra Campo Mater (ID della SottoTabella2) e il Campo Secondario (IDTitolo della SottoTabella3)
Devi accedere o registrarti per scrivere nel forum
12 risposte