Newsgroup: it.comp.appl.access
Titolo: distinta base.

Con access '97 gestisco (vorrei) la mia attività, siccome ho una produzione
ogni volta che costruisco un articolo devo sottrarre al magazzino i vari
componenti che formano l'articolo stesso.
I componenti li ho separati in una tabella, c'è qualcuno che mi può aiutare
a gestire la cosa con VBA.
Io ho bisogno che quando carico l'articolo finito in magazzino
automaticamente mi vengano scaricati i vari pezzi che lo compongono, spero
di essere stato chiaro e ringrazio in anticipo chiunque mi possa aiutare.
Lino

 wrote in message 
news:jJ1Rf.30249$PR2.5...@twister2.libero.it...

In una contabilità industriale i pezzi vengono normalmente scaricati
dal magazzino componenti / materie prime per essere imputati al
conto lavorazione. Quando il prodotto finito esce dalla lavorazione
quest'ultimo conto viene scaricato sul magazzino prodotti finiti.
Quindi il magazzino componenti / materie non viene scaricato con
riferimento ai prodotti finiti bensì con riferimento ai materiali
passati alla lavorazione; e ancora il magazzino prodotti finiti
non viene caricato con riferimento ai materiali passati alla lavorazione
ma con riferimento ai prodotti effettivamente usciti dalla lavorazione.
Sono certo che non ti sfugge la ragione di ciò: non sempre
l'unità di prodotto finito viene ottenuta coll'impiego delle
quantità standard di materie e componenti.
Ciò premesso è necessario che tu determini anzitutto in base a quali
valori vuoi tenere la contabilità di magazzino: unità di misura fisiche
o unità monetarie. O ambedue.
L'analisi e la progettazione sono le cose più importanti: chiarite
queste la stesura del codice non dovrebbe comportare eccessivi
problemi al programmatore e neppure lasciargli ampi margini di
discrezionalità.
In ogni caso non si tratta affatto di una passeggiata.
Riceverai altri suggerimenti e indicazioni.
Ascoltali, ponderali e fatti risentire.
Ciao
Bruno


NOn ci hai detto come hai strutturato il tuo db..
Quella tabella ha già le quantità? o è solo l'elenco degli articoli?
-- 
_ _
Ciao
MAssimiliano Amendola            
www.accessgroup.it
Cisa - Conferenza Italiana per Sviluppatori Access
Info:  
www.donkarl.com/it

Sicuramente tu sai meglio di tutti come funziona l'attività che stai
gestendo.
Sicuramente conosci bene una distinta base.
Io ti chiedo. La distinta deve essere monolivello?
Io con Access riesco a gestire distinte monolivello, ma non so come
fare per quelle plurilivello, ossia, non conosco bene la programmazione
per farlo. Anche se l'algoritmo ce l'ho chiaro nella testa.
Se la distinta è monolivello non è difficile da gestire e puoi fare
un sacco di cose senza complicazioni VBA, diversamente non so.
Io la tabella l'ho strutturata così: in una colonna metto il codice
del prodotto e in una colonna a fianco metto il codice padre.
Per conoscere da cosa è composto un prodotto basta cercare tutte le
volte che compare il codice padre e scrivere da qualche parte il codice
figlio. Si può fare una ricerca con le query e cose del genere e in
questa maniera riesco a farlo, ma solo al primo livello.
Con un po' di programmazione non è difficile cercare ricorsivamente i
figli dei filgli fino alla fine. Ma non conosco i nomi delle variabili
e un sacco di dettagli, ma con dei cicli for-next sono siciro sia
possibile. Devo comprarmi un libro sulla programmazione in access e
trovare il tempo di leggerlo!
Ciao

Lo scarico dei materiali è tanto più semplice quanto meglio hai
strutturato
il DB.
Ad esempio la tabella Materiali deve essere solo UNA e gestita in modo
ricorsivo
associando ad ogni materiale il Materiale Parent(se esiste), significa
che anche
il PezzoFinito sarà nella stessa tabella dei materiali.....!(Questo è
il passo
più ostico da capire).
A questo punto la generazione della DIBA è molto facile con una
funzione ricorsiva
che ti restituisce esattamente l'esploso dei materiali per la
costruzione del Pezzo.
Estratta(o durante l'estrazione) della DIBA andrai ad aggiornare le
giacenze, e quì hai
2 tecniche:
1)Updatare la nuova giacenza(sinceramente non userei questo metodo)
2)Inserire un Movimento di prelievo(uscita) per i singoli materiali,
quindi
la Giacenza effettiva sarà calcolata OnTheFly per differenza.
Questo 2° è estremamente più conveniente per tenere la storia(se
serve)
Trovi un esempio molto chiaro di Lorenzo(PXY) quì:
http://www.riolab.org/viewrisorsa.asp?id=39
Saluti.
@Alex