Newsgroup: it.comp.appl.access
Titolo: booking

dovrei gestirmi una specie di booking cioé un piano di prenotazioni del tipo
che si usa negli alberghi dove c'é una camera e si scorrono sul video tutte
le date in cui c'é disponibilità. Esiste una funzione calendario che
permette una cosa del genere? Oppure come si può fare? grazie

 ha scritto nel messaggio
news:bvaqn2$8bi$1...@fata.cs.interbusiness.it...

Per esempio potresti fare una casella di riepilogo sulla camera che
viesualizzi tutti i giorni del mese in cui questa non è prenotata!

 ha scritto nel messaggio
news:bvaqn2$8bi$1...@fata.cs.interbusiness.it...

Creati una tabella che abbia una struttura di questo tipo:
ID                Contatore e chiave primaria
Camera        Numerico
Libera           Si/No
DataInizio     Data/ora
DataFine       Data/ora
Cliente          Testo
il campo Libera assumerà il vaolre Si se la camera, nel periodo compreso tra
le due date, risulta libera e No nel caso inverso.
Quando crei la tabella per ogni camera inserirai un record con il campo
Libera impostato a Si, con DataInizio uguale al 1° gennaio dell'anno in
corso e con DataFine uguale al 31/12/2100.
Al momento della prenotazione verificherai prima (ad esempio con una
funzione DLookup) che nella tabella esista per quella camera un record per
il quale DataInizio sia minore o uguale alla data di inizio prenotazione e
DataFine sia maggiore o uguale alla data di fine prenotazione; se tale
record non esiste significa che la prenotaziobe per quella camera non può
essere accettata; se invece il record esiste, va cancellato e nella tabella
va registrato il record relativo alla prenotazione (campo Libera impostato a
No); nella tabella andranno inseriti per quella camera anche uno o due
record, con Libera impostato a Si, del/i periodo/i libero/i residuo/i
rispetto al record rilevato precedentemente con la funzione DLookup.
Ad esempio, se la prenotazione era dal 10/1/2004 al 20/1/2004 e nella
tabella viene rilevato il record con il campo Libera  = Si e Data Inizio =
1/1/2004 e DataFine = 31/12/2004, tale record rilevato verrà cancellato ed
al suo posto verrà inserito con il campo Libera impostato a No un record con
DataInizio = 10/1/2004 e con DataFine = 20/1/2004; verranno inoltre inseriti
in tabella due record co il campo Libera = Si: il primo avrà DataInizio =
1/1/2004 e DataFine = 9/1/2004 ed il secondo avrà DataInizio = 21/1/2004 e
DataFine = 31/12/2004.
Poi crearti una query che ti visualizzi solo i record della tabella che
abbiano una DataFine maggiore o uguale alla data odierna; potrai visualizare
tutti i record risultanti o filtrare solo quelli con Libera = Si (periodi in
cui le stanze sono libere) o solo quelli con Libera = No (periodi in cui le
camere sono occupate).
Naturalmente, ogni giorno, cancellerai tutti quei record la cui DataFine è
minore alla data odierna.
Per una rappresentazione grafica del diagramma di Gant che rappresenti
l'occupazione e la disposnibilità delle stanze puoi usare la tecnica
impiegata in un database di esempio che trovi allegato alla FAQ di AntoGal
intitolata "Rappresentazione, su Report, di periodi temporali mediante
segmenti" che trovi nella Sezione Reports del Sito Comune (link qui sotto).
Potresti, per ogni camera, colorare di verde i rettangoli relativi ai
periodi in cui le camere sono libere (campo Libera = Si) e di rosso i
rettangoli che rappresentano i periodi in cui le camere sono occupate (campo
Libera = No). Inoltre potresti inserire nel report, per ogni periodo
prenotato, i nome del cliente e le due date del periodo di prenotazione.
Facendo l'anteprima del report potrai avere a video la situazione schematica
dell'occupazione e della disponibilità di tutte le stanze.
-- 
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------