Access 2013 - domanda basilare

di il
6 risposte

Access 2013 - domanda basilare

Salve, scrivo qua perchè è da qualche giorno che cerco di usare access, dopo anni di assoluta inattività. Sto creando una lista di prodotti che ho in magazzino e da lì,con un tasto, vorrei eliminare quelli che vendo, sottraendoli dalla quantità totale. Chiedo aiuto a chi fosse più esperto di me.

6 Risposte

  • Re: Access 2013 - domanda basilare

    Eliminare è un concetto completamente errato.
    La tua visione non è affetta da inattività ma da una necessaria riflessione sulla struttura da dare.
    Le transazioni di acquisto/vendita non eliminano nulla ma registrano un movimento.
    Il movimento può generare una variazione nello stock.
    Devi quindi agire in 2 punti... registrare la vendita con codice materiale e quantità... ed eventualmente aggiornare lo stock di magazzino che risiede da un'altra parte... ovvero nella tabella componenti di magazzino o Anagrafica Prodotti... come vuoi...

    La vendita in sostanza anche se di 1 singolo prodotto ha una transazione univoca legata allo scontrino o fattura... in linea di ragionamento.

    Quindi le tabelle da usare sono almeno 3 e si realizza una relazione molti a molti tra i prodotti e le vedute.

    Ti ci ritrovi in questo...?
  • Re: Access 2013 - domanda basilare

    Ho usato Access a livelli base, ma comunque ho formulato la domanda in modo errato, ma credo si capisca bene cosa io voglia fare col mio database. Chiedo principalmente aiuto su questa operazione che concretamente non riesco a mettere in atto. Quando vado a utilizzare il prodotto che è in lista nel mio database, voglio che nelle quantità totali quel prodotto o quei prodotti vengano sottratti, dunque come posso registrare questa operazione, senza una tabella che inserisca fatture o scontrini?
  • Re: Access 2013 - domanda basilare

    La traduzione è grosso modo questa.
    Normalmente in un magazzino NON si cancellano le righe, perchè perderesti le informazioni che erano mantenute.
    Avrai righe di CARICO (quantità positive), e righe di SCARICO (quantità negative).

    Quando avrai un CARICO metterai che so una riga composta da due campi: tipo e quantità
    cocacola, +10
    (in realtà ci metterai mille altre informazioni, data, magazzino, documento eccetera).
    quando venderai (o consumerai) 3 bottiglie, avrai una riga
    cocacola, -3

    A questo punto quando vorrai sapere "quanta cocacola ho in magazzino"?
    sommerai (non so come si fa in access) con un group by.

    E il risultato sarà
    cocacola, +7

    Sempre nel "mondo normale", avrai un'anagrafica degli articoli (con tante belle cose sopra), una tabella righe di magazzino.
    Poi, sempre in "qualche modo" (non ti so dire per access, nel mondo normale con un trigger e una vista) opererai la "magia"
  • Re: Access 2013 - domanda basilare

    Questo approccio va tipicamente bene se gli articoli son poche e le righe poche.
    Ma, visto che stai usando Access, suppongo si tratti di una piccola attività.
    Una operazione come quella sopra non va molto bene per archivi con centinaia di migliaia di righe, perchè per avere i saldi, ogni volta, devi effettuare dei calcoli che rallentano le operazioni.

    in questo caso si può operare con tabelle "di supporto", cioè dove ci sono i saldi.
    lì vengono mantenute le somme, aggiornate man mano.

    nel caso di lavori "veramente" grandi avrai uno sharding misto verticale, cioè avrai una tabella saldi con PIU' righe per lo stesso codice.
    Questo consente di avere lock distribuiti sulle righe (e non SULLA al singolare riga), così da poter fare update concorrenti.
    Poi sommerai comunque dalla tabella dei salti, ma su poche (5-10 righe).
    Tutto chiaro?

    Perchè se vuoi ti descrivo come si fa un magazzino "vero", ma ci vorranno un paio di mesi
  • Re: Access 2013 - domanda basilare

    Un magazzino ""vero""" sarebbe l'ideale, ma non sono propriamente competente per fare una cosa del genere, suppongo..
  • Re: Access 2013 - domanda basilare

    Ma la tua esigenza è per un esercizio scolastico o per un vero magazzino?

    Nel secondo caso, DEVI avere la sia competenza informatica sia quella del problema "magazzino" e di come si gestisce. Altrimenti non vai da nessuna parte.

    Nel caso dell'esercizio, beh, è un'altra storia.
Devi accedere o registrarti per scrivere nel forum
6 risposte