Very difficult to do in Access, methinks. Biggest hurdle is that you need a date field for a span and it would have to be independent of the shift date/time field. After that comes handling DownTimeDate being => that date, and UpTimeDate <= that date. Then sorting by date (but which one?) then machine and calculating the difference, assuming neither field is null. Then querying that query with a Totals query to sum the calculated field, grouped by whichever grouping you're after.
I had to do this many years ago to chart the up time of mobile equipment. I pulled Access data into Excel and used a complex cell formula to calculate the availability (up time) of each unit. 123 might go down on Monday at noon and not come back up until Thursday. In the meantime, 4 or 5 other units were going up and down so the records were date based and in order of the calendar date. Mind you, I was only calculating how many were available out of 5 or whatever the number was. So the running calculation result in a column was based on 5-1-1-1+2-1... as the dates went on. The worst thing that could happen to you (IMHO) is for you to figure this out in Access, then management asks to see a chart of it. You'd be way ahead just using the power of Excel formulae, I think. Thing is, you've said what you'd like to see, but not why and what you'd do with this info. Perhaps what I did isn't relevant because you're not after availability.
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.