Right, I'm rapidly getting fed up with this task - it seems ridiculously complex for AS ICT students. I've got it covered myself, but I think I must have gone around the houses because my version seems very, very complex. I've no idea how the poor souls that have chosen ICT AS level this year will get their heads around it. For those not in the know, the first 5 tasks are very simple, then OCR hit you with a 6th task that more than makes up for that. It's a relational database for a school library (no problem), with reports, data entry forms, etc (also no problem). However, the bit about calculating the fines that are payable on books is the difficult bit - a book is overdue after 14 days, then the fine increases by 20p a day, but only on school days - weekends and holidays (dates given in a separate table) do not count. The only way I can see of doing it, and the way I've done it, is to create a VBA function that takes the date loaned and the current date, then loops around each day in that array to check whether it's a weekday (using the weekday() function) and whether it's a school day (by comparing it to the term time table). It then adds 0.2 onto a variable if this all matches. When all of the dates have been checked, it returns the overall fine. I've just given this task to my Computing students as practice, who are all making a good job of it as I type, but this is for ICT students! Have I missed out a really simple way of doing it?