Aiuto per maschera di inserimento record

di il
3 risposte

Aiuto per maschera di inserimento record

Salve a tutto sono nuovo di questo forum !

Ho bisogno di una mano per un database access che sto facendo.E' un DB per la gestione di attrezzature da noleggiare . Ho una tabella "Prodotto" in cui ho i 4 prodotti che possono essere noleggiati ( e idealmente da non modificare più una volta creata) e ad ogni prodotto è associata la quantità disponibile. Ho poi una tabella che tiene traccia dei clienti e una tabella che tiene traccia dei noleggi effettuati dai clienti (che mi realizza il molti a molti tra "Prodotto" e "Cliente" ) .

Il fatto è che ho creato una maschera in cui voglio puramente inserire i noleggi(quindi non voglio avere visualizzazioni di record o altro,solo inserimento), in cui prendo automaticamente la data e l'ora del noleggio, mostro con una combobox i clienti tra cui poter scegliere e stessa cosa per i prodotti . Una volta scelto un prodotto ,mediante una query, visualizzo in una textbox la quantità disponibile. L'utente inserisce poi la quantità da noleggiare e mediante un pulsante vorrei che avvenisse l'inserimento nella tabella dei noleggi l'avvenuto noleggio.
E qui i problemi che non so come risolvere:
-l'inserimento dovrebbe avvenire solo se l'utente ha riempito tutti i campi ...
- ... e se la quantità da noleggiare è inferiore rispetto alla disponibilià effettiva del prodotto scelto
-una volta avvenuto l'inserimento del noleggio,nella tabella dei prodotti dovrebbe aggiornarsi il valore di disponibilità sottraendo il numero di quelli effettivamente noleggiati.

Scusate la pappardella ma ho provato a riassumere in modo (spero) comprensibile i problemi

3 Risposte

  • Re: Aiuto per maschera di inserimento record

    Bigz92 ha scritto:


    Ho una tabella "Prodotto" in cui ho i 4 prodotti che possono essere noleggiati ... e ad ogni prodotto è associata la quantità disponibile.
    Sicuramente un primo problema parte da qui. Non devi avere un campo QuantitàDisponibile nella tabella Prodotti.
    La tabella Noleggi dovrebbe darti i movimenti, mentre QuantitàDisponibile non deve essere un campo di tabella, ma il risultato di una query che guarda i vari movimenti in tabella Noleggi.
    Il fatto che tu voglia essere tenuto all'erta di questo valore è un discorso che va gestito a più ampio respiro...ma occorre avere le idee chiare su struttura tabelle, uso di query ecc...
  • Re: Aiuto per maschera di inserimento record

    Prima di tutto grazie della risposta.
    Cerco di spiegare meglio : nella tabella dei prodotti ho in teoria solo 4 tipi di prodotto che per comodità chiamerò A,B,C,D(quindi per quello dicevo che idealmente non devo più modificarla una volta inseriti i tipi di prodotto fissi che ho). In magazzino ho una certa quantità di ciascuno di questi prodotti. Quindi la mia idea era di tenere traccia con un campo "quantità" di quanti ne ho in magazzino,per esempio ho 100 unità del prodotto A. Nella tabella dei noleggi posso indicare un noleggio da parte di un cliente di più quantità di prodotto. Per esempio un certo cliente in una certa data ed ora noleggia 3 unità di prodotto A , a questo punto nell'inserire l'avvenuto noleggio vorrei che la quantità di A venga aggiornata a 97. Dopo un certo tempo, il cliente restituisce le 3 unità , quindi voglio registrare l'ora di ritorno delle 3 unità nella tabella dei noleggi e riaggiornare nella tabella dei prodotti che le unità di A sono di nuovo 100 ( a meno che nel frattempo non ho aperto altri noleggi e quindi dipende dalle unità che già ho in giro) .
    Ora non so se ho sbagliato a impostare il tutto in questo modo o cos'altro
  • Re: Aiuto per maschera di inserimento record

    OsvaldoLaviosa ha scritto:


    Bigz92 ha scritto:


    Ho una tabella "Prodotto" in cui ho i 4 prodotti che possono essere noleggiati ... e ad ogni prodotto è associata la quantità disponibile.
    Sicuramente un primo problema parte da qui. Non devi avere un campo QuantitàDisponibile nella tabella Prodotti.
    La tabella Noleggi dovrebbe darti i movimenti, mentre QuantitàDisponibile non deve essere un campo di tabella, ma il risultato di una query che guarda i vari movimenti in tabella Noleggi.
    Il fatto che tu voglia essere tenuto all'erta di questo valore è un discorso che va gestito a più ampio respiro...ma occorre avere le idee chiare su struttura tabelle, uso di query ecc...
    Ciao Bigz92, Osvaldo ha dato un suggerimento corretto, bisogna avere ben chiare le idee quando si progetta un database. Una volta che avrai effettuato le tue valutazioni,

    Bigz92 ha scritto:


    ... E qui i problemi che non so come risolvere:
    -l'inserimento dovrebbe avvenire solo se l'utente ha riempito tutti i campi ...
    - ... e se la quantità da noleggiare è inferiore rispetto alla disponibilià effettiva del prodotto scelto
    -una volta avvenuto l'inserimento del noleggio, nella tabella dei prodotti dovrebbe aggiornarsi il valore di disponibilità sottraendo il numero di quelli effettivamente noleggiati. ...
    per controllare di aver inserito i dati in tutti i campi (caselle di testo o altro della maschera), devi aggiungere delle condizioni alla macro che usi per fare l'inserimento. Se cerchi nella guida di Access troverai quello che ti serve per capire come fare. Userei la stesso metodo per il controllo sulla disponibilità.
    Per effettuare un qualsiasi aggiornamento sui dati di una tabella, devi usare una query di aggiornamento. Anche in questo caso, se cerchi nella guida di Access dovresti trovare qualcosa che ti aiuti.
Devi accedere o registrarti per scrivere nel forum
3 risposte