Newsgroup: it.comp.appl.access
Titolo: Campi fissi e campi variabili...

Sto tentando di azzeccare la struttura di un database i cui
record sono composti di alcuni campi fissi e alcuni
variabili, nel senso che se un certo campo, diciamo "Tipo",
di quelli fissi vale 1, devo assegnare certi altri campi in
numero di n1, se vale 2 devo assegnare degli altri campi,
tutti diversi, in numero di n2, e cosi' via. Inizialmente
pensavo di cacciare tutti questi campi, quelli "fissi" piu'
n1 piu' n2 ecc.ecc. nel record di un'unica tabella, ma poi
mi sono reso conto che i valori di "Tipo" possono essere
veramente tanti, e comunque non mi va una struttura cosi'
poco furba. Vorrei quindi architettare una tabella con i
campi fissi e altre tabelle per quelli variabili, quindi il
numero di record della tabella coi campi fissi sarebbe
uguale alla somma dei record delle tabelle coi campi
variabili, perņ non riesco a inquadrare l'aggancio tra le
tabelle, e poi naturalmente dovrei progettare la maschera di
input, cioe' una maschera per assegnare i campi fissi che, a
seconda del valore assegnato a "Tipo", richiama una sola
delle varie maschere con cui devo assegnare i campi
variabili... Scusate lo sproloquio ma se qu mi puo' dare una
mano...
il barbi

 variabili
mi sono cascate le braccia.
Comunque, io ti dico quello che ho capito e cosa farei.
Record Pippo. Se un campo di pippo ha un valore numerico 1, ci deve essere
un altro campo con un'altra info, se vale due ci devono essere due campi e
cosģ via.
Esempio pratico: il campo numerico indica i numeri di telefono che possono
quindi essere uno, due, tre e cosģ via.
Ti prepari un'altra tabella che abbia un campo Rif_ID da legare in join con
l'ID del record Pippo, e un campo per il numero di telefono. Quindi ci
saranno tanti record nella nuova tabella quanto č il valore del campo
numerico, ognuno con lo stesso Rif_ID di Pippo e numero di telefono diverso.
Antonio


volevo dire questo: se "Tipo"=1 ci saranno altri n1 campi,
diciamo Uno1,Uno2, ecc.; se "Tipo"=2 i campi suddetti non
sono significativi, quelli giusti saranno altri n2 campi,
diciamo Due1,Due2 ecc., e cosi' via per tutti i valori di
"Tipo". Quindi i casi sono due:
1) creo una megatabella con tutti campi, "fissi" e
"variabili", però ci sara' un grosso spreco di spazio
2) creo una tabella principale con i campi "fissi", tra cui
"Tipo", e poi una tabella secondaria per ogni valore di
"Tipo", quindi il numero di record della tabella principale
sara' uguale alla somma dei record delle tabelle secondarie,
e appunto in questo caso non mi e' chiaro come fare
l'aggancio
3) inoltre devo creare la maschera di input, dove farei
comparire per ogni record i campi "fissi", e quindi premendo
un pulsante di comando i relativi campi "variabili", su
un'altra videata perche' insieme non ci stanno
il barbi

 l'aggancio
Proprio oggi ho postato un messaggio esponendo un paio di soluzioni. Mi pare
fosse il thread sulla struttura di un database
Antonio


dunque ho deciso per una struttura con una tabella coi dati
comuni, e tante tabelle coi dati specifici, una per ogni
tipologia, e le collego mediante il contatore del record
della tabella principale; poi le metto assieme tutte con una
query. L'unico tipo di join che va bene, non so perche', e'
quello di tipo 2 (tutti i record della tabella principale
piu' quelli delle tab. secondarie con lo stesso valore del
campo di collegamento). A questo punto ho disegnato una
maschera basata sulla query, che risulta molto "lunga"
perche' e' composta di molte pagine di video, la 1.a per i
dati comuni e le successive per i dati specifici, in ordine
di tipologia. Quindi per ogni record mi compare prima la
videata coi dati principali, poi ho messo un pulsante per
andare ai dati specifici che fa banalmente una sendkey di
tante pagedown quanto e' l'indicatore di tipologia, e
inversamente dalla pagina specifica torno indietro a quella
dei dati comuni. Mi sembra una soluzione poco elegante ma
funziona.
Pero' c'e' un problema sulla maschera e cioe' non mi
permette di aggiungere record, pur essendo specificato di
si' nei parametri. Sospetto che cio' dipenda dal tipo di
join tra le tabelle. Hai qualche idea?
grazie
il barbi


C'e' un motivo per cui non hai scelto un oggetto a schede
o sottomaschere che potresti rendere visibili/non visibili
in funzione della tipologia?
con origine dati della testata direttamente sulla tabella
principale e origine dati della singola scheda/sottomaschera
sulla singola tabella di tipologia?
Credo che la "left" join che hai usato come origine dati
possa rendere non aggiornabile la form.
--
a.cara
a.cara


be' poi ho risolto premendo il pulsante con l'asterisco che
sta sulla barra di spostamento dei record, dopo di che ho
potuto aggiungere e modificare record dalla maschera...
per quanto riguarda l'architettura a sottomaschere, in
effetti non l'ho considerata perche' mi pare che il rapporto
tra tabella principale e tabelle secondarie non sia di uno a
molti, ma di uno a frazione di uno... ma probabilmente va
bene lo stesso... e riguardo all'oggetto a schede, in
effetti non ce l'ho presente pero' ho intuito com'e', se
vuoi dire che e' un riquadro con in alto tante linguette,
una per ogni tabella di dati specifici allora penso che sia
molto piu' giusta pero' non ho idea come definirla
il barbi