Time spent by product in process represented by clockin and clock out
I'll attempt to provide something helpful, even though this is old.


To  start with, just syntax-wise, [brackets] are only required if your column name contains a reserved character, such as a space or apostrophe. It looks less cluttered if you don't use them unless needed, and I don't see any need for it in your columns. 
Line breaks and tabs make code much easier to read. I know Access is quite limited in the amount of formatting you can do and doesn't allow comments, but every bit helps. 
I notice a lot of redundancy in your Iif statements. 3 statements result in ([CLOCK_OUT]-[X])*24*60. 2 statements result in ([Y]-[CLOCK_IN])*24*60. And 4 statements all result in 60 if true. My thought is to group these together as 3 subqueries and use WHERE instead of Iif to sort out the results. 


Here is how I would write this. Note I used Your_Table_Name since your code doesn't say, make sure you replace this with the actual table name. 

SUM(
    (
    SELECT ((CLOCK_OUT - X) * 24) * 60
    FROM Your_Table_Name
    WHERE CLOCK_IN &lt; X AND X &lt; CLOCK_OUT AND CLOCK_OUT &lt; Y
    OR X &lt; CLOCK_IN AND CLOCK_OUT = Y
    OR X = CLOCK_IN AND CLOCK_OUT &lt; Y
    )
    +
    (
    SELECT ((Y - CLOCK_IN) * 24) * 60
    FROM Your_Table_Name
    WHERE X &lt; CLOCK_IN AND CLOCK_IN &lt; Y AND Y &lt; CLOCK_OUT
    OR  X &lt; CLOCK_IN AND CLOCK_IN &lt; CLOCK_OUT AND CLOCK_OUT &lt; Y
    )
    +
    (
    SELECT 60
    FROM Your_Table_Name
    WHERE CLOCK_IN &lt; X AND Y = CLOCK_OUT
    OR CLOCK_IN = X AND Y &lt; CLOCK_OUT
    OR CLOCK_IN &lt; X AND X &lt; Y AND Y &lt; CLOCK_OUT
    OR X = CLOCK_IN AND Y = CLOCK_OUT
    )
)