Newsgroup: it.comp.appl.access
Titolo: Categorie in sequenza

Devo costruire un DB riferito ad un'anagrafica. Ciascun nominativo inserito
nell'anagrafica apparterrà ad una serie di categorie che ho inserito in
tabelle. Ciascuna Tabella Categoria contiene le categorie che rappresentano
un ulteriore attributo della precedente. I gruppi di categorie in dipendenza
sono 7 e creano percorsi diversi a seconda l'appartenenza alle categorie
precedenti (non necessariamente "la precedente"):
Es:
Tabella Categorie_1: Uomo, Donna, Bambino
Tabella Categorie_2: Operai, Casalinghe, Studenti
Un Uomo potrà appartenere alle categorie Operai e Studenti ma non a quella
Casalinghe. Una Donna potrà appartenere a tutte le categorie e un bambino
solo alla categoria Studenti.
Le tabelle avranno una relazione molti a molti ed ho creato delle tabelle di
collegamento ma come faccio a creare la sequenza di dipendenze fra le varie
categorie?
Grazie a chi mi potrà dare un aiuto.

 ha scritto nel messaggio
news:3ac07...@news.dada.it...

Dato per scontato che TabellaCategoria_1 sia così strutturata:
IDCat1                Contatore e chiave primaria
Cat1                    Testo
e TabellaCategoria_2 sia così strutturata:
IDCat2                Contatore e chiave primaria
Cat2                    Testo
La tabella che le mette in relazione molti-a-molti (TabellaCat1Cat2) sarà
necessariamente così strutturata:
IDCat2                Numerico
IDCat1                Numerico
La chiave primaria di TabellaCat1Cat2 sarà costituita dall'insieme dei due
campi in essa contenuti.
Naturalmente questa tabella sarà in relazione uno-a-molti con
TabellaCategoria_1 tramite i campi IDCat1 ed in relazione uno-a-molti con
TabellaCaegoria_2 tramite i campi IDCat2.
Ipotizziamo che la tua tabella Anagrafe abbia una struttura del tipo:
IDAnagrafe            Contatore e chiave primaria
Nome                    Testo
IDCat1                  Numerico
IDCat2                  Numerico
Nella struttura della tabella Anagrafe, per il campo IDCat1 esegui
l'Autocomposizione Ricerca... basandola su TabellaCategoria_1.
Creati una query chiamata Query1 che abbia il seguemte codice SQL:
SELECT TabellaCat1Cat2.IDCat2, TabellaCategoria_2.Cat2,
TabellaCat1Cat2.IDCat1
FROM TabellaCategoria_2 INNER JOIN TabellaCat1Cat2 ON
TabellaCategoria_2.IDCat2 = TabellaCat1Cat2.IDCat2
WHERE (((TabellaCat1Cat2.IDCat1)=[Forms]![MaskAnagrafe]![IDCat1]));
Creati ora una maschera a visualizzazione a Maschera singola, chiamata
MaskAnagrafe e che abbia come origine record la tabella Anagrafe. Fai in
maniera che i controlli di MaskAnagrafe abbiano gli stessi nomi dei campi
cui sono associati.
Nella struttura di MaskAnagrafe trasforma la casella di testo IDCat2 in
casella combinata; nell'origine riga di IDCat2 scrivi Query1; come Numero
colonne di questa combo indica 3 ma, tramite Larghezza colonne, rendi
visibile solo la seonda.
A fronte dell'evento "Dopo aggiornamento" della combo IDCat1 genera il
seguente codice VBA:
Me!IDCat2.Requery
Naturalmente per le altre categorie interverrai con la stessa tecnica.
Prova e facci sapere.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------