Calligan ha scritto:
Certo che poter avere anche un grafico di Gantt mi farebbe comodo (in futuro) ma non mi è chiara la realzione 1 a molti con una tabella di giorni, e come popolo questa tabella (dei giorni).
Scarica quel DEMO che ti ho illustrato, fa il GANTT... con un OCX purtroppo perchè allora lo usavo... ora non lo uso più, utilizzo direttamente Excel.
In ogni modo per riempire la Tabella serve un pochetto di Codice...
Esempio se devi prenotare un periodo, nella Tabella Principale avrai
[CheckIn] = 15/GEN/2017
[CheckOut]= 15/MAR/2017
Quando premi il Button per SALVARE il dato o confermare la prenotazione, devi generare una routine che cicla le date di mese in mese...!
Esempio se provi nella Finestra Immediata
?DateDiff("m",#15/01/2017#,#15/03/2017#)
2
Significa che i mesi interessati sono Risultato+1=3
Definisco la Variabile [Risultato]=Differenza in Mesi tra (CheckIn) e (ChceckOut) per farti capire di cosa parlo anche nel seguito.
infatti in questo esempio sono Gennaio, Febbraio e Marzo(ovviamente la differenza è 2 ma i mesi coinvolti sono 2+1).
Quindi facendo un ciclo da 0 a Risultato puoi definire i periodi di interesse ed i loro impatti...
I dati da salvare nella Tabella lato Molti sono:
IdDettaglio(Counter)
ChiaveEsterna(IdPrenotazione)
DataInizio
DataFine
Giorni
devi tener presenti 3 punti di lavoro:
1° Valore=0 significa che sei nel primo Mese, nell'esempio che facevo sopra siamo a Gennaio
In questo Step devi contare i giorni da CheckIn a Fine mese e li salvi nella Tabella lato M
2° Valore>0 AND Valore<Risultato Periodo intermedio tra le date In-Out, quindi nel nostro esempio=1 e siamo nel mese di Febbraio
In questo caso tutto il mese è inglobato, quindi 1° del mese ed ultimo del mese con il numero di gg relativi
3° Valore=Risultato questo è l'ultimo Mese corrisponde al mese del CheckOut
In questo step devi contare i Giorni dal 1° del mese alla data di ChechOut...
Sembra complicato, ma sono poche righe di codice nel ciclo... ed una manciata per inserire nella Tabella i Records specifici che ne conseguono...(nell'esempio sopra sono 3 Records se salvi i Periodi del MESE)... ma possono bastare senza problemi.