A common type of A level project is a booking system created in Access. One of the most important functions such a system will perform is to prevent double-bookings or clashes. This can be more or less tricky, depending on how the appointments are made. Appointments or bookings fall into two basic categories - either discrete slots (e.g. a doctor's surgery, where a patient is given a 10-minute slot), or bookings with a start and end time/date (e.g. a booking in a holiday cottage, with arrival and departure dates). If you're booking hour lessons, or discrete appointments of some sort, then you can use referential integrity to stop double-bookings. If you're booking something like holiday cottages, on the other hand, where there are arrival or departure dates and the bookings can overlap, then it's a little more tricky. Here I shall propose the methods I would use to prevent double-bookings in each case.