Newsgroup: it.comp.lang.visual-basic
Titolo: Relazioni di tabelle

Ciao a tutti.
Per cortesia datemi indicatemi una procedura passo a passo per risolvere sto
problema. Ci sto sbattendo la testa senza risultato.
Allora, ho una tbl  principale chiamata Pippo con rispettiva maschera  di
inserimento, una tblPippo1, e Pippo2 con rispettive maschere.
Sulla maschera di Pippo inserisco i dati e con un lstBox ho la possibilità
di richiamare Pippo1 o Pippo2 (non sempre ciò potrebbe avvenire).
Come fare a collegare tblPippo1 e tblPippo2 a tblPippo? (Questi dati devono
essere collegati ai singolo record)
Pertanto credo che inserendo dati in Pippo, anche Pippo1 e Pippo2 debbano
incrementare il contatore anche se i campi sono vuoti.
 Tenete presente che quando scorro la tabella o Maschera Pippo dovrei vedere
anche i dati delle altre 2 tabelle (se vi sono, oppure campi vuoti se non ne
esistono).
Dove devo e come relazionare le tre tabelle? con che tipo di relazione?
Debbo fare una query? Se si in che modalità e tipo?
Ho provato a creare anche tabelle secondarie.
Le ho provate un pò tutte ma senza il risultato sperato.
Grazie 1000
Giorgio

 devono essere collegati ai singolo record)
La struttura potrebbe (a parte ID e ID_Cliente, i campi e le loro
caratteristiche sono inventati) essere questa:
Tabella Clienti
ID                        Long autoincrementante
Nominativo        testo di 50 crt
Indice con chiave primaria e univoca su ID
Tabella Anagrafiche
ID_Cliente        Long NON autoincrementante
Indirizzo            testo di 100 crt
Indice con chiave primaria e univoca su ID_Cliente (ammette un solo record
per cliente)
Tabella Fatture
ID_Cliente        Long NON autoincrementante
Num_Fattura    testo di 10 crt
Tot_Fattura        Currency
Indice con chiave primaria e univoca su ID_Cliente e N_Fattura (ammette più
records/fatture per cliente)
Quando inserisci un nuovo cliente, aggiungerai il record sulla tabella
Clienti e, solo dopo, ne rileverai il campo ID che viene automaticamente
assegnato. Tale ID va identicamente assegnato al campo ID_Cliente della
tabella Anagrafiche e della tabella Fatture, ovviamente quando crei records
nelle stesse.
A questo punto, noto il cliente e quindi il suo ID univoco, puoi fare delle
query del tipo:
"Select * From Anagrafiche Where ID_Cliente=" & valore_campo_ID_del_cliente
"Select * From Fatture Where ID_Cliente=" & valore_campo_ID_del_cliente & "
Order By Num_Fattura"
e ottieni tutto quello che vuoi, ovvero tutte le informazioni (anagrafiche e
elenco fatture) del cliente con l'ID specifico.
PS:
Personalmente cerco di usare il meno possibile i campi autoincrementanti,
quindi potresti intendere quel campo ID (e gli altri campi ID_Cliente) come
Codice_Cliente (testo di n crt, univoco) e quello della tabella Clienti lo
assegni (o lo chiedi all'operatore). Deve essere univoco e deve essere
identicamente riportato nelle altre tabelle nel campo Codice_Cliente.

 Allora:
In una maschera principale ho i soliti campi anagrafici, 1 IDcontatore con
chiave primaria e un ComboBox che seleziona varie forme di pagamento (questa
maschera ha una tabella singola).
All'apertura di alcune voci del combo  (per esempio bonifico bancario)
visualizzo o meno dei campi  TxtBox  per contenere dati tipo nome Banca,
Abi, Cab, ecc Idem per una selezione per bonifico postale con campi txt per
dati tipo PaeseUbicPosta, ContoCorrente, CodIdentificazionePosta ecc.
Siccome questo modo non mi soddisfa molto anche se funziona, vorrei (se
fattibile e idoneo) che invece dei campi visibili o meno che vengono
attivati in base alla selezione del Combo, mi si aprisse un Form
indipendente di inserimento dati Banca e Posta e che questi dati venissero
collocati in tabelle apposite separate.
Con tabella unica riesco a muovermi, ma con tabelle relazionate o Query
particolari (mai usate) faccio fatica a comprendere, pertanto non sò come
fare, anche se hò provato a risolvere il problema .
In sostanza poi l'idea sarebbe di creare una maschera di riassunto di campi
della Tabella principale, comprensiva  anche di dati della Banca e della
Posta di ogni singolo record (allo scorrere dei singoli record sulla
maschera i campi dati Banca e Posta se non ci sono rimangono vuoti)
Spero di avervi dato + indicazioni.
Grazie 1000 Lupo
Giorgio

 > records/fatture per cliente)
Grazie

>> (ammette piů records/fatture per cliente)
Ho la sensazione che tu debba leggere un qualsiasi libercolo (anche il piů
semplice) che parli dei database...
A maggior ragione visto questa:
