I've created a query that pulls parameters from a form and I need the user to be able to query by 1, 2, 3, or 4 separate criteria. Right now, the query seems to work fine with either 3 or 4 criteria selected but it doesn't work if fewer than 3 criteria are selected -- i.e., 2 or 3 of the combo boxes are left blank. How can I improve this query to make this work?
Here's my query:
SELECT tblDeliverables.ID, tblDeliverables.[Department/Owner], tblDeliverables.[Deliverable name], tblDeliverables.[Deliverable format], tblDeliverables.[Targeted roles], tblDeliverables.[Referenced products], tblDeliverables.[Clients/Components]
FROM tblDeliverableFormat INNER JOIN (tblXPProducts INNER JOIN (tblXPClientsComponents INNER JOIN ((tblDeliverables INNER JOIN tblDepartments ON tblDeliverables.[Department/Owner] = tblDepartments.[Dept Code]) INNER JOIN tblPersonas ON tblDeliverables.[Targeted roles].Value = tblPersonas.[Targeted Role].Value) ON tblXPClientsComponents.Code = tblDeliverables.[Clients/Components].Value) ON (tblXPProducts.[Product Name] = tblXPClientsComponents.[XP Product(s)].Value) AND (tblXPProducts.[Product Code] = tblDeliverables.[Referenced products].Value)) ON tblDeliverableFormat.ID = tblDeliverables.[Deliverable format].Value
WHERE (((tblDeliverables.[Department/Owner])=[Forms]![frm1TESTMultiSearchOptions]![cboSearchDept]) AND ((tblDeliverables.[Clients/Components].Value)=[Forms]![frm1TESTMultiSearchOptions]![cboClient]) AND ((tblDeliverables.[Targeted roles].Value)=[Forms]![frm1TESTMultiSearchOptions]![cboPersona]) AND ((tblDeliverables.[Referenced products].Value)=[Forms]![frm1TESTMultiSearchOptions]![cboProduct])) OR (((tblDeliverables.[Department/Owner])=[Forms]![frm1TESTMultiSearchOptions]![cboSearchDept]) AND ((tblDeliverables.[Targeted roles].Value)=[Forms]![frm1TESTMultiSearchOptions]![cboPersona]) AND ((tblDeliverables.[Referenced products].Value)=[Forms]![frm1TESTMultiSearchOptions]![cboProduct])) OR (((tblDeliverables.[Department/Owner])=[Forms]![frm1TESTMultiSearchOptions]![cboSearchDept]) AND ((tblDeliverables.[Clients/Components].Value)=[Forms]![frm1TESTMultiSearchOptions]![cboClient]) AND ((tblDeliverables.[Targeted roles].Value)=[Forms]![frm1TESTMultiSearchOptions]![cboPersona])) OR (((tblDeliverables.[Department/Owner])=[Forms]![frm1TESTMultiSearchOptions]![cboSearchDept]) AND ((tblDeliverables.[Clients/Components].Value)=[Forms]![frm1TESTMultiSearchOptions]![cboClient]) AND ((tblDeliverables.[Referenced products].Value)=[Forms]![frm1TESTMultiSearchOptions]![cboProduct])) OR (((tblDeliverables.[Clients/Components].Value)=[Forms]![frm1TESTMultiSearchOptions]![cboClient]) AND ((tblDeliverables.[Targeted roles].Value)=[Forms]![frm1TESTMultiSearchOptions]![cboPersona]) AND ((tblDeliverables.[Referenced products].Value)=[Forms]![frm1TESTMultiSearchOptions]![cboProduct]));