Newsgroup: it.comp.appl.access
Titolo: Maschera collegata. Origine il lato "Molti" di una relazione: problemi.

Ciao a tutti,
mi piacerebbe che qualcuno potesse darmi chiarimenti su questo
problema. 
Tabella  A "Parti" (in un procedimento dinanzi all'autorità
giudiziaria)
Tabella B "Altre parti".
Relazione uno - a - molti tra la tabella A e la tabella B. 
Integrità referenziale applicata.
Quando, nella maschera che proviene dalla tabella A, creo una
sottomaschera che ha come origine la tabella B, e inserisco i dati,
tutto OK.
Quando inserisco i dati in una maschera collegata, creata col wizard
di Access, con origine la tabella B, iniziano i problemi, e cioè:
1) violazione dell'integrità referenziale, in quanto Access mi dice
"impossibile aggiungere o modificare il record. Nella tabella A è
necessario un record collegato", cioè che non è possibile creare nel
lato "molti" un dato senza corrispondenza nella parte "uno":
(ovviamente).
2) necessità, per inserire dati, di immettere nel campo chiave esterna
della maschera collegata un valore che corrisponde a quello contenuto
nell'attuale campo Contatore della tabella A. 
Non so se sono riuscito a essere chiaro. La maschera collegata mi
farebbe comodo per ragioni di spazio. C'è rimedio possibile al
problema 2), tranne eliminare l'integrità referenziale (necessaria) ?
Grazie a tutti quelli che vorranno rispondere.

"Crusader" <nospam.a...@inwind.it.invalid> ha scritto nel messaggio
news:nj5k30tlolu6fk52a...@4ax.com...

non è molto chiara la situazione
comunque se tu hai la mascera principale conorigine dati nella tabella A e una sottomaschera
collegata con origine dati nella tabella B fa tutto in automatico e non dovresti avere problemi.
se non lo fa in automatico al campo della tabella B che contiene il riferimento alla tabella A lo
trasformi in una casella combinata che pesca i valori nella tabella A.
facendo così la tua sottomaschera diventa indipendente perchè basta che tu prima di registrare il
record selezioni un valore della tabella A e ti lascia creare il record.
spero di aver colto il problema e di essere stato d'aiuto.
facci sapere

trasformi in una casella combinata che pesca i valori nella tabella A.
Sia la tabella A che la tabella B pescano i valori da una tabella in
comune (in questo caso un elenco di nomi), con queste relazioni:
Tabella Comune --uno a molti --> Tabella A ---> Uno a molti --->
Tabella B. 
Forse è questo che scombina un po' le cose, tuttavia, ripeto, quando
creo una sottomaschera, e non una maschera collegata, va tutto a
meraviglia.
Potrebbe esserci un modo per risolvere? 
Tnx. :)


Maschera A
id
nome
cognome
tu vuoi ottenere
MascheraB
rif_id = cioè il valore di id preso dalla maschera A
Se è così
docmd.openform acform "mascheraB"
forms!mascheraB!rif_id = 
me.id
ciao MAssimiliano

forms!mascheraB!rif_id = 
me.id
[cut]
Ti ringrazio tantissimo, ma avevo giŕ realizzato qualcosa del genere:
il problema č che, anche se la routine riempie il campo correttamente,
viene sempre fuori il messaggio che comunica che č impossibile
aggiungere o modificare record, in quanto sarebbe necessario un record
collegato (presente, comunque) nella tabella  principale.
Non riesco comunque a spiegarmi il perchč questo problema _non_ si
verifichi con le sottomaschere, ma solo con le childform...