creazione di una maschera di ricerca dati

Anonimo
2016-12-24T18:59:31+00:00

salve,ho provato a cercare tra argomenti simili ma ho ancora dei dubbi su come fare.

Ho importato in access i dati contenuti nelle schede del mio file excel (circa 6200 righe per 15 colonne per ognuna delle 4 tabelle).

In tutte queste righe ci sono riportati dei valori in base a giorno(nel classico formato gg/mm/aaaa) e ora (formato solo con ore senza minuti) ,quindi circa 17 rilevazioni di 11 valori differenti(ognuno dei quali in scala da 0 a 20 compresi) al giorno per quasi 4 anni.

Quello che mi serve è realizzare una maschera che mi permetta di accedere a tutti questi valori ed avere la percentuale di presenza di ognuno di questi valori in base sia al giorno che al mese (ad esempio i valori del primo di gennaio con risultato 0=25% 1=0% 2=25% e via così per tutti i 21 valori).

Ho provato ad armeggiare con creazione di maschere ecc ma quello che alla fine ho ottenuto è un accrocchio di pulsanti senza funzioni specifiche...alla fine non mi potevo aspettare di più visto che son partito da conoscenza nulla di access.

Quindi chiedo aiuto a voi,sperando che qualcuno mi possa aiutare con questo casino di dati da organizzare per essere consultati senza perdere un casino di tempo e soprattutto anche per imparare ad utilizzare un minimo decentemente access.

Vi ringrazio già adesso per l'attenzione e se avete qualche domanda perchè non mi sono espresso bene chiedete pure

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

3 risposte

Ordina per: Più utili
  1. Anonimo
    2016-12-26T19:42:46+00:00

    Oddio....grazie di cuore!!

    La demo che hai preparato mi aiuta a capire quello che mi hai scritto e mi piace un sacco devo dire!

    La trovo veramente WOW

    ah,auguri a tutti anche se in ritardo e faccio in anticipo quelli capodanno,ora so che stanotte rimango sveglio ad armeggiare anche se domani lavoro ehehhehe

    Grazie ancora

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2016-12-25T19:23:10+00:00

    ciao Stefano,

    se i files di Excel fossero strutturati in modo relazionale, ( direi almeno la 3NF) ma non credo visto che quasi mai lo sono per la natura stessa di Excel ( leggi database piatto) si potrebbe optare per il collegamento al posto dell'importazione dati.

    Comunque io vedrei bene la rilevazione dei vari valori in una tabella sola indipendentemente dal numero degli anni, ma configurando il db in questo modo:

    T_giorni.

    id_giorni PK,

    giorno, data/ora

    in cui inserisci solo la data;

    T_rilevazioni

    id_rilevazione PK,

    id_giornon FK,

    rilevazione data/ora

    valore    numerico

    in cui registri i vari valori rilevati nelle diverse ore della giornata

    T_valori

    id_valori PK,

    valore numerico

    in cui inserisci nel campo valori tutti valori da 0 a 20 ( 21 righe).

    con query di questo tipo :

    SELECT 

    T_valori.valore,

    t1.contavalori,

    t1.percValore

    FROM

    T_valori

    LEFT JOIN

    (SELECT t_giorno.id_giorno,

    t_giorno.giorno,

    t_rilevazione.valore,

    nz(Count(t_rilevazione.valore),0) AS contavalori, iif([contavalori]>0,format$([contavalori]/(select count(valore) from T_rilevazione as T where t.id_giorno=T_rilevazione.id_giorno),"percent"),0) AS percValore

    FROM

           t_rilevazione

    INNER JOIN

    t_giorno

    ON

    t_rilevazione.id_giorno = t_giorno.id_giorno

    GROUP BY

    t_giorno.id_giorno, t_giorno.giorno, t_rilevazione.valore, t_rilevazione.id_giorno

    HAVING

                     t_giorno.id_giorno=forms!m_giorno!id_giorno

    ORDER BY

    t_giorno.giorno, t_rilevazione.valore)  AS t1

    ON

    T_valori.valore = t1.valore

    ORDER BY

    T_valori.valore;

    estrai tutti i valori in base alla giornata di riferimento leggendo la giornata dal controllo di una maschera.

    Passando da un record all'altro della maschera, leggi, cambiando la giornata, la maschera stessa si aggiorna mostrando le ricorrenze del valore rilevato ( il conteggio) e la % sul totale delle stesse.

    Lo statement  è un po' complicato, ma in sostanza non fa altro che estrarre i dati non corrispondenti tra la tabella valori e l'inner join questa volta tra la tabella giorni e rilevazioni.

    Questa query diventerà il recordSource della tua maschera.

    Tutto qua.

    Siccome è Natale e siamo tutti più buoni, (a proposito auguri :-), qui trovi una demo di quanto spiegato qui sopra.

    Prova a scaricarla. Oltre allo statement suggerito ne ho inserito un altro per ottenere anche la % totale con una tabella derivata e query di unione, mi piace poco anzi niente...ma la lascio ugualmente.

    Apri la maschera, scorri i records, dai un'occhiata alle tabelle, e facci sapere.

    [...]

    e soprattutto anche per imparare ad utilizzare un minimo decentemente access.

    [...]

    questa mi è piaciuta :-)

    [...]

    Vi ringrazio già adesso per l'attenzione

    [...]

    prego.

    Ciao, Sandro.

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2016-12-25T18:30:02+00:00

    Ciao Stefano,

    prima di tutto dovresti descrivere le quattro tabelle.

    Quali sono i nomi delle tabelle?

    Quali campi (nome e tipo dato) per ciascuna tabella?  15 campi forse sono troppi in un record.

    Ciao Mimmo

    La risposta è stata utile?

    0 commenti Nessun commento