Newsgroup: it.comp.appl.access
Titolo: ...DataBase Inventario

Salve a tutti, ho un problema che da qualche giorno occupa la mia testa e
ancora non sono riuscito a risolvere. Ho creato un Database per la mia ditta
che gestisce le fatture di vendita e i pagamenti dei vari clienti. Mi è
venuto in mente di gestire con lo stesso database anche gli acquisti e di
gestire quindi anche il magazzino; per fare questo ho creato le seguenti
tabelle:
Acquisto ---->>> IdAcquisto, Numero, Data
DettaglioAcquisto ---->>> IdDettaglioAcquisto, Quantità, Articolo, Prezzo,
IdAcquisto
Vendita ---->>> IdVendita, Numero, Data
DettaglioVendita ---->>> IdDettaglioVendita, Quantità, Articolo, IdVendita
So che la vendita la potevo riprendere dalla tabella delle fatture emesse,
ma nel mio caso non posso perchè la fatturazione del materiale che vendo è
diversa rispetto alla fatturazione del materiale di acquisto e quindi devo
specificare in una tabella apposita la vendita del materiale che acquisto.
Affinchè tutto funzioni correttamente ho messo in relazione
il campo [DettaglioAcquisto]![IdAcquisto] con il campo
[Acquisto]![IdAcquisto]
e anche il campo [DettagllioVendite]![IdVendita]con il campo
[Vendita]![IdVendita]
Fatto questo mi sono creato due query: TotaleAcquisto (con i campi
[DettaglioAcquisto]![Quantità] eseguendo l'operazione di somma, il campo
[DettaglioAcquisto]![articolo] eseguendo un raggruppamento e
[DettaglioAcquisto]![prezzo] eseguendo la media dei prezzi) che mi permette
di sapere il totale articolo per articolo della merce comprata e la query
TotaleVendita (con i campi [DettaglioVendita]![Quantità] eseguendo
l'operazione di somma, il campo [DettaglioVendita]![Articolo] eseguendo un
raggruppamento) che mi permette di sapere il totale articolo per articolo
della merce venduta.
Fatto questo mi manca da fare due cose per completare l'opera:
1) Come faccio a fare la differenza fra le due query? Ovvero a me interessa
sapere quali sono gli articoli che ho ancora in carico in magazzino
2) Bloccare il tentativo di vendere un articolo se la quantità in magazzino
è inferiore a 0
Come posso fare? Grazie a tutti coloro che leggono, comprendono il mio
problema e rispondono...

 ha
scritto:

Ciao Waldis, alla tua struttura io aggiungerei fornitore negli acquisti e
clienti nella vendita così da poter implementare anche le loro schede.
Poi io slegherei la descrizione dell'articolo da dettaglio acquisto e
dettaglio vendite e ne creerei una tabella a parte.
Dopo aver fatto questo mi creerei una query in cui ci siano tutti gli
articoli e le due query di somma acq e ven (stando bene attento alle
relazioni uno a molti con articoli dal lato uno). Nella stessa quesry è
possibile inserire la somma degli acquisti - nz(la somma delle vendite) per
sapere la giacenza.
Inizia a rivederti il tutto e facci sapere
ciao MAssimiliano
--------------------------------
Inviato via 
http://usenet.libero.it

 ha scritto nel messaggio
news:151Z26Z100Z57Y1...@usenet.libero.it...

In effetti avevo già incluso all'interno delle rispettive tabelle la voce
Fornitore e la voce Cliente ma non l'avevo scritto per essere il più conciso
possibile. Per quanto riguarda l'articolo avevo provato a separarlo
mettendolo su una tabella a parte e tutto funziona correttamente, solo che
se io compro un articolo e non lo vendo (e quindi sarà presente solo
all'interno della tabella DettaglioAcquisto) quando faccio la query non mi
viene mostrato. Quello che cerco di dire è che mi vengono messi in query
solo ed esclusivamente i campi che sono presenti sia in DettaglioAcquisto
che in DettaglioVendita. Sbaglio il tipo di query? Sbaglio la relazione? O
sbaglio qualche altra cosa? Grazie d nuovo...


in realtà il valore null in una query è una sorta di buco nero: puoi avere
una somma conmille addendi ma se anche uno solo è null non ti restituisce
nulla. Il problema si risolve semplicamente nz([tuoaadendo]). Cioè :
nz([campo1])-nz([campo2]). ti conviene metterlo anche al carico di modo che
puoi verificare eventuali scarichi sbagliati senza carichi.


 Inviato via 
http://usenet.libero.it
Per risolvere il problema degli articoli acquistati e non venduti, tra la
tabella principale (quella dove hai tutti gli acquisti ovvero quella degli
articoli se l'hai creata) un left join e non un inner join con la tabella
vendite
Ciao Max