Grazie fratac per la risposta. Hai inquadrato abbastanza bene lo scenario. Alcune precisazioni: io emetto un'ordine verso il fornitore con una serie di righe d'ordine: a seguire lo scenario varia da fornitore a fornitore:
1) fornitore "A" risponde con una offerta a cui puo' seguire una trattativa e a seguire invia la conferma d'ordine(per me la conferma d'ordine e' quella che invia il fornitore), poi consegna la merce con DDT e/o fattura
2) fornitore "B" invia direttamente la conferma d'ordine, poi consegna la merce con DDT e/o fattura
3) fornitore "C" invia direttamente il materiale con DDT (quindi senza offerta e conferma ordine)
4) fornitore "D" invia direttamente il materiale con fattura (quindi senza offerta, conferma d'ordine e DDT).
In ognuno di questi casi devo tenere sempre traccia di tutti i documenti "collegandoli" fra loro
La prima è che sicuramente l'introduzione della stessa tabella ripetuta due volte è un errore, sia a livello di struttura che di ragionamento.
Eliminata doppia tabella e create 4 tabelle: una per offerte, una per conferme ordine, una per DDT e una per fatture (tutto molto piu' snello.
la seconda è che secondo me il tipo di documento non dovrebbe avere relazioni dirette con le altre tabelle, ma solo come fonte dati per popolare le combobox
Qui io pecco di ignoranza, lo ammetto, infatti ci sono alcune tabelle collegate che verranno utilizzate nelle maschere per le combo: quindi non e' necessario creare il join? Ok allora le tolgo dalle relazioni...
Quindi a mio avviso dovresti avere una tabella dei tuoi ordini, dove inserisci il materiale ordinato, con il riferimento ai preventivi che hai accettato
Ho infatti creato la tblOCordinicostamp a cui e' collegata la tblDOdettaglioordine in cui sono presenti le singole voci con i prezzi derivati dall'offerta e/o dalla confera d'ordine del fornitore.
Tutta la parte di valutazione delle offerte (...quando viene effettuata) e conseguente assegnazione dell'ordine, avviene a monte di tutto per cui prima di emettere l'ordine; non tengo traccia della "gara", non ci serve.
La seconda immagine proviene dal CAD, io la voglio replicare in modo analogo ma piu' semplificata per generare l'ordine per il fornitore: in quell'immagine ci sono campi vuoti che non servono per quel tipo di fornitore (componenti commerciali), ma che invece vengono compilati per altri fornitori (per es. acquisto di materia prima...). Nella tabella tblDOdettaglioordine inserisco le righe d'ordine la cui descrizione vado a popolare dalla tblEVelencovociordine dove avro' l'elenco delle descrizioni per tutti i componenti di acquisto...
Letto anche Tuo secondo msg e assimilato, posto il nuovo schema in base alle considerazioni di cui sopra