Newsgroup: it.comp.appl.access
Titolo: Dubbi sulla struttura.... relazioni1a1

ciao e scusate l'insistenza ma mi sto facendo il mio database di gestione
lavoro e lo vorrei fare per benino.
Allora... il problema è questo:
Nel mio lavoro io devo fare dei preventivi ai clienti, però dato che ho vari
tipi di preventivi (per CAD, 3D, Pagine web, etc) e ognuno ha dei campi (e
soprattutto delle modalità di calcolo) diversi dagli altri, mi trovo un pò
in crisi.
Cioè... io pensavo (ma correggetemi se sbaglio) che forse potrei fare una
tabella contenente i dati generali del preventivo, e poi una serie di
tabelle specifiche per il tipo di preventivo richiesto.
Il problema è come le collego, pensavo ad una relazione 1a1 ma l'help di
access2000 non mi aiuta molto a comprenderne le modalità e poi dice che è
una scelta un pò atipica.
Gradirei avere delle idee in merito.
Tenete conto che:
Ogni preventivo sarà composto sempre da due parti: una generale contenente i
dati del preventivo e una specifica (scelta tra le tante) contenente i
parametri che calcolano il preventivo stesso.
- Il preventivo sarà collegato alla tabella clienti.....(non sò se vi serve
saperlo ma io ve lo dico lo stesso)
- In qualche modo io devo avere una maschera che mi permetta di inserire i
parametri e un altra maschera che mi consenta di monitorare lo stato dei
preventivi.
Basta. Finito. Per stasera spero di non avere altri problemi, grazie a tutti
quelli che sono arrivati a leggere fino a qui. E grazie a chi mi potrà dare
una mano
Ciao Mirko

(.....)
Per darti consigli validi sarebbe meglio che tu dettagliassi meglio le
informazioni che intendi gestire, e soprattutto cosa distingue un tipo
di preventivo dagli altri.
In ogni caso, senza conoscere il problema e quindi con tutte le
cautele del caso, propongo una struttura di questo tipo:
Testata preventivi
----------------------------
ID_Preventivo
CD_Cliente
DataProposta
DataAccettazione
ImportoTotale
CD_IVA
CD_Fattura
.....
Dettaglio preventivi
------------------------------
CD_Preventivo
CD_Tipologia
Descrizione
TempoPrevisto
Importo
.....
Tipologie preventivi
-------------------------------
ID_Tipologia
Descrizione
Modalità	(preventivo ad ore, a forfait, aperto ....)
ImportoUnitario
......
Quindi per esempio, la tipologia che prevede una modalità a forfait
dovrebbe disabilitare in fase di input del dettaglio di un preventivo,
il controllo associato al campo TempoPrevisto, lasciando immettere
solo l'importo; viceversa una tipologia che prevede la modalità ad ore
dovrebbe disabilitare il controllo associato all'importo, accettare
solo TempoPrevisto e calcolare Importo=TempoPrevisto*ImportoUnitario.
Ripeto: è solo un'ipotesi molto teorica dato che non hai fornito
elementi sufficienti.
Prendilo come uno spunto per analizzare il problema sotto una luce
diversa.
Vincenzo Turturro
---------------------------------------------------------
Se no diventiamo tutti **** dai portatili o peggio ancora 
provetti poeti fiorentini come vturturro.
(Così disse 
ivan....@tiscalinet.it
 Ven 25 Aug 2000 09:34:52 +0200)

 (Cosě disse 
ivan....@tiscalinet.it
 Ven 25 Aug 2000 09:34:52 +0200)

Buttata lì senza alcuna pretesa:
prova a pensare ad una tabella dettaglio preventivo così strutturata.
CD_Preventivo
Par1
Par2
.........ripeti N volte, dove N è il numero massimo di parametri che
possono entrare in gioco in un preventivo...
ParN
ed a una tabella tipologie preventivi con questi campi:
ID_Tipologia
Descrizione
DescrizionePar1
DescrizionePar2
...ripeti N volte, dove N è il numero massimo di parametri che possono
entrare in gioco in un preventivo...
ParN
Formula
I vari campi DescrizioneParx andrebbero valorizzati con la descrizione
corrispondente al significato che Parx assume sulla tabella Dettaglio
preventivo per quella particolare tipologia.
Cioè per es.
Descrizione = "rendering architettonico"
DescrizionePar1 = "mc edificio"
DescrizionePar2 = "tipologia edificio"
DescrizionePar3 = "mq lotto (o resede o giardino)"
DescrizionePar4 = "tipologia lotto"
DescrizionePar5 = ""
...
DescrizioneParN = ""
Nella form dove gestisci il dettaglio del preventivo prevedi tanti
controlli quanti sono i campi Parx; non appena selezioni la tipologia
del preventivo, abiliti solo quelli corrispondenti ai campi
valorizzati sul record della tipologia selezionata (nell'esempio,
abiliteresti solo Par1, Par2, Par3, Par4) e imposti la caption delle
label associate ai campi con il valore presente in DescrizioneParx.
Per quanto riguarda i calcoli da fare, potresti scrivere nel campo
Formula della tab. Tipologie preventivi la formula da applicare; se
per es. il calcolo da fare nel caso sopra è 2 * mc edificio + 1,5 * mq
lotto, nel campo formula dovresti scrivere 
2*Par1+1,5*Par3
Questo ti servirebbe nella form che gestisce il dettaglio preventivo,
dove eseguiresti il calcolo con la seguente istruzione
Eval(Formula)
Vincenzo Turturro
---------------------------------------------------------
Se no diventiamo tutti **** dai portatili o peggio ancora 
provetti poeti fiorentini come vturturro.
(Così disse 
ivan....@tiscalinet.it
 Ven 25 Aug 2000 09:34:52 +0200)