logo MC2 E-Learning S.a r.l.
Logo Einstein grigio sfumato
e = m x c al quadrato





Gestire il magazzino con Microsoft Access

Impariamo a costruire un programma per gestire il nostro magazzino con Microsoft Access







La maggior parte dei programmi di gestione del magazzino hanno fin dalle origini un problema:
non esiste, e non può esistere, una sola procedura per l’automazione del magazzino.

è forse questo il limite dei pacchetti applicativi che si trovano in commercio.

Si tratta di solito di procedure realizzate per un particolare tipo di attività merceologica e che poi, solerti venditori cercano di vendere ad altri «clienti» che svolgono tutt’altra attività. «è sufficiente qualche piccola personalizzazione» è la frase tipica.

Quello che ci proponiamo di fare con questo tutorial è di darvi quindi degli spunti e delle tecniche su come utilizzare Microsoft Access per approcciare il problema del Magazzino e non di proporre una soluzione definitiva.

E capitato di assistere al tentativo di personalizzare una procedura di magazzino fatta per un autoricambista alle necessità di un grossista di prodotti parafarmaceutici!

I risultati negativi vanno oltre l’immaginabile. Alla fine, dopo parecchi mesi di «lavoro di personalizzazione», il cliente era del tutto insoddisfatto e la società di software aveva perso parecchi soldi. Ma questa è un’altra storia.

Cerchiamo quindi di non commettere gli stessi errori che altri hanno già fatto e facciamo subito una affermazione che elimini malintesi: non esiste una procedura di magazzino buona per tutti.

Il senso di questa affermazione è ovvio: non c’è una tale procedura; un autoricambista ha problemi diversi da un negozio di abbigliamento e così via.

Quello che ci proponiamo di fare è, quindi, fornirvi una serie di punti base e riferimenti generali; aggiungendo o togliendo alcune cose ognuno potrà ottenere una buona procedura per l’automazione del proprio magazzino.

Vedremo quindi di seguire un iter della merce che sia il più generale possibile scendendo nel dettaglio
quando questo dettaglio può essere di interesse più o meno comune.

Il primo problema che si incontra, solitamente, è quello della codifica dei prodotti.

Quale codifica adottare? Una codifica «parlante», che cioè indichi subito il tipo del prodotto e, magari, chi lo
fornisce, o un semplice numero progressivo? Numerico, alfabetico, alfanumerico? Non aspettatevi una risposta ora.

La realtà è che quando si lavora su sistemi di elaborazione di bassa potenza e con dischi non troppo capienti conviene codificare i prodotti in modo che l’archivio che ne verrà fuori sia il più possibile ordinato secondo quelli che saranno i prospetti statistici che vorrete ottenere; questo per evitare ordinamenti più o meno
lunghi dell’archivio per ottenere le statistiche desiderate.

Struttura della chiave

Ma la struttura della chiave è anche funzione del modo nel quale arriva la merce ed in seguito vedremo perché.

Comunque, quello che certamente non deve mai mancare in una chiave è il carattere di controllo (check-digit)

Si tratta di un carattere ottenuto da un algoritmo di tipo qualsiasi dai caratteri della chiave e che entra a far parte integrante della chiave stessa.

Lo scopo del carattere di controllo è quello di evitare errori nella digitazione dei codici dei prodotti.

Quello che ci sentiamo di affermare è che una chiave
organizzata come:

* codice fornitore
* progressivo numerico
* check digit

va benissimo per tutti gli scopi. Il progressivo può essere generale o essere diverso per i vari fornitori (ipotesi quest’ultima che ci sembra preferibile).

I sottoprodotti e le taglie.

lpotizziamo che ogni prodotto possa essere articolato in sotto-prodotti.

Questi sottoprodotti possono essere i diversi numeri per le scarpe, le diverse taglie di uno stesso modello per l’abbigliamento.

Ovviamente se nel vostro magazzino non è prevista questa fattispecie, eliminate la gestione delle taglie.

Utilizzare le tabelle esterne

Il concetto di tabella è molto semplice: si tratta di un insieme di informazioni di tipo più o meno variabile, di natura codificabile, che conviene tenere su di un archivio per caricarle in memoria all’atto dell’esecuzione di un programma.

Ad esempio, supponiamo che voi facciate degli sconti ai vostri clienti, supponiamo inoltre che tali sconti siano variabili a seconda del tipo di cliente e che sulla fattura o sulla bolla voi vogliate indicare anche in chiaro la causale dello sconto; per esempio:

«sconto 3% pagamento in contanti».

Una informazione del genere, memorizzata sull’archivio clienti, si porta via una trentina di caratteri per ogni cliente.

Però è possibile mettere nell’archivio clienti un codice; questo codice troverà poi la sua trascodifica, sia in termini percentuali che in termini di descrizione su di una opportuna tabella.

Il risparmio in termini di spazio è evidente, ma c’è anche un altro vantaggio tutt’altro che trascurabile: nel mo
mento in cui vorrete variare il tipo di sconti fatti ad un cliente o variarne la percentuale, sarà sufficiente variare un codice sull’archivio clienti o un elemento della tabella per ottenere lo scopo.

Il vantaggio di gestire la tabella come un archivio esterno al programma da caricare in memoria come prima operazione quando il programma stesso parte o da accedere di volta in volta se la tabella fosse troppo voluminosa in termini di caratteri, vi consente di non ricompilare i programmi ogni volta che variate qualche elemento della tabella.

Sul modo di gestire le tabelle per ottimizzare operazioni e ricerche diremo in seguito.

Logica del magazzino

Grosso modo i magazzini funzionano tutti sulla base di questa logica:

1. si ordina un prodotto ad un fornitore
2. il fornitore consegna ed i prodotti vengono caricati nel magazzino
3. si vende e si va sotto scorta
4. si procede ad un nuovo ordine.

La nostra convinzione è che l’aspetto importante nella gestione di un magazzino sia quello della progettazione del contenuto degli archivi.

Infatti abbiamo motivo di ritenere che quando questa importantissima operazione sia stata fatta bene, le fasi successive, e cioè la definizione del modo nel quale si andrà ad interagire con i dati, le maschere utilizzate, i report, le macro e le routine vba siano molto facilitate.

Il Flow chart

Si tratta, in pratica (figura 1), di disegnare un quadrato nel quale si scrive il codice del programma e quello che fa; dopo di che ci si disegnano intorno gli archivi; spiegarsi con un esempio è la cosa più ovvia quindi, partiamo dal programma di acquisizione e stampa dell'ordine fornitore (nel nostro caso utilizzeremo una maschera di access per l'acquisizione dei dati ed un report per la stampa)

Vediamo quello che ci dice questo diagramma:

* Il programma l'acquisizione degli ordini fatti ai fornitori.
* Gli archivi gestiti dal programma sono: gli ordini, il magazzino, i fornitori, e le tabelle
* Il programma produce una stampa.
* Gli archivi ordini, magazzino e fornitori vengono sia letti che scritti dal programma (freccia bidirezionale).
* L'archivio tabelle viene solo letto (freccia unidirezionale)

Come abbiamo detto tutto questo sembra così ovvio e banale da sembrare inutile.

In realtà lo scopo di questo diagramma non è quello di aiutarvi a scrivere il programma, ma quello di farvi avere, quando comincerete ad averne qualcuno, una idea chiara della vostra procedura.

Stessa cosa per la fase di Emissione della bolla o del documento di trasporto: la procedura è similare alla prima soltanto che al posto dei fornitori ci sono i clienti e al posto degli ordini ci sono le bolle (figura 2).

Mettendo insieme tutti i diagrammi potrete rendervi conto di tutte le relazioni che esistono tra archivi e programmi.

Vi renderete conto dell’importanza di questi diagrammi quando avrete deciso (speriamo il più tardi possibile) di modificare la struttura di un archivio o la logica elaborativa di un programma.

l database GestioneMagazzino.mdb

Vedremo in dettaglio ora un esempio applicativo con un database di access, il database GestioneMagazzino.mdb, il quale è in fase di perfezionamento e di ulteriore aggiornamento quindi per il momento non è previsto il download.

Seguiteci e tornate su questa pagina perchè verrà modificata spesso.

Ecco la finestra delle relazioni di questo database, la quale ci da una panoramica dei principali archivi e di come sono relazionati tra loro (figura 3).
Oltre agli archivi visualizzati qui sopra, il database comprende le seguenti tabelle:

* Agenti
* Banche
* CategorieEconomiche
* CausaliTrasporto
* CodiciIVA
* ModalitàTrasporto
* Nazioni
* Pagamenti
* Province
* ScontiAcquisto
* ScontiMerce
* ScontiVendita
* SpeseEffetti
* TabellaGenerale
* Valute

La maschera per l'acquisizione delle bolle clienti (figura 4):

Il report Listino di vendita suddiviso per taglie (figura 5):

In questa sezione del tutorial vedremo più in dettaglio i seguenti esempi: (in preparazione!)

Codifica dei prodotti di magazzino

Gestione delle taglie

Definizione archivi ordini e bolle

Maschera per l'acquisizione degli ordini

Maschera per la registrazione delle bolle

Definizione archivio clienti e fornitori

La gestione degli sconti

Stampa Listino di vendita

Valorizzazione magazzino semi-riepilogativo

Fatturazione collegata al magazzino

Utilizzo dei report per le statistiche di magazzino.



Importare dati da Excel in Access

Rubrica telefonica con Microsoft Access

Utilizzare Microsoft Query

Costruire una tabella con Access

Le Relazioni tra le Tabelle di Microsoft Access

Gestione Documenti con Microsoft Access

Access controllo gruppo di opzioni

Importa dati da Excel

Importa dati da testo delimitato

Importa dati da file testo larghezza fissa

Casella combinata per selezione valori

Esempi Query con Access

Esempi di Maschere con Microsoft Access

Esempi di Report con Microsoft Access

Le pagine di accesso ai dati di Access

Esempi di Macro con Microsoft Access

Esempi di accesso ai dati con VBA Microsoft Access

Gestire le fatture con Microsoft Access

Aprire un file di Access con ADO e il VB6



Tutorials su Microsoft Access




Dr.Maurizio Cucchiara
autore del corso:
"Corso Base di Microsoft Access"
disponibile on line su questo sito
MC2 E-Learning S.a r.l.
Formazione per il Web
http://www.mc2.it/html/access.html


Cerca sul web con Google:


Ricerca personalizzata