Newsgroup: it.comp.appl.access
Titolo: Relazione tra tabelle - chiarimenti (post lungo)

Buongiorno,
Non so se la mia domanda è lecita su questo gruppo, nel caso non lo
fosse chiedo scusa anticipatamente.
Dovrò sostenere un colloquio di lavoro (finalemente) dove tra le altre
cose rischiedono la conoscenza di microsoft access (di base). Non
conoscendolo l'applicazione ho comiciato a studiarlo, quindi ricerche in
rete, libri a "consultazione pratico/veloce" (mondadori, hoepli,
Apogeo), abbinando il tutto alla pratica. Siccome il colloquio verterà
su questioni di contabilità generale e gestione del personale ho
simulato delle tabelle tipiche del settore; prima nota (canovaccio),
cassa, banche, clienti, fornitori etc . ho impostato qualche maschera,
qualche query. Mi sono arenato però su un aspetto che penso sia
fondamentale. L'aspetto concettuale mi è chiaro (penso) ma non riesco ad
attuarlo praticamente: le relazioni!.
Mi aiutate per favore a capire in una prima nota cosa debbo mettere al
lato 1 di una relazione e come collegare tra di loro le tabelle? sulla
base delle mie (poche) conoscenze faccio questo ragionamento:
Ho queste tabelle:
Cassa: con campi chiave primaria; entrate;  uscite;
conto corrente 1: con campi chiave primaria; entrate;  uscite;
conto corrente 2: con campi chiave primaria; entrate;  uscite;
quindi nascendo tutto da un'entrata o da un uscita questi saranno i
campi principe, con relazione uno a molti, con le altre tabelle,  quindi
ancora da una tabella principale (con campi entrate e uscite) attraverso
di essi dovrei poter accedere alle varie tabelle (cassa, banche etc) per
compilarne i dettagli ..... ma come posso relazionare uno stesso campo
con piu tabelle? .... dove sbaglio?
Grazie degli eventuali consigli e scusate la lungaggine:
mimmo
-- 
i fronn a mar

"Fronn e Limon"  ha scritto nel messaggio 
news:201102021...@mynewsgate.net...
Buongiorno,
Non so se la mia domanda ï¿œ lecita su questo gruppo, nel caso non lo
fosse chiedo scusa anticipatamente.
Dovrï¿œ sostenere un colloquio di lavoro (finalemente) dove tra le altre
cose rischiedono la conoscenza di microsoft access (di base). Non
conoscendolo l'applicazione ho comiciato a studiarlo, quindi ricerche in
rete, libri a "consultazione pratico/veloce" (mondadori, hoepli,
Apogeo), abbinando il tutto alla pratica. Siccome il colloquio verterï¿œ
su questioni di contabilitï¿œ generale e gestione del personale ho
simulato delle tabelle tipiche del settore; prima nota (canovaccio),
cassa, banche, clienti, fornitori etc . ho impostato qualche maschera,
qualche query. Mi sono arenato perï¿œ su un aspetto che penso sia
fondamentale. L'aspetto concettuale mi ï¿œ chiaro (penso) ma non riesco ad
attuarlo praticamente: le relazioni!.
Mi aiutate per favore a capire in una prima nota cosa debbo mettere al
lato 1 di una relazione e come collegare tra di loro le tabelle? sulla
base delle mie (poche) conoscenze faccio questo ragionamento:
Ho queste tabelle:
Cassa: con campi chiave primaria; entrate;  uscite;
conto corrente 1: con campi chiave primaria; entrate;  uscite;
conto corrente 2: con campi chiave primaria; entrate;  uscite;
quindi nascendo tutto da un'entrata o da un uscita questi saranno i
campi principe, con relazione uno a molti, con le altre tabelle,  quindi
ancora da una tabella principale (con campi entrate e uscite) attraverso
di essi dovrei poter accedere alle varie tabelle (cassa, banche etc) per
compilarne i dettagli ..... ma come posso relazionare uno stesso campo
con piu tabelle? .... dove sbaglio?
Grazie degli eventuali consigli e scusate la lungaggine:
mimmo
-- 
i fronn a mar
------------------
Una buona base per partire ï¿œ il database di esempio Northwind.mdb che fa 
parte della dotazione di access almeno fino alla 2003 (nelle versioni 
successive non so se ï¿œ ancora compreso).
Se dai un'occhiata all'impostazione delle relazioni senz'altro ne capirai il 
concetto (elemento essenziale di un db relazionale).
Se mi posso permettere un appunto a northwind ï¿œ quello che non nomina gli 
oggetti con prefissi significativi.
Hai letto dei testi che senz'altro ti avranno spiegato che il nome di una 
tabella ï¿œ opportuno inizi con tbl o t (tblClienti o tClienti), una maschera 
con frm o f (frmClienti o fClienti), una query con qry o q (qryClienti o 
qClienti), ecc. ed evitare di inserire spazi nei nomi, ma usare piuttosto il 
carattere di sottolineatura. Non hai idea quanto utile ti sia questo metodo 
quando i db diventeranno un po' piï¿œ "sostanziosi".
Aiutati con l'help in linea che ï¿œ molto esauriente, e poi... c'ï¿œ questo NG 
dove molti (io compreso) hanno trovato un valido sostegno.
Fonti inesauribili di informazioni sono poi i siti tenuti dagli stessi 
frequentatori di questo NG come
www.sitocomune.com
, 
www.accessgroup.it
, 
www.alessandrobaraldi.it
 e 
www.donkarl.com/it/
.
Auguri per il tuo colloquio.
Napi
--------------------------


Relazioni?...
Es. DB FATTURE
2 TABELLE
1) tbl_TestataFattura (fld_IdFattura, fld_DataFattura, ecc...)
2) tbl_CorpoFattura (fld_IdRigaFattura, fld_IdFatturaCollegata,
fld_Descrizione, ecc...)
La relazione tra le 2 tabelle è di 1 a molti con integrità
referenziale attiva sui campi :
tbl_TestataFattura.fld_IdFattura --->
tbl_CorpoFattura.fld_IdFatturaCollegata
Questo significa che per ogni record (parte della relazione 1) in
tbl_TestataFattura contraddistinto da una chiave fld_IdFattura, ci
saranno "N" records (parte della relazione molti) in tbl_CorpoFattura
aventi come chiave di collegamento il fld_FatturaCollegata.
Questo mi pare semplice per capire il concetto di relazione, basti
immaginare "fisicamente" la composizione di una fattura per
elementarizzare il concetto... 1 testata, piu' righe di fattura...
L'applicazione della referenzialità, è utile affinchè per records
padre (testata) tutti i records figli collegati (righe in fattura)
vengano ad es. cancellati quando il primo subisce queste sorti,
ovvero, cancello record padre n.1 e gli "n" figli sottostanti vengono
cancellati a cascata insieme allo stesso, per evitare che cancellando
una testata restino delle righe di corpo senza una fattura di
riferimento.
Spero di averti chiarito un po' il concetto, che e' cosi' applicabile
per tutto.