Newsgroup: it.comp.appl.access
Titolo: Record secondari scrivere oltre ID anche il 2° campo del master

Nei record secondari scrivere oltre ID anche il 2° campo del master
Non riesco ad inserire nei record secondari  oltre al 1° campo ID
del record master anche il 2° campo (cioè i nomi).
(Relazione 1 a molti)
Ho provato così:
Tab_1
ID               (chiave primaria contatore)
insegnante  (chiave primaria testo)
Tab_2
id_rif                        (numerico)
insegnante_rif          (testo)
alunni
Con:
Relazione 1(ID) a molti (id_rif)
Relazione 1(insegnante) a molti (insegnante_rif)
(con applica integrità referenziale per entrambe)
Nella maschera, per ogni record master, posso quindi inserire più
alunni, solo che, nella sottomaschera (3 caselle di testo per ogni campo
di Tab2)
dove appunto ho i record secondari degli alunni, mi scrive a fianco di
ogni alunno,
solo l'id_rif e non anche l'insegnante_rif.
Come posso superare il problema?
( In origine avevo in Tab1 solo una chiave primaria ID; solo che
provando a relazionare insegnanti con insegnanti rif mi dava la
linea di relazione con scritto; relazione sconosciuta.)
(Gli insegnanti comunque sono nomi univoci)
Per superare il problema, quindi, non necessito per
forza di due chiavi primarie in Tab1.
Ringrazio anticipatamente.

"rr12rr" <rr1...@NOSPAMusa.net> ha scritto nel messaggio
news:39E9CC66...@NOSPAMusa.net...

Ripeto qui di seguito la prima parte della risposta che ho dato al quesito
posto da Piero ieri alle 22:32:
___________________________________________________________
Poichè un alunno ha più professori e un professore ha più alunni, la
relazione che lega le due tabelle è di tipo molti-a-molti; ne consegue che
la relazione tra le due tabelle può essere assicurata solo tramite una terza
tabella che risulterà in relazione uno-a-molti con le altre due.
___________________________________________________________
Insomma, per me, non c'è soluzione al tuo problema se prima non crei una
giusta architettura delle tabelle e non le metti correttamente in relazione
fra di loro.
--
Roberto
---------------------------------------------
il sito comune di it.comp.appl.access:
http://members.xoom.it/it_db_access/
---------------------------------------------

Tanto per essere più chiaro, hai bisogno di due tabelle di base:
TabProfessori
--------------------
IdProfessore        Contatore e chiave primaria
Professore            Testo
e
TabAlunni
--------------
IdAlunno                Contatore e chiave primaria
Alunno                    Testo
Poichè per un professore ci sono più alunni e per un alunno ci sono più
professori, il tipo di relazione fra queste due tabelle DEVE essere
molti-a-molti e non uno-a-molti come stai tentando di fare tu; ovvero le due
tabelle non possono essere messe direttamente in relazione fra di loro
tramite uno o più campi.
DEVI crearti una terza tabella (TabProfAlunni) che serve appunto a creare la
relazione molti-a-molti tra le due precedenti tabelle e che ha la seguente
struttura:
TabProfAlunni
-------------------
IdProfessore        Numerico
IdAlunno               Numerico
La chiave primaria di TabProfAlunni è l'insieme dei due campi.
Detta tabella deve essere messa in relazione uno-a-molti con TabProfessori
tramite il campo IdProfessore e deve essere messa in relazione uno-a-molti
con TabAlunni tramite il campo IdAlunno.
La tua maschera deve avere come origine record TabProfessori; la
sottomaschera deve avere come origine record TabProfAlunni.
Le proprietà "Collega campi secondari" e "Collega campi master" del
controllo sottomaschera contenuto nella maschera principale debbono
contenere ambedue IdProfessore.
Il controllo IdAlunno della sottomaschera realizzalo con una casella
combinata che ha come origine riga una query basata su TabAlunni; questo ti
faciliterà l'immissione e la visualizzazione dei dati.


Grazie Prof    :-)
Proverň