I didn't say to create a separate table. It is not wrong but I wouldn't do it because it will be easier to have the data in a single table should you need both types of punches in a single report. If they are in separate tables, you would need a union query to bring them together.
Here is a link to a list of VBA functions by category.
Functions (category list) | Microsoft Docs
Bookmark it so you don't lose it. Print it out so it is always handy to scan until you get comfortable with knowing what functions are available. Where it is relevant, the date functions include arguments to specify the first day of the week.
Here's a link to a database I built that includes useful date functions and forms to show how they might be used. It has a function to format elapsed time to your specification.
Sample Date Functions | Access World Forums (access-programmers.co.uk)
I don't have anything to put dates into shifts. I'll think about it and if I have time, I'll add it to this date sample. In the meantime, you need a table that defines shifts. Usually there will be three but you can have as many as you want. You might have people working three 8-hour shifts per day but you might have some people working 10 hour shifts, etc. Then the record for each employee contains his assigned shift. If you need this to be variable, you will need a way to collect the shiftID in the login punch for the day. Since shifts change over time, I would copy the currently assigned shift to the login record -ALWAYS but give the user an opportunity to modify it for the day. That allows for the most flexibility since it allows a person normally working first shift to swap with a person working second shift just one time.
Add a watch to any sample you download from this forum so you will get a notification if something changes. The samples are rarely updated so don't worry about being inundated with useless emails.