Newsgroup: it.comp.appl.access
Titolo: Relazione e integrità referenziale

:D non sono morto. sono solo molto assonnato.
Dunque io ho tblUtenti che ha come chiave primaria idUtente che è un
contatore, poi ho tblElencoTitoliDiStudio che ha due campi - idTitolo -
contatore PK e Titolo - testo.
Ora voglio mettere in relazione uno-a-uno tblUtenti e
tblElencoTitoliDiStudio con integrità referenziale ma ciò non è
possibile in quanto:
1. Access mi crea una relazione uno-a-molti, dove molti è
tblElencoTitoliDiStudio
2. mi dice che l'integrità referenziale non può essere applicata in
quanto i dati in tblElencoTitoliDiStudio violano le regole di
integrità referenziale ecc...ecc...
tblElencoTitoliDiStudio è la tabella sulla quale poggia il campo
TitoloDiStudio della tabella tblUtenti, campo che è una casella
combinata.
Questo mi serve perchè dovrò fare delle query che ricerchino gli
utenti in base ai titoli di studio.
Grazie.

 ha scritto nel messaggio
news:1120770263.8...@f14g2000cwb.googlegroups.com...





Grazie.
Ciao Giulio,
secondo il mio modesto avviso non ha senso creare una relazione uno a uno
tra due tabelle, questo in linea di massima, perchè se hai questo tipo di
relazione ti basta una sola tabella.
Per la relazione tra titoli di studio e utenti non vedrei male una molti a
molti. Che ne dici ?
Ora ti lascio, vado a nanna perchè sono cappottato dalla fatica ;-). Aspetta
maari qualche altro intervento.
Non mi hai più detto nulla circa l'invio mail ...
Vabbè a domani.
Ciao, buona notte,
Sandro

Ciao Sandro, non credo di aver capito bene il filo del discorso...sono
stanco morto anche io. Per quanto riguarda le email ora il progetto è
passato di mano perciò io per ora non me ne occupo più, ora se ne
occuperà a breve un tizio che ha accettato di lavorarci gratis sopra
implementando un rozzissimo generatore query...poi...se ne riparlerà a
settembre....
Mi piange il cuore...il mio GJDbase in mano a uno sconosciuto :(
'notte!!!!

 ha scritto nel messaggio 
news:1120770263.8...@f14g2000cwb.googlegroups.com...





Grazie.
________
Ciao,
devi accertarti (con una query p.e.) che ogni valore nel campo idTitolo 
della tabella tblUtenti sia associato ad uno in tblElencoTitolidiStudio, 
fino a che non soddisfi questa condizione Access non ti permetterà di 
applicare l'integrità referenziale.
Ciao,
Mat. 

Ma veramente tblUtenti è VUOTA. Ad ogni modo non vedo la necessità di
questa relazione. Nel senso che cmq ad ogni modo cmq il campo
TitoliDiDtudio della tblUtenti è quello che conta mentre
tblElencoTitoliDiStudio è solo una tabella che fornisce i valori.

 ha scritto nel messaggio 
news:1120824274.2...@o13g2000cwo.googlegroups.com...

___________
Ma scusami tanto! se non vedi la necessità di questa relazione allora perchè
hai iniziato il 3D?!!!!
Comunque, il fatto che la tblUtenti sia vuota è proprio la causa del fatto
che non puoi applicare l'integrità referenziale.
A questo punto però una cosa non la capisco: nel campo titolidistudio in
tblUtenti cos'hai?
La descrizione (intendo testo) del titolo di studio o un id numerico?
Se è una stringa allora proprio una relazione con un'altra tabella proprio
non ti serve (quindi tutto questo discorso non ha nessuna utilità).
Se è un id numerico all'ora direi che la relazione ti serve altrimenti come
fai a sapere a che titolo di studio corrisponde un dato id?
Forse mi sono perso qualcosa... boh
ciao,
Mat. 

 combinata.
Quello che ti serve č una relazione uno a molti tra tblElencoTitoliDiStudio
e tblUtenti (immagino infatti che lo stesso titolo di studio possano averlo
piů utenti). Il fatto che la tabella utenti sia vuota non fa alcuna
differenza.
HTH.
Alessandro

 ha scritto nel messaggio
news:1120770263.8...@f14g2000cwb.googlegroups.com...

Visto che un utente può avere più titoli di studio ed un titolo di studio
può essere posseduto da più utenti, la relazione tra le due tabelle di cui
sopra dovrai metterle in relazione molti-a-molti e non uno-a-uno come tenti
di fare tu.
In Access una relazione molti-a-molti tra due tabelle si relizza tramite una
terza tabella che nel tuo caso si chiamerà tblUtentiTitoli dovrà avere una
struttura simile a questa:
ID                    Contatore e chiave primaria
idUtente           Numerico
idTitolo             Numerico
Tale tabella dovrà essere in relazione uno-a-molti con tblUtenti in base ai
rispettivi campi idUtente ed in relazione uno-a-molti con
tblElencoTitoliDiStudio in base ai rispettivi campi idTitolo.
-- 
Roberto
-----------------------------------------------------
il Sito Comune di it.comp.appl.access
http://www.sitocomune.com
----------------------------------------------------

Ciao, grazie a tutti per le risposte.
Dunque ecco cosa ho io:
tblUtenti:
idUtente - contatore, PK
....
TitoliDiStudioEprofessionali - testo, casella combinata su
tblElencoTitoliDiStudio
tblElencoTitoliDiStudio:
idTitolo - contatore, PK
Titolo - testo
Quindi come potete vedere, per selezionare un titolo di studio per un
utente - uno ed uno solo per ogni utente in questo database - basta
sfogliare la casella combinata associata al campo
TitoliDiStudioEProfessionali e selezionare quello desiderato, da un
elenco in tblElencoTitoliDiStudio.
Il tipo voleva una qualche relazione per effettuare una query ma mi sa
che si sia perso qualche cosa :) visto che non c'è manco bisogno di
una relazione pertrovare il dato che gli interessa basta infatti fare
una query parametrica sul campo TitoliDiStudioEProfessionali di
tblUtenti.
Giusto?
Grazie :)

Grazie :)
Prego figurati; anzi scu se avevo pensato erroneamente che le due tabelle
dovessere stare in relazione molti-a-molti: io l'avevo immaginato in quanto
normalmente č cosě, visto che č bene prevedere che un utenta abbia piů di un
titolo di studio.
