Maschera di inserimento dati con campi visibili in funzione di una scelta

di il
8 risposte

Maschera di inserimento dati con campi visibili in funzione di una scelta

Un saluto a tutti,

sto cercando di costruire un DB per catalogare il mio archivio di musica lirica. A tal scopo ho strutturato le tabelle come nel file jpg allegato.
Ho cominciato a creare una prima maschera per l’inserimento dei dati; posso inserire o un nuovo Artista, o un nuovo titolo e quindi nuovi Personaggi o un nuovo Luogo di Registrazione. Nel caso di nuovo Artista, potrei voler inserire un nuovo Compositore, o un nuovo Cantante, o un nuovo Direttore ecc., dal momento che nella TabArtisti ci sono tutti i tipi di artista, comprese Orchestre e Cori. La maschera di per sé è molto semplice, l’ho costruita sulla base di TabArtisti; vorrei però qualcosa di più efficiente, pensando al fatto che chi inserisce i dati può non conoscere la struttura del DB e quindi potrebbe immettere dati inutili o non richiesti.

Esiste la possibilità di far dipendere la visualizzazione dei campi dalla scelta del tipo di Artista che voglio inserire? Ossia, se io prevedo una casella combinata dove effettuare la scelta del tipo di nuovo Artista da inserire, posso legare questa scelta a ciò che mi compare nella maschera? La questione sarebbe rilevante solo per Orchestre e Cori, per i quali ho scelto di memorizzare i nomi nel campo Nomi di TabArtisti e per i quali, quindi, non devono comparire né il campo Cognome, né quelli relativi ai luoghi e alle date. Esempio, scelgo di inserire un nuovo Coro , effettuata la scelta nella cbo, nella maschera mi compare solo il campo nome.

Immagino che devo prevedere query diverse, ma non riesco a capire come legare la scelta effettuata nella combo a ciò che deve comparire nella maschera.
Grazie.


Come si fa ad aver vissuto senza aver ascoltato mai la Bohème o la Traviata?
Allegati:
28272_a3247c20f380ab43a58b2636d57cdc12.jpg
28272_a3247c20f380ab43a58b2636d57cdc12.jpg

8 Risposte

  • Re: Maschera di inserimento dati con campi visibili in funzione di una scelta

    Se per te TipoArtista ha un significato ESCLUSIVO, potresti considerarlo come un campo (non so) quadrivalore: Cantante, Compositore, Direttore, Gruppo/Orchestra. Di conseguenza andrai a implementare (diciamo) 4 query per l'occorrenza.
    Non so se ho colto il tuo problema. Altrimenti fai qualche esempio specifico.
  • Re: Maschera di inserimento dati con campi visibili in funzione di una scelta

    In realtà, i valori del campo TipoArtista sono Compositore, Direttore, Orchestra, Coro, MCoro e, per i Cantanti, il loro timbro di voce; avevo pensato di creare nella query un alias Cantante che raggruppi tutti i timbri, magari mettendo nei criteri = Soprano, Tenore, ecc. Immagino che questo vada fatto in tutte e 4 le query con cui selezionare i campi desiderati; ma poi come legare le 4 query alla scelta effettuata nella combo?

    In realtà, forse le query sono due, perché mi serve la distinzione tra l'inserimento di un nuovo Compositore o Direttore o MCoro o Cantante e l'inserimento di un nuovo Orchestra o Coro.

    Se scelgo Compositore o Direttore o MCoro o Cantante, nella maschera desidero avere tutti i campi della TabArtisti; se scelgo Orchestra o Coro solo il campo Nome.


    Come si fa ad aver vissuto senza aver ascoltato mai la Bohème o la Traviata?
  • Re: Maschera di inserimento dati con campi visibili in funzione di una scelta

    Forse ti serve un meccanismo di 2 "caselle combinate a cascata"...che nel tuo caso è relativamente più complesso dei casi standard. Ma giocando opportunamente con le query da te citate, si può fare.
    Prova a leggere qui
    forum.masterdrive.it/access-79/controlli-bound-sincronizzati-in-cascata-45725/


    ...continuando…
    La 2a casella combinata deve CAMBIARE in base al valore selezionato in 1a casella combinata. Siccome hai anche detto che i campi da visualizzare in casella combinata 2 sono diversi, dovrai gestire tutto con un codice VBA che cambi più proprietà della casella combinata 2, ossia "Origine riga", "Numero colonne", "Larghezza colonne", "Larghezza elenco".
  • Re: Maschera di inserimento dati con campi visibili in funzione di una scelta

    Intanto direi che per il TipoArtista sarebbe meglio, normlizzare, ovvero creare una nuova tabella TabTipiArtista con i campi IDTipoArtista (numerazione automatica, chiave primaria) e TipoArtista (testo breve, con la proprietà Indicizzato impostato a Sì (Duplicati non ammessi) ) e modificando nella TabArtisti il campo TipoArtista in IDTipoArtista ( numerico, intero lungo) creando poi la relazione fra TabTipiArtista e TabArtisti.
    Per quanto riguarda la limitazione di inserimento dati in alcumi controlli vincolata alla scelta di un controllo casella combinata associato al TipoArtista è certamente possibile, anzi direi obbligatorio per il controllo del corretto inserimento dei valori nei relativi campi se tra l'altro questi hanno la proprietà Richiesto impostato a No gestendo l'abilitazione o meno dei controlli tramite la loro proprietà Enabled.
  • Re: Maschera di inserimento dati con campi visibili in funzione di una scelta

    Stifone ha scritto:


    Intanto direi che per il TipoArtista sarebbe meglio, normlizzare, ovvero creare una nuova tabella TabTipiArtista con i campi IDTipoArtista (numerazione automatica, chiave primaria) e TipoArtista (testo breve, con la proprietà Indicizzato impostato a Sì (Duplicati non ammessi) ) e modificando nella TabArtisti il campo TipoArtista in IDTipoArtista ( numerico, intero lungo) creando poi la relazione fra TabTipiArtista e TabArtisti.
    Concordo. Infatti la 1a casella combinata dovrà poggiare proprio su TipiArtisti.
  • Re: Maschera di inserimento dati con campi visibili in funzione di una scelta

    La 2a casella combinata deve CAMBIARE in base al valore selezionato in 1a casella combinata. Siccome hai anche detto che i campi da visualizzare in casella combinata 2 sono diversi, dovrai gestire tutto con un codice VBA che cambi più proprietà della casella combinata 2, ossia "Origine riga", "Numero colonne", "Larghezza colonne", "Larghezza elenco".
    Ahi! Temevo la comparsa del codice VBA... Non riesco a trovare qualche testo online su cui studiarlo in maniera sistematica applicato ad Access.
    Vorrà dire che rinuncio a questa che mi sembrava una finezza...
    Intanto direi che per il TipoArtista sarebbe meglio, normlizzare, ovvero creare una nuova tabella TabTipiArtista con i campi IDTipoArtista (numerazione automatica, chiave primaria) e TipoArtista (testo breve, con la proprietà Indicizzato impostato a Sì (Duplicati non ammessi) ) e modificando nella TabArtisti il campo TipoArtista in IDTipoArtista ( numerico, intero lungo) creando poi la relazione fra TabTipiArtista e TabArtisti.
    È quel che farò.
    se tra l'altro questi hanno la proprietà Richiesto impostato a No gestendo l'abilitazione o meno dei controlli tramite la loro proprietà Enabled.
    Ossia? Sempre con il codice VBA?


    Come si fa ad aver vissuto senza aver ascoltato mai la Bohème o la Traviata?
  • Re: Maschera di inserimento dati con campi visibili in funzione di una scelta

    E' evidente che se vuoi effettuare una gestione avanzata delle maschere dovrai usare codice.
  • Re: Maschera di inserimento dati con campi visibili in funzione di una scelta

    Donizetti ha scritto:


    .. Non riesco a trovare qualche testo online su cui studiarlo in maniera sistematica applicato ad Access ....
    Hai provato a cercare con google qualcosa del genere : access book vba pdf ?
    Ovviamente sono in inglese ma come si fa a voler programmare senza conoscere l'inglese ?
Devi accedere o registrarti per scrivere nel forum
8 risposte