Access Query a Campi Incrociati

Anonimo
2019-08-02T11:29:09+00:00

Ho una Query a Campi Incrociati che riepiloga le mie spese suddivise per anni (intestazione colonne) divise per voce di spesa (intestazione righe). I campi sono popolati dai totali.

Il problema che non riesco a risolvere è legato al modo di visualizzare il risultato perché l'intestazione righe (anni) non è fissa ma in un caso posso avere 2015, 2017, 2018, 2019, 2020 ma se cambio la data di una spesa dal 2015 al 2016 la query funziona ovviamente in modo esatto (la nuova intestazione colonne prevederà il 2016 e la form però mi andrà in errore.

In che modo posso risolvere?

Grazie.

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

7 risposte

Ordina per: Più utili
  1. Anonimo
    2019-08-02T13:13:39+00:00

    Ciao Sandro, ho risolto e mi fa piacere condividere la soluzione che è stata banalissima. Non so però come condividerla se non allegandola ad una mail. In poche parole ho lasciato perdere la Query a Campi incrociati ed al suo posto ho fatto una banalissima Query di di selezione con i tre campi che mi servono (Voce di spesa, Anno, Importo) ed ho aggiunto altri 6 campi:

    A1: IIf([Anno]=Year(Now())-4;[IMPORTO];0);

    A2: IIf([Anno]=Year(Now())-3;[IMPORTO];0);

    A3: IIf([Anno]=Year(Now())-2;[IMPORTO];0);

    A4: IIf([Anno]=Year(Now())-1;[IMPORTO];0);

    A5: IIf([Anno]=Year(Now());[IMPORTO];0);

    A6: IIf([Anno]=Year(Now())+1;[IMPORTO];0)

    In questo modo la query mi popola per Voce di spesa e per anno i valori.

    Con la Query successiva faccio il raggruppamento per Voce di spesa ed Anno e somma, invece, per i 6 campi (A1, A2, A3, A4, A5, A6).

    La Form la origino da questa query ed il gioco è fatto. Le etichette ovviamente le origino dinamicamente con Year(Now())-4 e così via. Di anno in anno non devo nemmeno modificare nulla perché sarà sempre lo Year(Now()) a provvedere automaticamente.

    Se mi dici come, ti mando una Demo.

    Ciao.

    La risposta è stata utile?

    1 persona ha trovato utile questa risposta.
    0 commenti Nessun commento
  2. Anonimo
    2019-08-02T15:31:58+00:00

    Sandro spero che il collegamento funzioni

    https://onedrive.live.com/?id=root&cid=AC55D1E4FB368CE5

    dalle 3 query comprenderai facilmente come ho aggirato gli ostacoli.

    Access 2003,

    Ciao.

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2019-08-02T14:40:56+00:00

    Ciao Luigi, 

    se vuoi mostrarci il tuo operato, utilizza un programma di filesharing tipo quello usato da me per mettermi a disposizione la demo.

    In questo forum non si possono allegare files.

    Attendiamo fiduciosi e curiosi.

    Ciao, Sandro.

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2019-08-02T12:09:52+00:00

    Sandro ho guardato la tua soluzione e, penso o spero, di poterla replicare su una Form. Per il momento, pur di risolvere, ho realozzato una query di creazione tabella originandola dalla Query a C.I. Così ogni volta, via codice faccio eseguire il tutto e chiudo con la visualizzazione della tabella.

    Mi resta da capire come ridimensionare e posizionare via codice la tabella.

    Intanto grazie infinite.

    Ciao.

    La risposta è stata utile?

    0 commenti Nessun commento
  5. Anonimo
    2019-08-02T11:43:23+00:00

    ciao Luigi,

    il problema che descrivi per le query a campi incrociati con access e' un limite ed e' cosi' by design.

    La soluzione che avevo individuato ed per un certo senso efficace e' quella di stabilire un limite massimo di colonne disponibili e generare tanti controlli non associati quante sono appunto le colonne che supponevo estrabili.

    Tutte da impostare con proprieta' visible=No.

    A runtime,  con apposita routine VBA vai a valorizzare i controlli non associati in base alle colonne estratte che devono, ovviamente, essere numericamente inferiori od uguali al numero dei controlli non associati.

    Spero sia chiaro….

    vedi se questa DEMO puo' esserti di aiuto. Il ragionamento e' per un report, ma poco cambia.

    Ciao, Sandro.

    La risposta è stata utile?

    0 commenti Nessun commento