Can you give any more information on your problem? Are you having trouble with the Tables, Forms, Queries, Reports, or VBA code?
My crack at it though would go something like this:
Table: tblUsers
Code:
userID (long integer, auto increment, primary key)
user_name (text, 64 characters, index)
leave_available (long integer, not null, default 80)
leave_reset_date (short date)
You'll want to pre-populate the table with a list of all your users and the amount of leave time they have available. I'm running on the assumption that most of them will have 10 days (or 80 hours) available.
Table: tblReservations
Code:
reservation_date (short date)
reservation_time (fixed decimal, to 1 decimal place)
userID (long integer)
Each half-hour block will be it's own record, so you'll need to make a unique key with both the date and time.
Next make a Form that asks for the user and the date/times they want their leave. When they click the "Finish" Button, it will do the following checks:
Code:
(Leave already reserved) + (amount of time reserved) <= tblUsers.total_leave
All date/time blocks for leave not already filled
If all that evaluates to true, assign their leave and let the user know, otherwise pop up an error message.
I'd probably also make a couple of Queries/Reports. One that shows the reservations calendar style, and one that shows the amount of leave taken by user.