Maschera con sottomaschera visualizzazione foglio e diversi subtotali

di il
5 risposte

Maschera con sottomaschera visualizzazione foglio e diversi subtotali

Ciao a tutti,

mi sono imbattuto in un altro problema nella creazione del mio database access:

Ho una maschera due sottomaschere entrambe in visualizzazione foglio dati collegate tra di loro, per semplificare le chiamero cosi:

1 Commessa (maschera padre)
2 macchine della commessa (collegata a commesse)
3 Operazioni sulle macchine (collegata a operazioni)

In elenco macchine ho un campo che si chiama "totale ore previste". "Totale ore previste" è dato dalla somma delle ore di tutte le operazioni contenute nel campo "ore previste" contenuto in [operazioni sulle macchine].

Quindi in [Operazioni sulle macchine] ho creato un campo in pie di pagina chiamandolo totale e messo la formula "Totale" = somma([ore previste]) mentre in [macchine della commessa] ho impostato "origine controllo" = [Maschere]![Commessa]![Operazioni sulle macchine Sottomaschera].[Form]![Somma Ore previste]
Funziona tutto bene... per la prima riga! (vedi img 1)
Cattura1.JPG
Cattura1.JPG

Essendo stato impostato come valore predefinito, se cambio la voce "macchina in fornitura" mi aggiorna il totale macchina calcolandomi poi quello corretto e non andandomi a modificare gli altri campi, cosa che non fa pero all'apertura della maschera (vedi img2).
Cattura2.JPG
Cattura2.JPG

Non posso fare una query con raggurppamento perche ho bisogno di modificare i dati in [macchine della commessa] avrei bisogno di dare come valore predefinito la somma dei totali contenuti in [operazioni sulle macchine], ho provato a smanettare con gli aggiorna ma con scarsi risultati, come faccio a dirgli su apertura maschera calcola tutti i totale ora previsti come se scegliessi di volta in volta la macchina in fornitura?

5 Risposte

  • Re: Maschera con sottomaschera visualizzazione foglio e diversi subtotali

    I SubTotali li puoi fare nei Report... in una Maschera è difficile e probabilmente la complicazione potrebbe risultare sbilanciata...

    Ti posso esporre un esempio che feci qualche tempo fa... se può aiutarti:
    http://forum.masterdrive.it/access-79/visualizzare-elenco-subtotali-in-maschera-continua-70895/
  • Re: Maschera con sottomaschera visualizzazione foglio e diversi subtotali

    Ciao Alex,

    ti ringrazio per la risposta, effettivamente anche io credo non sia un uso ortodosso quello che mi sono prefisso tuttavia devo per forza di cose avere un campo calcolato senza perdere la possibilita di modificare i dati.

    L'unica cosa che mi viene in mente a questo punto è una query di aggiornamento, quando cambio un dato un [operazioni sulle macchine] faccio aggiornare il totale in [macchine della commessa].

    Provando a fare questa operazione pero mi da l'errore "per l'operazione è necessaria una query aggiornabile", non è possibile prendere i dati da una query raggruppamento e scrivere in una tabella?
  • Re: Maschera con sottomaschera visualizzazione foglio e diversi subtotali

    Devi distinguere la visualizzazione dalla modifica, usa la Form di Visualizzazione solo per quello, poi per modificare apri una Form in Visualizzazione singola puntando al Record da editare, in modalità SINCRONA(acDialog) ed alla chisura effettui un Requery della Form che visualizza.
  • Re: Maschera con sottomaschera visualizzazione foglio e diversi subtotali

    Scusa sono un passo indietro, per ora sto cercando di fare una query di aggiornamento per tutti i campi, poi volevo legare la query alla macro per caricare solo i dati che sto visualizzando e non appesantire il calcolo... per ora mi sono incartato ancora prima di arrivare alla parte della Form.

    Ho fatto una query per visualizzare i totali quindi ho "ID macchina" e "totale ore"
    A questo punto ho fatto una query di aggiornamento che scrive nella tabella [macchine].
    Cattura2.JPG
    Cattura2.JPG

    Qui mi da l'errore perche provo a scrivere da una query di sola lettura (anche se non capisco perche dato che deve appunto prendere il campo totale)

    Quindi faccio la somma direttamente nella query di agggiornamento
    Cattura1.JPG
    Cattura1.JPG

    Ma mi dice che la query non include la funzione "totale ore previste" specificata come parte di una funzione di aggregazione.

    Ho cercato sul forum e trovato questo: ** ed ho modificato la query in sql aggiungendo GROUP BY ma mi da un errore di sintassi, la questo è l'sql

    UPDATE [20 Macchine] LEFT JOIN [30 Attivita macchine] ON [20 Macchine].ID = [30 Attivita macchine].Id_macchina_riferimento SET [20 Macchine Filling].[Totale ore previste] = Sum([30 Attivita macchine].[Ore previste])
    Group By [Totale ore previste];

    Ci sto sbattendo la testa da stamattina ma non c'è verso...
  • Re: Maschera con sottomaschera visualizzazione foglio e diversi subtotali

    @Alex ha scritto:


    Devi distinguere la visualizzazione dalla modifica, usa la Form di Visualizzazione solo per quello, poi per modificare apri una Form in Visualizzazione singola puntando al Record da editare, in modalità SINCRONA(acDialog) ed alla chisura effettui un Requery della Form che visualizza.
    Alla fine ho risolto con una soluzione simile che credo era quella che mi avevi indicato, doppia maschera, inserimento (sx) e visualizzazione (dx)..

    Cattura.JPG
    Cattura.JPG

Devi accedere o registrarti per scrivere nel forum
5 risposte