Mantenere le relazioni anche in una maschera

di il
18 risposte

Mantenere le relazioni anche in una maschera

Buonasera, ho creato un piccolo database per la gestione dei libri in casa e ho creato due tabelle.

Una tabella con gli autori dei libri

Una tabella con i libri

Ho impostato una relazione uno a molti e ho creato una maschera dove, tramite un bottone aggiungo l'autore del libro e libro.

Se vedo nella tabella, Autori, vedo che l'autore 1 ha agganciato correttamente il libro inserito. Mi ritrovo ID Autore = 1 e ID Libro =1

Se inserisco il libro 2 con un titolo differente, sempre dell'autore 1, si genera un nuovo id autore anche se tutti i campi (nome, cognome e nazionalità dell'autore sono gli stessi dell'ID 1, mentre mi immaginavo di trovare il libro ID 2 nell'autore ID 1 e no un ID 2 per lo stesso autore. 

Ci sono dei paramentri che devo impostare nella maschera per questo?

Grazie mille

Un saluto

Riccardo

18 Risposte

  • Re: Mantenere le relazioni anche in una maschera

    Hai fatto una relazione sbagliata.

    Scrivi nomi tabelle e rispettivi campi.

  • Re: Mantenere le relazioni anche in una maschera

    24/11/2024 - sihsandrea ha scritto:

    Hai fatto una relazione sbagliata.

    Scrivi nomi tabelle e rispettivi campi.

    Ciao, le tabelle si chiamano:

    Libri e Autori

    I campi della tabella libri sono:

    "Id libro" "Titolo" "id autore" "genere" "pagine" "prezzo"

    I Campi della tabella Autori sono:

    "id autore" "nome" "cognome" "nazionalitá" "data di nascita" "data di morte".

    La relazione impostata è su "id autore". 

    La relazione è uno a molti (un autore per molti libri). 

    Se vado nella tabella Autori e aggiungo l'autore e sotto l'autore (nel menu a tendina" ) scrivo i libri dell'autore, nella tabella libri vengono compilati correttamente e si agganciano correttamente all'autore, ma se lo faccio da maschera, genera sempre un nuovo id autore

    Grazie mille.

  • Re: Mantenere le relazioni anche in una maschera

    La relazione è giusta ma la relazione vale solo per l'inserimento dei film.

    L'autore è un dato da inserire solo una volta.

    Per inserire un autore gai un form a parte che contiene SOLO la tabella autori.

    Nel form libri avrai sia libri come tabella master e autori come tabella detail.

    Quando inserisci un libro ti selezioni l'autore.

    24/11/2024 - RicMate87 ha scritto:

    Se vado nella tabella Autori e aggiungo l'autore e sotto l'autore (nel menu a tendina" ) scrivo i libri dell'autore, nella tabella libri vengono compilati correttamente e si agganciano correttamente all'autore, ma se lo faccio da maschera, genera sempre un nuovo id autore

    Autori non deve avere nessun menu a tendina...

  • Re: Mantenere le relazioni anche in una maschera

    24/11/2024 - sihsandrea ha scritto:

    La relazione è giusta ma la relazione vale solo per l'inserimento dei film.

    L'autore è un dato da inserire solo una volta.

    Per inserire un autore gai un form a parte che contiene SOLO la tabella autori.

    Nel form libri avrai sia libri come tabella master e autori come tabella detail.

    Quando inserisci un libro ti selezioni l'autore.

    24/11/2024 - RicMate87 ha scritto:

    Se vado nella tabella Autori e aggiungo l'autore e sotto l'autore (nel menu a tendina" ) scrivo i libri dell'autore, nella tabella libri vengono compilati correttamente e si agganciano correttamente all'autore, ma se lo faccio da maschera, genera sempre un nuovo id autore

    Autori non deve avere nessun menu a tendina...

    Per form intendi una maschera a parte? 

    Se si, quindi devo avere una maschera per inserimento libri e una maschera per inserimento autori? Giusto? 

  • Re: Mantenere le relazioni anche in una maschera

    Aggiungi che andrebbero create altre due tabelle: tb_genere e tb_nazionalita. La prima collegata con relazione uno a molti alla tabella libri (campo id_genere anziché genere) e la seconda uno a molti con la tabella autori (campo id_nazionalita anziché nazionalità).

  • Re: Mantenere le relazioni anche in una maschera

    Per form intendi una maschera a parte? 

    Se si, quindi devo avere una maschera per inserimento libri e una maschera per inserimento autori? Giusto? 

    Si.

    Se il soggetto è: devo inserire una città apro il form citta

    Se inserisco un nominativo apro il form nominativi e se devo indicare in quale città vive mi collego alla tabella Città per evitare di scrivere milano o torino.

    Idem con tutti gli altri dati ripetitivi come citati da Antony73

    Non si cerca MAI un libro partendo dalla tabella autori.

    Se cerchi pippo de pippis partendo dalla tabella città ti titrovi tutta l'italia come risposta, ma se cerchi pippo de pippis ne puoi trovare una decina di milano, 20 di torino...

    Dalla tabella libri metti un filtro per autore (o per tutti gli altri campi a dati comuni come attori, genere ecc...).

  • Re: Mantenere le relazioni anche in una maschera

    24/11/2024 - RicMate87 ha scritto:

    Una tabella con gli autori dei libri

    Una tabella con i libri

    Ho impostato una relazione uno a molti

    Sono l'unico che qui vedrebbe bene una relazione molti a molti? Un libro può avere più autori, no? Magari non si verifica nella situazione specifica della tua raccolta ma può accadere. Poi di conseguenza arriva la tabella intermedia, ma appunto è solo una conseguenza.

  • Re: Mantenere le relazioni anche in una maschera

    24/11/2024 - Philcattivocarattere ha scritto:

    24/11/2024 - RicMate87 ha scritto:

    Una tabella con gli autori dei libri

    Una tabella con i libri

    Ho impostato una relazione uno a molti

    Sono l'unico che qui vedrebbe bene una relazione molti a molti? Un libro può avere più autori, no? Magari non si verifica nella situazione specifica della tua raccolta ma può accadere. Poi di conseguenza arriva la tabella intermedia, ma appunto è solo una conseguenza.

    No ma sudo freddo solo a parlarne, figuriamoci a spiegarla...

  • Re: Mantenere le relazioni anche in una maschera

    24/11/2024 - Philcattivocarattere ha scritto:

    24/11/2024 - RicMate87 ha scritto:

    Una tabella con gli autori dei libri

    Una tabella con i libri

    Ho impostato una relazione uno a molti

    Sono l'unico che qui vedrebbe bene una relazione molti a molti? Un libro può avere più autori, no? Magari non si verifica nella situazione specifica della tua raccolta ma può accadere. Poi di conseguenza arriva la tabella intermedia, ma appunto è solo una conseguenza.

    Piano piano ci arrivo :). 

    Non sono molto esperto di database. Ho inziato una settimana fa studiare/leggere e fare qualcosina, ma ci sono ancora molte cose che non ho ben chiare.. come si può dedurre dal post. :) 

  • Re: Mantenere le relazioni anche in una maschera

    24/11/2024 - sihsandrea ha scritto:

    Per form intendi una maschera a parte? 

    Se si, quindi devo avere una maschera per inserimento libri e una maschera per inserimento autori? Giusto? 

    Si.

    Se il soggetto è: devo inserire una città apro il form citta

    Se inserisco un nominativo apro il form nominativi e se devo indicare in quale città vive mi collego alla tabella Città per evitare di scrivere milano o torino.

    Idem con tutti gli altri dati ripetitivi come citati da Antony73

    Non si cerca MAI un libro partendo dalla tabella autori.

    Se cerchi pippo de pippis partendo dalla tabella città ti titrovi tutta l'italia come risposta, ma se cerchi pippo de pippis ne puoi trovare una decina di milano, 20 di torino...

    Dalla tabella libri metti un filtro per autore (o per tutti gli altri campi a dati comuni come attori, genere ecc...

    Ciao Andrea,

    Grazie mille. Da una maschera quindi non potrei aggiungere tutti i campi sia del libero che dell'autore, genere, ecc? 

  • Re: Mantenere le relazioni anche in una maschera

    24/11/2024 - RicMate87 ha scritto

    Ciao Andrea,

    Grazie mille. Da una maschera quindi non potrei aggiungere tutti i campi sia del libero che dell'autore, genere, ecc? 

    Tabella citta non serve per trovare cesare giulio...

    Quando carico cesare giulio nel form persone, inserisco la città dove vive. In questo form posso filtrare persone per città....

    Se inserisco film:

    Apro il form film e scrivo il titolo, il genere lo prendo dalla tabella generi, l'autore (gli autori in caso di m a m) dalla tabella autori, gli attori dalla tabella attori.

    Se voglio sapere che film ha fatto paperino metto un filtro alla view del form film sul campo "attori".

    Idem per genere e per autori.

    Il cuore pulsante resta sempre e comunque il form film.

    Stai gestendo una biblioteca o una videoteca non una enciclopedia di autori e registi.

    L'oggetto è la collezione di libri o film non di autori e attori.

    Per catalogare un libro ho bisogno di dati che sono il contorno... Posso inserire un libro senza autore ma non carico un autore se non ha libri.

    Tieni sempre di vista cosa stai gestendo, il resto è solo qualcosa che ti potrebbe servire per non ripetere i dati. Nell'esempio delle città, città è un optional, posso benissimo scrivere ogni volta milano torino palermo ecc... O attingere ad una tabella dati senza compromettere l'oggetto della gestione: inserire nominativi.

    Altrettanto posso inserire i film anche manualmente senza prelevare l'autore da una lista precaricata.

    Spero di essermi spiegato.

    Per la molti a molti è una doppia relazione uno a molti tra due tabelle verso una tabella intermedia.

  • Re: Mantenere le relazioni anche in una maschera

    24/11/2024 - RicMate87 ha scritto:

    Grazie mille. Da una maschera quindi non potrei aggiungere tutti i campi sia del libero che dell'autore, genere, ecc? 

    Dato che stai imparando, non confondere record con campi. Da una maschera devi aggiungere i record e non i campi. Per la questione di autori multipli, concordo la necessità di avere una relazione molti a molti.

  • Re: Mantenere le relazioni anche in una maschera

    24/11/2024 - RicMate87 ha scritto:

    Da una maschera quindi non potrei aggiungere tutti i campi sia del libero che dell'autore, genere, ecc? 

    Io dico NO categorico. 

    Sono state fornite molte risposte, tutte giuste, ma temo che RicMate87 rischi di fare confusione. Chiarisci nettamente il tuo scenario tabelle e relazioni. Sei partito da 2 sole tabelle Libri e Autori. Poi si scopre che occorre una tabella Generi uno-a-molti Libri, una tabella Nazioni uno-a-molti Autori. Questi 2 suggerimenti ti sono chiari?

    Poi c'è la questione Autori molti-a-molti Libri. 
    Se il tuo database è "semplicistico" e tutto sommato fai riferire al Autore1 in caso di autori multipli, puoi lasciare stare la struttura così come è.
    Se il tuo database ha da dire qualcosa di più serio, la relazione Autori molti-a-molti Libri con tabella di congiunzione Autorità diventa necessaria.
    Ti faccio la seguente domanda (provocatoria). Come catalogheresti un libro dal titolo "Una sola chiesa" i cui autori sono Jorge Mario Bergoglio e Joseph Ratzinger (ben sapendo che ognuno di loro ha poi scritto altri libri ognuno per proprio conto)?

  • Re: Mantenere le relazioni anche in una maschera

    24/11/2024 - sihsandrea ha scritto:

    24/11/2024 - RicMate87 ha scritto

    Ciao Andrea,

    Grazie mille. Da una maschera quindi non potrei aggiungere tutti i campi sia del libero che dell'autore, genere, ecc? 

    Tabella citta non serve per trovare cesare giulio...

    Quando carico cesare giulio nel form persone, inserisco la città dove vive. In questo form posso filtrare persone per città....

    Se inserisco film:

    Apro il form film e scrivo il titolo, il genere lo prendo dalla tabella generi, l'autore (gli autori in caso di m a m) dalla tabella autori, gli attori dalla tabella attori.

    Se voglio sapere che film ha fatto paperino metto un filtro alla view del form film sul campo "attori".

    Idem per genere e per autori.

    Il cuore pulsante resta sempre e comunque il form film.

    Stai gestendo una biblioteca o una videoteca non una enciclopedia di autori e registi.

    L'oggetto è la collezione di libri o film non di autori e attori.

    Per catalogare un libro ho bisogno di dati che sono il contorno... Posso inserire un libro senza autore ma non carico un autore se non ha libri.

    Tieni sempre di vista cosa stai gestendo, il resto è solo qualcosa che ti potrebbe servire per non ripetere i dati. Nell'esempio delle città, città è un optional, posso benissimo scrivere ogni volta milano torino palermo ecc... O attingere ad una tabella dati senza compromettere l'oggetto della gestione: inserire nominativi.

    Altrettanto posso inserire i film anche manualmente senza prelevare l'autore da una lista precaricata.

    Spero di essermi spiegato.

    Per la molti a molti è una doppia relazione uno a molti tra due tabelle verso una tabella intermedia.

    Grazie mille Andrea. 

    Chiarissimo. 

    Il mio problema è infatti strutturale. Cioè, mi concentro nel creare una maschera in cui posso inserire e "agganciare" i campi tra di loro.

    Per esempio:

    Maschera gestione libri.

    Mi piace inserire il nuovo libro (Titolo), Pagine e prezzo.

    Allo stesso tempo mi piacerebbe anche agganciare l'id dell'autore al libro e questo nella tabella con le relazioni l'ho fatto e funziona ma quando lo faccio nella maschera, diciamo in un'unica maschera, non funziona. 

    Mi esce l'errore "Impossibile aggiungere record. La chiave di Join della tabella "Libri" non si trova nel set di record."

Devi accedere o registrarti per scrivere nel forum
18 risposte