Query non aggiornabile

Anonimo
2016-03-06T12:25:38+00:00

Buona domenica.

Sull'argomento ho visto molte domande ma non sono riuscito ad adattare le risposte al mio problema.

Ho creato una Query di aggiornamento basata su una Query in cui si trovano sia dei GROUP BY che dei SUM; l'unica cosa che ho capito è che l'errore "Query non aggiornabile" nasce da qui ma non ho idea di come risolvere il problema.

Premetto che ho tentato la strada di una tabella di appoggio provvisoria cui accodare i dati, ma non mi sembra percorribile, in quanto se successivamente all'accodamento intervengono delle modifiche (e ciò accade praticamente sempre), non posso avere i dati modificati.

Grazie per la collaborazione.

Saluti

Andrea

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
Risposta accettata dall'autore della domanda
Anonimo
2016-03-07T19:30:07+00:00

Ciao Andrea,

la difficoltà nasce dal fatto che la tabella contenente i dati è denormalizzata, per avere una prima normalizzazione bisognerebbe trasformarla così:

ID  

descrizione    

anno   

punto vendita  

Mese

Importo

qui sotto un db di esempio che partendo dalla tabella denormalizzata, come da te specificato, viene creata una query di unione che restituisce i dati normalizzati, poi su questa viene eseguita la sommatoria per puntovendita-anno-mese-descrizione.

Denormalizzato.accdb

Scaricalo, seleziona dalla maschera interrogazioni il mese e premi il pulsante Apri Query.

Ciao

Giorgio Rancati

La risposta è stata utile?

0 commenti Nessun commento
Risposta accettata dall'autore della domanda
Anonimo
2016-03-06T13:47:32+00:00

Ciao Andrea,

come hai già sperimentato, una query con Group by non può essere utilizzata come fonte dati in una query di aggiornamento, questo è un limite del motore Jet di Access.

Potresti risolvere creando una macro che:

  1. Azzera la tabella di appoggio
  2. esegue la query di accodamento che memorizza nella tabella di appoggio
  3. esegue la query di aggiornamento che preleva dalla tabella di appoggio

Ciao

Giorgio Rancati

La risposta è stata utile?

0 commenti Nessun commento

6 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2016-03-06T19:32:33+00:00

    Ciao Andrea,

    sarebbe meglio non uscire dal tema principale ma forse sei nuovo e ancora non lo sai.

    In ogni caso la soluzione del Dlookup anche se la più percorribile in base alla domanda non è performante, credo sia meglio attingere i dati alla fonte e rieseguire la sommatoria del solo mese scelto.

    Comunque la Dlookup da inserire nella nuova query sarà qualcosa come:

    Totale: Dlookup([maschere]![interrogazioni]![combomese];"NomeQuery";"Id=" & Id)

    dove in [maschere]![interrogazioni]![combomese] c'è il nome del campo da interrogare (gennaio o febbraio ecc) e NomeQuery è il nome della query da cui attingere il totale.

    Ciao

    Giorgio Rancati

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2016-03-06T14:39:49+00:00

    Approfitto della tua competenza e pazienza per un altro caso relativo al medesimo database.

    Ho una Query composta da:

    ID_Conto: chiave

    Descrizione: testo breve

    Gennaio: importo relativo al mese  di gennaio

    Febbraio: importo relativo al mese  di febbraio

    e così via per tutti i mesi, che viene visualizzata così:

    ID   descrizione   gennaio   febbraio  eccetera

    1       Merce           100            85

    2       Energia           38            62

    Avrei necessità di creare una Query che, oltre all'ID e alla descrizione, evidenzia soltanto il mese selezionato in un'apposita maschera, tipo [maschere]![interrogazioni]![combomese].

    Ho provato con dlookup ma senza successo.

    Grazie di nuovo

    Andrea

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2016-03-06T14:07:09+00:00

    Grazie Giorgio,

    la risposta nella sua semplicità è grande ed io, ovviamente, non ci avevo pensato.

    Grazie e buona domenica.

    Andrea

    La risposta è stata utile?

    0 commenti Nessun commento