Lascia stare la maschera, quella non risolve i calcoli... quindi in sostanza quando fai la maschera è perchè i dati tornano...
Nel tuo caso:
1° Fossi in te rivedrei sia il campo Data che il campo Ore, nel senso che nel campo data inserirei anche OraInizio e nel campo Ore metterei solo le Ore come Numerico...
Data Ore
16/03/2016 08:00:00 2
16/03/2016 11:00:00 1
ecc...
In questo modo il calcolo delle ore lo fai tu in fase di inserimento...!
Oppure metti DataInizio e DataFine
DataIni DataFine
16/03/2016 08:00:00 16/03/2016 10:00:00
In questo modo il calcolo delle ore lo deve fare il sistema... per farlo si usa DateDiff
Se nella finestra immediata lo provi...
?Datediff("h",#16/03/2016 08:00:00#,#16/03/2016 10:00:00#,vbMonday)
----> Risultato= 2
In una Query dovrai inserirlo scritto diverso:
OreLavorate:Datediff("h";DataIni,DataEnd;2)
Ne consegue che potrai fare una Query con un campo Calcolato che esprime il Numero di ORE lavorate negli intervalli, attenzione agli arrotondamenti ecc...
Ora rimane la Settimana...!
Per sapere di che settimana parliamo si usa:
?DatePart("ww",#16/03/2016 08:00:00#,2,2)
11
In una query dovrai scriverlo così:
=DatePart("ii";DataIni;2;2)
Attenzione per il calcolo della Settimana, leggi questo articolo:
Ne consegue che ora puoi costruire una Query che calcola le Ore lavorate nei singoli Intervalli e definisce anche la settimana.
Ora sapendo che puoi, creare una Query Raggruppata per Settimana con Campo OreLavorate in somma, otterrai il totale, se il MonteOre è sempre 4 potrai anche aggiungere un campo con il conteggio Residuale...
Ora dedicati alle prove per fare quanto ti ho suggerito... è semplice.