Newsgroup: it.comp.appl.access
Titolo: Credevo di aver capito le relazioni...e invece....

ho postato la stessa richiesta solo ieri ma non ho capito l'esempio (sono
testone e alle prime armi, insomma
un guaio per Voi). ci riprovo magari spiegandomi meglio.
devo inserire in una fattura il nome di un prodotto ed il tipo. ho una
tabella che elenca il tipo prodotti
    TABELLA PRODOTTI
        cod 1 = mele
        cod 2 =  pere
altre due tabelle pere e mele che elencano le varietą di pere e mele
    TABELLA MELE                            TABELLA PERE
Cod 1 =  varieta mela 1                       Cod 1 = varieta  pera 1
Cod 2 =  varieta mela 2                       Cod 2 = varieta  pera 2
vorrei mettere in relazione le tre cose ma non so scrivere la tabella di
collegamento (ammesso che ci voglia)
grazie in ogni caso se avrete la pazienza di leggere il meaagiio


La TABELLA PRODOTTI avrà almeno un campo così:
campo1: ID_prodotto  (chiave)         es: MELE, PERE, SUSINE
La TABELLA VARIANTI avrà almeno 2 campi così:
campo1: ID_Variante (chiave)         es. Mela rossa, Mela gialla, Pera
Nobile, ecc
campo2: ID_prodotto                      se sono mele = MELE, se sono pere =
PERE, ecc.
Colleghi ID_prodoto di una tabella con quello dell'altra (uno a molti).
Non è necessario usare 3 tabelle, bastano 2.
Ciao da Arturo


Molto dipende cosa vuoi fare, comunque le tabelle saranno solo due:
tblCategoriaProdotti (quella che tu chiami TABELLA PROOTTI) e tblProdotti
(che tu chiami TABELLA MELE, TABELLA PERE ecc.)
Le loro strutture saranno più o meno queste.
tblCategoriaProdotti
----------------------------
IdCatProd                Contatore e chiave primaria
DescrCatProd          Testo
tblProdotti
--------------
IdProdotto                Contatore e chiave primaria
IdCatProd                Numerico
DescrProd                Testo
Le due tabelle debbono essere messe in relazione uno-a-molti in base ai
campi IdCatProd, aggiungendo alla relazione l'integrità referenziale con
l'ozzione Elimina record correlati a catena.
La tabella tblCategoriaProdotti, seguendo il tuo esempio sarà così popolata:
IdCatProd        DescrCatProd
--------------        --------------------
1                    Mele
2                    Pere
3                    Arance
La tabella tblProdotti sarà invece popolata così:
IdProdotto    IdCatProd    DescrProd
--------------     --------------    --------------------
1                    1                Varietà Mela 1
2                    1                Varietà Mela 2
3                    2                Varietà Pera 1
4                    2                Varietà Pera 2
5                    3                Varietà Arancia 1
6                    3                Varietà Arancia 2
7                    1                Varieta Mela 3
Circa all'utilizzo del contenuto delle due tabelle devi dirci qualcosa di
più di dove e come devi usare le descrizioni:
in una maschera per l'inserimento dei dati, in un report per la stampa;
insomma per questo aspetto sii meno generico.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 ha scritto nel messaggio
news:9jn0sr$33pm$1...@stargate1.inet.it...

grazie di nuovo a tutti. mi metto al lavoro.
senza di voi avrei gia smesso da tempo di usare ms-access la Microsoft
dovrebbe esservene grata

FORZA !
Saluti

Marco, per capire le relazioni devi capire innanzitutto cosa si ottiene con
esse: le relazioni servono per avere dei dati significativi provenienti da
due o più tabelle. Nel tuo esempio hai una tabella Prodotto e una tabella
TipoProdotto. Per mettere in relazione le due tabelle Access ha bisogno di
un riferimento nella tabella collegata che gli dica a cosa si riferisce un
determinato record della tabella collegata rispetto alla tabella primaria.
La tabella primaria è tblProdotti, quella collegata tblTipoProdotti.
Do per scontato che tu sappia cosa sia una chiave primaria, ora devi capire
cosa è una chiave esterna. Una chiave esterna è una chiave (uno o più campi)
che nella tabella primaria fa da chiave primaria, mentre nella tabella
collegata funge da ponte di collegamento tra le due tabelle. Se io ho un
record nella tabella collegata come faccio a sapere a cosa si riferisce
nella tabella primaria? Lo so perchè il valore univoco che identifica quel
record nella tabella primaria lo ritrovo come identificatore (chiave
esterna) nella tabella collegata, in un record che fornisce altri dati
significativi riguardanti l'oggetto nella tabella primaria.
Scusa se non sono stato chiaro, ma guarda l'ora :-)
Magari domani posso essere più chiaro.
Ciao.