25/11/2024 - RicMate87 ha scritto:
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."
Quando dicevo no categorico, mi riferivo al fatto che NON puoi fare TUTTO IN UNA MASCHERA. Anche lasciando andare la semplice relazione Autori uno-a-molti Libri, tu devi lavorare principalmente sulla maschera Libri. Quando selezioni un Autore, se c'è nella lista OK. Se non c'è nella lista occorre necessariamente mettere in atto un codice VBA che gestisce questa cosa. Leggi a tal proposito questo documento
ApriMaschera superiore e Requery.docx
Il tuo caso corrisponde allo Scenario 1 dove A=Autori, B=Libri.
Vado oltre. Se decidi di implementare una tabella di congiunzione Autorità con i campi:
IDAutorità (chiave primaria)
IDAutore (chiave eserna)
IDLibro (chiave esterna)
e le relazioni a seguire:
Autori.IDAutore uno-a-molti Autorità.IDAutore
Libri.IDLibro uno-a-molti Autorità.IDLibro
Ovviamente il campo LIbri.IDAutore sparisce per essere tracciato nella tabella Autorità.
A questo punto puoi creare una maschera/sottomaschera Libri/Autorità. Nella sottomaschera..."a vista immediata" puoi tracciare gli Autori. Quando un Autore non compare nella lista, allora riprendi lo stesso discorso del file che ti ho segnalato, leggi lo Scenario 2, considerando che:
A=Libri
B=Autori
C=Autorità