It looks like it is the list of machine names what is making the condition too long. Maybe you would consider (in case you don't have it jet) a table where all machines are listed. Then to get all registered machines included, the query will be
Code:
SELECT ... WHERE [Machine Name] IN (SELECT MachineName FROM tblMachines [WHERE ...]) AND [Out of Service] = False AND [Disposed] = False
In case the list of machines must be limited somewhy, I added an optional WHERE clause (in [] brackets).
Also, I did see you have in your original table fields "Out of Service" and "Disposed". You can consider having a field Satus instead - then your query will be like
Code:
SELECT ... WHERE [Machine Name] IN (SELECT MachineName FROM tblMachines [WHERE ...]) AND Status IN("Out of Service", "Disposed")
or in case you use numeric values for diffferent statuses, e.g. 8 for "Out of Service" and 9 for "Disposed"
Code:
SELECT ... WHERE [Machine Name] IN (SELECT MachineName FROM tblMachines [WHERE ...]) AND Status IN(8, 9)"
Edit: When fields [Out of Service] and [Disposed] in your original table mark statuses of machines, and the original table isn't the table of machines registry, then you have a problem with your DB structure!