Hello all, i'm doing a reservation equipment system and almost finish with it except that i have problem with double booking. I have no clue where to start and how to start, i included along with my system for you guys to check..

Where should i put the coding at?
-Create a new module
-At the command button save?

Any extra suggestion and criticism to help improve my system are welcome..

I went through your app. Where does the double booking take place, which form? What do you mean by double booking, are these equipment rentals, resulting in a certain "tool" being booked out twice?

First, i want to say thank you for replying to my question and sorry if my words are hard to understand. English is not my first language.

The double booking take place at 3 forms, FrmRegAdmin,FrmRegStaff and FrmQuickReservation. And you are correct about the double booking.. I want to eliminate the possibilities of user from booking equipment that are already booked by other user..

The easiest way to do this is to create another table in your database called say "BookedEquipment" with tables say "EquipmentId" "DateBooked", ClientBooked", "DateReturned", "ReturnedYesNo".

When a client books a certain item, update the table and fields. Make "ReturnedYesNo" No. When trying to book an item to a new client, check the table first to see if the certain item has been returned. If the item says no, the equipment is not available, if yes, then book it out to the new client.

Okay, i'm quite blur with your answer and couldn't see it in a clearer picture... Erm.. how do i update the new table? Is it when i save the reservation at the form?

Yes, when you save the reservation, save the booking as well. Everything will be done automatically with no user input. When the client return the equipment, the user will select "Equipment returned" and this will edit the record where the equipment id is saved. This must then change the ReturnedYesNo to yes. Once a new client books the equipment again, add a new record with the equipment id again and so on...

This will also be a very good report, because the user can see which items is booked the most etc.

Ok, i understand what you are implying and i thought the same thing before and my supervisor rejected the idea. It's hard for me to explain what i really want actually... From my understanding of your idea is that the system will check the availability of the equipment based from the BookedEquipment table on whether the equipment is returned or not.

Okay, what if User A booked the equipment from 3-5 and and he only return the equipment at 6. User B should be able to book the same equipment at 5.15 since the booking is only until 5 but User B can't since User A hasn't returned the equipment. And what if the booking is made in 2 weeks advance, so how does the system check? Do you understand what i want to explain?

Yes, now I do. This only strengthens my first solution on using a database to manage your bookings. Is there a reason your supervisor does not want to use a table?

If your client has booked an item 2 weeks in advance for instance, who is going to remember that the item is not available from that date. In your database you can manage this by still make the booking. If another clients want to hire the item say for 4 days, but this is only 2 days before the other client arrives, the system will block you as a user to hire out the item for more than 2 days, in other words it will raise say a message box stating that the item is only available for 2 days to mr. X because mr. Y will collect on a certain date.

Your problem to the times is as easily resolved. Add another field to the table, "TimeCollected" and "TimeToReturn". This way if a user want to book the item from 15:00 onwards, the system will check the database, it shows that the item should be available from 15:00, so the booking can be made. This works very similar to video store where movies are booked and brought back on a daily basis.

Again, I think that this will be your most efficient solution to use, with the least amount of coding. If you struggle with the coding let me know, I'll see if I can squeeze a solution in there somewhere if time permits.

It would be helpful if you can help me with the coding, i need to pass up the system tomorrow and i've been asking help from other people even my supervisors for weeks regarding this issues and it's been helpless because people are no longer using vb6.

I don;t even know where and what to start with the coding.

What database are you using? Access, MySql,Sql?

Cool, I'll get to this as soon as I can.