RIPASSO SU MASCHERA E SOTTOMASCHERA
Come visto nel precedente articolo, la relazione “Uno a Molti” tra la tabella ITEMS e la tabella MOVIMENTI permette di visualizzare, tramite maschera e sottomaschera, tutti i movimenti relativi ad un determinato item. Per esercizio ripercorriamo velocemente gli stessi passaggi utilizzando stavolta le tabelle CATEGORIE e ITEMS. Passo 1, creare una la query Q_CATEGORIE che metta in ordine alfabetico le categorie. Passo 2, realizzare la maschera M_CATEGORIE2 prendendo come origine dati non la tabella CATEGORIE ma la query Q_CATEGORIE. Passo 3, realizzare una sottomaschera e utilizzare la tabella ITEMS (relazionare ID con ID_CATEGORIA); chiamare la sottomaschera SM_ITEMS. La maschera M_CATEGORIE2 semplicemente visualizza, per ogni categoria, la lista degli items associati.
QUERY DI CALCOLO
La tabella MOVIMENTI permette di realizzare dei calcoli tramite query. Il primo calcolo è la somma dei carichi e degli scarichi di ogni singolo item. Utilizzare Struttura Query su tabella MOVIMENTI, scegliere ID_ITEM (con raggruppamento), CARICO (con somma), SCARICO (con somma). Questa query, Q_MOVIMENTISOMMA, è di raggruppamento. Il secondo calcolo è la differenza tra i valori di carico e quelli di scarico di ogni singolo item, così da ottenere il valore di giacenza dell’item (rimanenza). Utilizzare Struttura Query su query Q_MOVIMENTISOMMA; scegliere ID_ITEM, SommadiCARICO e SommadiSCARICO; creare un nuovo campo con la dicitura: GIACENZA_ITEM: [SommadiCARICO] – [SommadiSCARICO]. Tale formula, una volta lanciata la query, restituisce per ogni item il totale dei carichi, il totale degli scarichi e la differenza tra i due valori, cioè la giacenza o rimanenza dell’item (sul nuovo campo GIACENZA_ITEM, che non esiste nella query precedente, né nella tabella MOVIMENTI, ma viene creato dalla query stessa). Questa seconda query va chiamata Q_MOVIMENTIGIACENZA.
UTILIZZO DEI CALCOLI DI GIACENZA
Il modo più immediato di utilizzare le informazioni restituite dalle due query di calcolo è creare una maschera apposita con Origine Dati la query Q_MOVIMENTIGIACENZA. La maschera possiamo chiamarla M_MOVIMENTIGIACENZA, da creare in stile tabulare, così da avere tutti gli items sulla stessa schermata, e con gli items in ordine alfabetico (basta aprire la maschera in visualizzazione Layout e ordinare alfabeticamente in base al campo Items; l’impostazione rimane salvata). In questa maschera potrebbe anche essere superfluo visualizzare i totali di carico e di scarico… nel caso lasciare solo il valore di giacenza.
Altra soluzione per mostrare il dato della giacenza è farlo direttamente sulla maschera M_ITEMS2, quella che visualizza un Item alla volta insieme a tutti i relativi movimenti. Per farlo è sufficiente trascinare la query Q_MOVIMENTIGIACENZA sulla maschera M_ITEMS2; viene creata la sottomaschera SM_MOVIMENTIGIACENZA che mostra, per ogni Item, la giacenza attuale. Altra soluzione ancora è utilizzare una apposita Casella di Testo all’interno della maschera M_ITEMS2. La procedura, molto più macchinosa del semplice utilizzo di una query, necessita di codice VBA e viene ben descritta nei video in link all’articolo.
ARGOMENTI E FONTI
Questo articolo sul database di gestione di EVE Online affronta i seguenti argomenti: Query, Query di calcolo. Per realizzare correttamente questa parte del database sono state consultate le seguenti fonti:
Access: Gestione Magazzino – Calcolo rimanenze carico e scarico. Parte Seconda – Tutorial 43
10 Tutorial Magazzino Query e somme (1 di 3)