glaucoperez ha scritto:
Gli spazi...sono veramente tanti: sala1,2,3,...8..n ed appartenenti anche a due luoghi diversi
Cerca di rendere OGNI SPAZIO univoco nella tabella Spazi. Se un campo dovesse risultare insufficiente, crea più campi...penso ci arrivi da solo a capirlo.
glaucoperez ha scritto:
Spazi...non prenotabili nello stesso intervallo orario dello stesso giorno (questo è il vero scoglio)
Capisco. Penso che ci sarebbero più soluzioni al riguardo, alcune facili e intuitive, altre più complicate. Ti elenco alcune che mi vengono in mente:
A) Se crei un "Indice Multicampo Univoco" sui campi TimeInizio, TimeFine e Spazio, impedisci all'input dati di ripetersi/accavallarsi esattamente su 3 valori coincidenti...Il difetto di questa soluzione sarebbe se per caso hai previso un Evento dalle 17:00 alle 18:30 in Sala1 e poi un altro dalle ore 17:30 alle 19:30 in Sala1, questi due Eventi verrrebbero accettati ugualmente, in quanto non esattamente uguali sui 3 campi...ma ovviamente (praticamente parlando) sono incompatibili.
B) Spartanamente/intuitivamente parlando, se crei una maschera/sottomaschera Spazi/Eventi, per ogni Spazio visibile in alto, potresti avere "al volo" una occhiata di tutti i suoi Eventi e decidere "umanamente" se puoi o non puoi inserire un nuovo Evento.
C) Soluzione più complicata. Occorre una query (o forse un codice VBA) che controlli i 3 soliti campi in maniera "matematica" e "sistematica" in modo che non si creino accavallamenti incompatibili. Occorre però lavorare accuratamente su calcoli di tempo...Confesso che non amo molto manipolare i campi DataOra per operazioni di questo genere e troverei un rompicapo tentare di risolvere in questa direzione.