Organizzare + tabelle e maschere

di il
23 risposte

Organizzare + tabelle e maschere

Ciao a tutti, continuo a cimentarmi con access e spesso mi sovvengono nuovi modi di fare questo o quello, sarà che l'appetito vien mangiando (?), e quindi ancora una volta ho un quesito per la COMMUNITY.

Voglio realizzare un applicativo che gestisca alcuni corsi di aggiornamento e ho pensato,
una volta create tutte le tabelle e relative maschere per la loro gestione di crearne una sola nella quale far confluire i dati come descrivo di seguito e cioè:

1* campo nome corso (possono essere tanti)
2* campo nome docente (possono essere tanti)
3* campo data della lezione
4* campo alunno (possono essere tanti, anzi sicuramente tanti)
5* campo assenze (per ogli allievo)
6* campo esito corso (per ogni allievo)

Ebbene, grosso modo sono + o - in grado di organizzare il tutto vorrei però creare una maschera nella quale una volta inserito il nome del corso (che farei pescare da casella combinata) mi popolasse un elenco con i nomi degli allievi iscritti a quel corso.
Credo che il tutto dovrebbe gravitare intorno ad una query che estragga dall'elenco degli iscritti quelli che sono iscritti a quel corso. A questo punto l'origine dati (della query) dovrebbe essere il contenuto del campo NOME CORSO. Resta il problema, però, di come realizzare questa query.

E poi ... che dite, l'elenco degli iscritti lo compongo con una sottomaschera o come altro ??

Come mi consigliate di procedere.

Grazie

ligiem

23 Risposte

  • Re: Organizzare + tabelle e maschere

    Ignoro come tu voglia organizzare tutte le tabelle, ma almeno per la parte che hai focalizzato tu, mi sembra ovvio che per ogni Corso corrispondano molti Alunni, quindi relazione uno-a-molti fra queste due tabelle. E' sufficiente che tu crei un maschera/sottomaschera (anche con creazione guidata) e Access provvede automaticamente. Non penso occorrano query.
  • Re: Organizzare + tabelle e maschere

    Osvaldo ti ha già dato una preziosa indicazione sulla quale credo ci sia da aggiungere un dettaglio nell'ottica standard...

    Di norma ci sono Cataloghi Corsi... e Elenchi Anagrafiche.
    Come mettere assieme queste 2 Tabelle...?

    Solo con la MOLTI-MOLTI si può fare...

    E' fero che per ogni corso ci sono più partecipanti, ma è vero che un partecipante può fare molti corsi...!
    
    TblCatalogoCorsi(1)---(M)TblCorsoPartecipante(M)---(1)TblAnagrafica
    Ovviamente ritengo che parlare di maschere sia decisamente prematuro...
  • Re: Organizzare + tabelle e maschere

    Come sempre ringrazio dell'aiuto che date.
    L'organizzazione delle tabelle mi è chiara e da una prima prova sembra tutto funzionante.
    Forse sarebbe più chiaro quanto voglio fare se partissi dal prodotto finale.
    Al momento ho creato l'applicazione che permette di gestire:
    * i corsi
    * i docenti
    * gli allievi.
    Quello che rimane ostico è creare una maschera nella quale ci siano insieme i dati delle 3 tabelle, organizzate però in modo che alla selezione del campo (casella combinata) dei corsi mi compili (in automatico) l'elenco degli allievi iscritti a quel corso.
    L''obiettivo finale sarebbe includere per una certa DATA quale era il DOCENTE e quali erano gli allievi ASSENTI. L'indicazione in maiuscolo, come avrete capito, significa che dovrò creare delle altre tabelle che al momento non ho ancora fatto.
    Grazie fin da ora.

    ligiem
  • Re: Organizzare + tabelle e maschere

    Che ne dici se ci illustri per bene tutti i campi delle tabelle con relative relazioni?
    Effettivamente non è chiaro se Corsi e Alunni è in relazione uno-a-molti oppure molti-a-molti.
    Ogni Corso è tenuto da un solo Docente, oppure molti?
    Anche viceversa, un Docente tiene un Corso oppure più Corsi?
    Un quadro completo della situazione, per te implicita, per noi tutta da illustrare, ci permetterebbe di darti una mano più efficacemente.
  • Re: Organizzare + tabelle e maschere

    Effettivamente meglio essere più espliciti possibile.
    tabella CORSI (molti)
    tabella DOCENTI (molti)
    tabella ALLIEVI (molti)

    Le relazioni sono MOLTI-A-MOLTI visto che CORSI può essere tenuto da + DOCENTI e frequentato da + ALLIEVI, inoltre un DOCENTE può tenere + CORSI.

    Come dicevo, fin qui tutto funziona perchè le tabelle le popolo con i dati che mi servono, della tabella ALLIEVI (completa di anagrafica) estrapolo una versione breve con solo Cognome e Nome cos' da non avere molti dati nell'elenco che voglio presentare.
    Circa il prodotto finale vorrei fare in modo da avere (in parte già fatto) un menu dal quale chiamo le tabelle/maschere che compilo, per poi presentarle insieme in modo da avere per il CORSO xxx del GIORNO XXX tenuto dal DOCENTE XXX erano presenti gli ALLIEVI XXX.

    Grazie (anche della pazienza).
    ligiem
  • Re: Organizzare + tabelle e maschere

    Io mi figuro il seguente quadro tabelle:

    CORSI
    IDCorso
    Corso

    DOCENTI
    IDDocente
    Cognome
    Nome

    ALUNNI
    IDAlunno
    Cognome
    Nome

    CORSI-DOCENTI
    IDCD
    IDCorso
    IDDocente
    Data

    (CORSI-DOCENTI)-ALUNNI
    IDCDA
    IDCD
    IDAlunno
    P/A (un campo testo dove puoi scegliere fra due valori Presente/Assente)

    Relazioni:
    1. CORSI molti-a-molti con DOCENTI attraverso la tabella di congiunzione CORSI-DOCENTI
    2. Mi aggancio all'ipotesi di Alex secondo cui anche un Alunno può partecipare a molti corsi, quindi
    CORSI-DOCENTI molti-a-molti con ALUNNI attraverso la tabella di congiunzione (CORSI-DOCENTI)-ALUNNI

    Altre osservazioni:
    A) Ovviamente ogni ID in testa ad ogni tabella significa Contatore chiave primaria.
    B) Voglio sperare che nel Giorno 10/4/2012, il Corso di Medicina, sia stato tenuto da un solo Docente...se così stanno le cose, il mio discorso fluisce un po' meglio, altrimenti c'è qualche ridondanza oppure bisogna pensare a una ulteriore tabella di congiunzione.
    C) Il campo P/A è facoltativo nel senso che devi decidere tu:
    1. Se preferisci inserire in tabella soltanto i Presenti, tale campo diventa superfluo
    2. Se preferisci inserire tutti gli Alunni previsti e poi scindere quali Presenti e quali Assenti, mi sembra opportuno quel campo.

    Secondo me hai molti modi di rappresentare il tutto con opportune maschere/sottomaschere. Mi pare di capire che, per te, il punto focale sta fra CORSI-DOCENTI e (CORSI-DOCENTI)-ALUNNI.
    Io creerei una maschera su CORSI-DOCENTI avente 2 caselle combinate che pescano i dati tanto da IDCorso, quanto da IDDocente.
    Poi sottomaschera (CORSI-DOCENTI)-ALUNNI con casella combinata su IDAlunno. Ripeto, in questa sottomaschera puoi decidere se mettere o no il campo P/A e segnalare esplicitamente la Presenza o Assenza.
  • Re: Organizzare + tabelle e maschere

    Grazie Osvaldo per la completezza della tua risposta.
    La soluzione da te proposta è senza dubbio più accurata della mia maccheronica.
    Ho provato pedissequamente a organizzare il tutto come dici tu (e devo dire credo sia il modo migliore), però una volta collegato i dati di CORSO e DOCENTE con la sottomaschera ALUNNI, capita che la combo CORSO E DOCENTE non mi accetti i valori di CORSI/DOCENTE e non ne capisco il perchè.

    Inoltre vorrei fare in modo che in questa maschera e sottomaschera confluissero i dati che ho inserito altrove, cioè nella varie tabelle/maschere.
    Ciao

    ligiem
  • Re: Organizzare + tabelle e maschere

    ligiem ha scritto:


    capita che la combo CORSO E DOCENTE non mi accetti i valori di CORSI/DOCENTE e non ne capisco il perchè
    Immagino si tratti soltanto di un problema di visualizzazione testo. Scommetto che nelle combo tu vedi soltanto Numeri che dovrebbero corrispondere ai relativi ID, mentre tu vorresti vedere scritto il testo del Corso e almeno il Cognome del Docente (o meglio un campo concatenazione dei valori Cognome e Nome).
    E' questo il tuo problema?

    ligiem ha scritto:


    Inoltre vorrei fare in modo che in questa maschera e sottomaschera confluissero i dati che ho inserito altrove, cioè nella varie tabelle/maschere.
    Non ho capito se questo tuo dubbio è la conseguenza di quello che hai detto su prima, oppure hai tutti i dati altrove e non sei sicuro di ritrovarteli qui.
    Se hai creato tutti i campi e relazioni coerentemente, dovrebbe funzionare tutto. Potresti avere solo qualche problema di denominazione Tabella o Campo un po' diversa da come l'ho illustrato io e non ritrovarti qui o lì.
  • Re: Organizzare + tabelle e maschere

    Che differenza esiste tra un Docente ed un'Allievo...?
    La domanda non è banale come sembrerebbe....

    Sostanzialmente si tratta di una tabella di Anagrafiche nella quale serve prevedere che un'anagrafica può ricoprire più ruoli...!!!

    Fare 2 Tabelle(Docenti ed Allievi) è una cosa per nulla strutturata...!

    Se poi un Docente volesse essere allievo di un corso....? Non mi vorrai dire che lo inseriresti in entrambe le Tabelle... con la soluzione che stai usando...?

    In questi casi avere una visione più flessibile è quello che salva il ragionamento ed il lavoro in seguito...!

    A questa domanda la risposta è troppo complessa, mi pare che ci siano altre cose da rivedere prima di andare al perfezionismo...!
  • Re: Organizzare + tabelle e maschere

    OK Alex, accetto la critica e correggo secondo questa variante:

    CORSI
    IDCorso
    Corso

    ANAGRAFICA
    IDPersona
    Cognome
    Nome

    CORSI-DOCENTI
    IDCD
    IDCorso
    IDDocente
    Data

    (CORSI-DOCENTI)-ALUNNI
    IDCDA
    IDCD
    IDAlunno
    P/A

    Relazioni:
    1. CORSI.IDCorso uno-a-molti con CORSI-DOCENTI.IDCorso
    ANAGRAFICA.IDPersona uno-a-molti con CORSI-DOCENTI.IDDocente
    2. CORSI-DOCENTI.IDCD uno-a-molti con (CORSI-DOCENTI)-ALUNNI.IDCD
    ANAGRAFICA.IDPersona uno-a-molti con (CORSI-DOCENTI)-ALUNNI.IDAlunno

    Praticamente i campi IDDocente e IDAlunno sono entrambi Numerici e rappresentano entrambi un IDPersona di partenza che, a seconda della tabella dove vanno a finire, assumono significati diversi.
    Resta solo un dubbio in me in quanto dalla tabella ANAGRAFICA partono 2 linee di relazione. In passato pensavo non fosse correttamente strutturato, mentre in tempi recenti ho scoperto che si può fare.
    Questa soluzione, forse più corretta, spero non confonda le idee a ligiem.
  • Re: Organizzare + tabelle e maschere

    Alex e Osvaldo, senza di voi come farei.
    Le tabelle anagrafica DOCENTI e ALUNNI (non mi aveva nemmeno sfiorato l'idea di fane una soltanto), potrei risolverla dando una qualifica al nominativo.
    Questo però mi darebbe un ulteriore problema e cioè vorrei fare in modo che l'anagrafica DOCENTE fosse composta solo da cognome e nome mentre quella degli ALUNNI fosse composta da una serie di altri dati (nato a-il-indirizzo-mail-telefono-ecc.) che popolerebbero un'anagrafica che però non fosse quella presente nella maschera che voglio realizzare, nella quale fari confluire solo cognome e nome.
    Infine, credo di essermi spiegato male nella soluzione che vorrei perseguire che è questa:
    1* avere maschere che popolo separatamente (corso/docente/alunno)
    2* avere una msachera che unisca i dati, ma nella quale non devo inserire dati ... questi mi devono apparire nelle relative collocazioni alla selezione del nome del CORSO, poi selezionerei il DOCENTE e infine per gli alunni dovrei solo flaggare il campo ASSENTE.

    Mi pare di capire che la sfida è stimolante cone lo è per me.

    Grazie


    ligiem
  • Re: Organizzare + tabelle e maschere

    OsvaldoLaviosa ha scritto:


    OK Alex, accetto la critica e correggo secondo questa variante:...
    In prima battuta la mia è solo un'osservazione fatta all'autore non a te, quindi non un critica personale.

    Detto questo il concetto che io ho espresso è diverso e come ho cercato di spiegare va un pò oltre la proposta che è stata fornita... provo a indicarlo perchè la tua idea è poco realizzabile ma soprattutto poco funzionale...!

    Prova a pensare quando vai a definire di ogni corso il Docente... con il tuo sistema ti trovi a consentire la selezione del DOCENTE indiscriminatamente tra tutti i RECORDS presenti in Anagrafica e la cosa mi pare scomoda ma soprattutto sbagliata...!
    La selezione deve avvenire tra i Docenti... e non tra tutti...

    E' ovvio che chi usa il programma non deve sapere a memoria se un'Item di Anagrafica sia Alunno o Docente... questo è un parametro da inserire nel DB che deve aiutare la selezione.

    La soluzione che proponevo io, cosa che probabilmente non è stata colta, prevedeva una Tabella di definizione RUOLI,come ho anche detto..., e questo serve proprio a consentire di selezionare tra le Anagrafiche solo quegli Items che hanno come Ruolo definito quello di DOCENTE quando vai ad inserire un Docente... e viceversa quando andrai ad inserire un Alunno andrai a selezionare le Anagrafiche che rappresentano gli Alunni...!

    Come sempre, suggerisco uno stop di riflessione per avere le idee chiare su come si deve strutturare..., soprattutto per LIGIEM che mi pare faccia un pò di confusione sul senso della Tabella Anagrafica... e sulla definizione del RUOLO...!
  • Re: Organizzare + tabelle e maschere


    Immagine.png
    Immagine.png

    Mi sa che ci stiamo perdendo nei ragionamenti. Io sicuramente.

    Obiettivi:

    1 tabella con nome CORSI
    1 tabella con nome DOCENTI
    1 tabella con nome ALUNNI

    mettere tutto insieme in modo da avere alla selezione di CORSO (da

    combobox) l'elenco degli ALUNNI iscritti a quel corso e poi selezionare

    il nome del DOCENTE che terrà la lezione quel GIORNO.
    Questo vuol dire che nella soluzione finale dovrei solo scegliere il nome del corso, il nome del docente e nell'elenco degli alunni spuntare le assenze.

    Esempio:

    allego un bmp che forse descrive quanto vorrei realizzare
  • Re: Organizzare + tabelle e maschere

    Per me è tutto chiaro... ed è quello che ho esposto nella mia ipotesi.

    Ripeto che serve capire bene sia l'esigenza, ma soprattutto il suggerimento dato, senza fretta nè pregiudizzi...!

    Alternativa è che tu prosegua con quanto già sembrava soddisfarti, poi piano piano se ti servono o se ti accorgi dei limiti proverai a rileggere quanto ho esposto, forse ti potrebbe tornare utile e meglio comprensibile.
Devi accedere o registrarti per scrivere nel forum
23 risposte