Valore copiato da altra tabella

di il
4 risposte

Valore copiato da altra tabella

Buonasera a tutti
Incredibile ma vero... Non ci riesco proprio
Date le tabelle Cliente, Libro, Prenotazione, DettaglioPrenotazione collegate:
DettaglioPrenotazione 1..n Prenotazione
libro 1..n DettaglioPrenotazione
Cliente 1..n Prenotazione
Ho il form Prenotazione dove si inseriscono le prenotazioni dei libri.
Devo semplicemente catturare il prezzo di Libro.Prezzo e metterlo nel campo DettaglioPrenotazione.PrezzoImponibile
Quindi digito l'ISBN del libro, la quantità e il campo Imponibile deve compilarsi da solo, poi vado avanti con le altre cose (iva totale eccetera )
Lo so che stiamo all'ABC ma davvero sono nella nebbia.
Angelo.
A2016

4 Risposte

  • Re: Valore copiato da altra tabella

    angeloIS ha scritto:


    DettaglioPrenotazione 1..n Prenotazione
    Questa relazione non va. Dovrebbe essere Prenotazioni uno-a-molti DettagliPrenotazioni.

    Siamo sicuri che il campo Prezzo deve stare nella tabella Libri? Se lo stesso Libro aumenta di Prezzo nel corso del tempo, tu vai a falsare i dati delle vecchie Prenotazioni.
  • Re: Valore copiato da altra tabella

    OsvaldoLaviosa ha scritto:


    angeloIS ha scritto:


    DettaglioPrenotazione 1..n Prenotazione
    Questa relazione non va. Dovrebbe essere Prenotazioni uno-a-molti DettagliPrenotazioni.

    Siamo sicuri che il campo Prezzo deve stare nella tabella Libri? Se lo stesso Libro aumenta di Prezzo nel corso del tempo, tu vai a falsare i dati delle vecchie Prenotazioni.
    Si, la relazione era al contrario. Scusa errore di digitazione.
    Il prezzo deve stare lì perché la prenotazione ha una data storica (tra l'altro si chiude in poche settimane), e se il prezzo aumenta la prenotazione deve avere il prezzo della data (per motivi storici e per motivi del prezzo bloccato. Insomma lo stesso principio della fattura, che cattura il prezzo del prodotto a quella data e se lo copia nel dettaglio.fattura.)
    Sto impazzando con il dllookup ma non ne vengo a capo... Ho visto un po di tutorial ma quasi tutti fanno degli immensi passaggi in Visual BASIC. Mi sembra strano che una semplice operazione di cattura dato da tabella correlata sia così complicato. Su FileMaker dove sviluppo db, la cosa si risolve in 3 click.
    Angelo
  • Re: Valore copiato da altra tabella

    Anche con Access... se fai delle Query intelligenti, si sfrutta l'autoLookUp dei dati.., già questo è tipico di tutti i Database...!!!
    Se invece vuoi usare Dlookup devi passare la FK che nella tabella di recupero sarà la PK...

    Con FM ti risulta semplice perchè probabilmente lo conosci, mi pare di capire che Access sia per te uno sconosciuto dal livello di domande che fai... quindi non demordere... ma cerca di studiarlo, e lascia stare i confronti con FM... altrimenti ci annoiamo...!
  • Re: Valore copiato da altra tabella

    @Alex ha scritto:


    Anche con Access... se fai delle Query intelligenti, si sfrutta l'autoLookUp dei dati.., già questo è tipico di tutti i Database...!!!
    Se invece vuoi usare Dlookup devi passare la FK che nella tabella di recupero sarà la PK...

    Con FM ti risulta semplice perchè probabilmente lo conosci, mi pare di capire che Access sia per te uno sconosciuto dal livello di domande che fai... quindi non demordere... ma cerca di studiarlo, e lascia stare i confronti con FM... altrimenti ci annoiamo...!
    ******************************************************************
    --Funziona tutto perfettamente.
    Riporto per correttezza come ho risolto (non so se era un problema di sintassi o proprio concettuale. propendo per la prima ipotesi).
    Questo è il dB di prova con le relazioni.


    e questa è l'istruzione che ho messo nella sottoM. dettaglio fattura nel campo prodottoFK con EVENTO-DOPO AGGIORNAMENTO

    Private Sub prodottoFK_AfterUpdate()
    prezzo = DLookup("PrezzoListino", "tblProdotti", "IDprodotto=" & [prodottoFK])
    End Sub

    Chiedo scusa se vi ho tediato; ebbene sì, sono all'inizio con Access e mi rendo conto che la curva di apprendimento è lenta. Grazie per la vostra pazienza.
    angelo
Devi accedere o registrarti per scrivere nel forum
4 risposte