Intersezione dati

di il
9 risposte

Intersezione dati

Buongiorno a tutti,
metto le mani avanti e vi dico che sono una neofita...
Sto implementando un database per la scuola per la quale lavoro, basandomi sul modello "Studenti" di access.
In sintesi, ho una tabella "Studenti" con l'elenco di tutti gli alunni della scuola, "Tutori" con i dati dei genitori ed ho creato "Registro pagamenti" nel quale, tramite una maschera, inserisco giornalmente i pagamenti che si ricevono, indicando nome del bambino e causale (ad esempio, "Retta gennaio" o "Mensa gennaio".
Ciò di cui avrei bisogno è ottenere la lista degli alunni completa (NB non solo quelli che hanno effettuato pagamenti) con i campi corrispondenti ai mesi in modo da creare delle intersezioni per visualizzare se un alunno non ha pagato un mese.
Grazie mille per l'aiuto, spero di essere stata comprensibile!

9 Risposte

  • Re: Intersezione dati

    Benvenuta nel forum.

    Puoi fornirci:
    - i nomi campi di tutte le tabelle, con l'elezione della chiave primaria
    - le relazioni

    LaChiara ha scritto:


    Ciò di cui avrei bisogno è ottenere la lista degli alunni completa (NB non solo quelli che hanno effettuato pagamenti) con i campi corrispondenti ai mesi in modo da creare delle intersezioni per visualizzare se un alunno non ha pagato un mese.
    Cosa sei riuscita a realizzare invece finora? Cioè quali campi si vedono nella lista "non completa"?
    Può darsi che hai bisogno di una query di selezione con il LEFT join (altrimenti detto join di tipo 2) che ti mostrerebbe tutti gli Alunni indipendentemente dal fatto che hai esposto. Se non hai capito quest'ultima frase (hai detto di essere neofita) occorre che descrivi tutto dettagliatamente come ho richiesto all'inizio.
  • Re: Intersezione dati

    Buonasera,
    grazie per la risposta.
    In effetti ho provato con una left join, v. img, per tentare di visualizzare la lista degli alunni completa (proveniente dalla query "Studenti - estesi") ed i pagamenti associati (query "elenco pagamenti"). Funziona: ho dei nomi con mesi diversi e con campi vuoti, poiché non ho registrato pagamenti a loro nome.
    Poi metto un criterio, ad esempio NOT "Febbraio" o <>"Febbraio", che poi andrebbe ampliato a tutti i mesi dell'anno tranne quello di cui voglio evidenziare i pagamenti o la mancanza del pagamento. Escludendo Febbraio, non mi restituisce più i nomi con i campi vuoti, ma solo quelli con un pagamento registrato con altre causali.



    In questo modo speravo di ottenere per lo meno una tabella per ogni mese, anche se la cosa migliore sarebbe ottenere un'unica tabella con i mesi come campi...

    Tabelle:
    1- "Elenco pagamenti"; chiave prim "ID". Ho usato la query associata "Elenco pagamenti Query"
    2- "Studenti"; chiave prim "ID". Ho usato la query associata "Studenti - estesi"
    3- "Tutori"; chiave prim "ID"

    Relazioni e campi:


    Spero di essere stata chiara... Grazie!
  • Re: Intersezione dati

    LaChiara ha scritto:


    Poi metto un criterio, ad esempio NOT "Febbraio" o <>"Febbraio", che poi andrebbe ampliato a tutti i mesi dell'anno tranne quello di cui voglio evidenziare i pagamenti o la mancanza del pagamento
    Leggi la guida in linea "query con parametri".
    In sostanza dovresti sostituire con
    NOT [Digita il mese da escludere]

    LaChiara ha scritto:


    In questo modo speravo di ottenere per lo meno una tabella per ogni mese
    Non si usa "una tabella per ogni mese", ma si sfrutta la query di selezione con filtro sul mese per ottenere analogo risultato.

    LaChiara ha scritto:


    anche se la cosa migliore sarebbe ottenere un'unica tabella con i mesi come campi...
    Anche questo dovresti ottenerlo con una query...credo "query a campi incrociati".

    Le immagini sono piccolissime e illeggibili.
    Descrivi tutti i campi delle tabelle per esteso se hai ancora problemi con le immagini.
  • Re: Intersezione dati

    Strano per le immagini, se clicchi sopra dovrebbe ingrandirle.
    Comunque ce l'ho fatta! Avevo problemi con la query a campi incrociati perché mi dava errore, i record ed i campi infatti non avevano lo stesso tipo di dati. Ho corretto quello, ed ora va a meraviglia!!
    Approfitto della tua gentilezza per risolvere una ltro piccolo intoppo: non viene più visualizzata la barra di scorrimento per far scorrere la pagina in basso... come posso ripristinarla??

    Grazie!
  • Re: Intersezione dati

    LaChiara ha scritto:


    Sto implementando un database per la scuola per la quale lavoro, basandomi sul modello "Studenti" di access.
    Si tratta di un approccio per principianti. Un utente (quando comincia) ha bisogno anche di appoggiarsi a qualche esempio e pensa/spera che i modelli possono aiutarli (anche i manuali ne descrivono alcuni). Ma non sempre (per me quasi mai) rispecchiano/colgono quello che uno pensa di avere in testa.
    Cerca di cogliere anche le nozioni base di Access attraverso un manuale, la guida in linea, suggerimenti da forum.

    Per le immagini non avevo capito che dovevo cliccarci sopra.

    Io non ho capito varie cose su quella struttura tabelle:
    1. La tabella RegistroPagamenti forse l'hai creata tu. Come intendi utilizzarla?
    2. Quando hai creato le relazioni nella finestra Relazioni, hai messo il segno di spunta su "Applica integrità referenziale"?(non appare nella relazione Studenti--->Elenco pagamenti).
    3. Quando eleggi un campo chiave primaria, nominalo in maniera esplicita, ossia IDStudente, IDPagamento, IDTutore
    4. Nella tabella Studenti esiste un campo ID (chiave primaria), poi hai anche un IDStudente...non si capisce perchè è lì essendo una ripetizione.

    LaChiara ha scritto:


    Approfitto della tua gentilezza per risolvere un altro piccolo intoppo: non viene più visualizzata la barra di scorrimento per far scorrere la pagina in basso... come posso ripristinarla??
    Non ho capito a cosa ti riferisci. Cosa intendi per pagina?
    In linea generale, quando hai da porre una domanda diversa dal titolo principale è meglio se apri un nuovo thread (discussione).
  • Re: Intersezione dati

    Innanzitutto ti ringrazio per i consigli.
    Purtroppo ho dovuto realizzare questo database di corsa, per iniziare, per esigenze lavorative, ad usarlo subito per quest'anno solare. Ho intenzione di portarlo avanti in parallelo con il sistema utilizzato ora, in modo da implementarlo e verificarne le funzionalità per poi metterlo in funzione da settembre. Nel frattempo ho iniziato un corso (era da una vita che intendevo seguirne uno) ma avevo per l'appunto bisogno di concetti avanzati per poter dare una struttura funzionale a quello che è ovviamente un file beta. Tutti i consigli che mi hai appena dato dimostrano appunto che ho appena iniziato... Comunque sono partita dal modello Studenti perché rispecchiava in parte proprio quello che mi serviva, ed ho aggiunto la gestione dei pagamenti che era l'unica cosa che mi mancava.
    Attraverso una maschera inserisco giornalmente i pagamenti che pervengono alla scuola ed ho l'opportunità di visualizzarli nell'anagrafica di ogni alunno con l'utilizzo di pagine e sottomaschere. Chiaramente la lista completa degli alunni mi era indispensabile per poter vedere a colpo d'occhio chi è insolvente.
    Il risultato finale è ottimo.
    L' "ID Studente" non è uguale all'ID, ma è un ulteriore codice di riconoscimento che utilizziamo.

    L'unico problema che ravviso ora è meramente strutturale... la maschera dell'anagrafica è "lunga", quindi avrei bisogno di scorrere in basso per visualizzare alcuni dati... ma non c'è la barra di scorrimento. Come puoi vedere dall'immagine, non posso andare oltre il campo CAP.
  • Re: Intersezione dati

    Vai in visualizzazione struttura maschera e imposta la proprietà "Barre scorrimento" a Verticale o Entrambe (vedi tu come preferisci).
  • Re: Intersezione dati

    La cosa oscura è che l'opzione è attivata e non trovo alternative da nessuna parte.



    Comunque apro volentieri un altro thread. Grazie mille per l'aiuto!
  • Re: Intersezione dati

    LaChiara ha scritto:


    Tabelle:
    1- "Elenco pagamenti"; chiave prim "ID". Ho usato la query associata "Elenco pagamenti Query"
    2- "Studenti"; chiave prim "ID". Ho usato la query associata "Studenti - estesi"
    3- "Tutori"; chiave prim "ID"

    Relazioni e campi:
    Vorrei sottolineare un paio di cose sulla relazione Studenti.ID uno-a-molti [Elenco pagamenti].Alunno:
    1. Spero che Alunno sia Numerico
    2. Quando hai creato la relazione hai dimenticato (cosa molto importante) di mettere la spunta su "Applica integrità referenziale".
Devi accedere o registrarti per scrivere nel forum
9 risposte