The continuous form shows a list of students. I'm using unbound combo boxes
on the form to select parameters. Most of the parameters are unique to each
record, however there is one parameter - hobbies. The Hobbies table is
associated with the Students table with a one-to-many relationship.
The continuous form should show each student only once. Right now each
student shows up once for each hobbie they've been assigned in the database.
My question is how to limit the query to show only one record for each
student while still returning the values that will allow me to filter the
list for Hobbies.
Just an analogy for simplicity's sake. Here's the SQL. Last item in the
FROM clause is the "Hobbies" value, WHERE clause includes all the variables
for the form parameters:
SELECT tblSOPs.SOPID, tblSOPs.SOPCode, tblSOPs.SOPTitle, tblSOPs.SOPVersion,
tblSOPs.SOPAuthorID, tblSOPs.SOPStartDate, tblSOPs.SOPEndDate,
tblSOPs.SOPCategoryID, tblCategories.CategoryCode, tblSOPs.SOPSubCategoryID,
tblSubCategories.CategoryCode, tblSOPTypes.SOPTypeCode,
tblSubCategories.CategoryDescription, tblSOPs.SOPStatus,
tblSOPTypes.SOPTypeID, tblCategories.CategoryID, tblSubCategories.CategoryID
FROM (tblSOPTypes RIGHT JOIN (tblCategories AS tblSubCategories RIGHT JOIN
(tblCategories RIGHT JOIN tblSOPs ON tblCategories.CategoryID =
tblSOPs.SOPCategoryID) ON tblSubCategories.CategoryID =
tblSOPs.SOPSubCategoryID) ON tblSOPTypes.SOPTypeID = tblSOPs.SOPTypeID) LEFT
JOIN tblSOPGXP ON tblSOPs.SOPID = tblSOPGXP.SOPID
WHERE (((tblSOPs.SOPStatus)=[Forms]![fmnuSOPList]![cboSOPStatus] And
(tblSOPs.SOPStatus)<>5) AND
((tblSOPTypes.SOPTypeID)=[Forms]![fmnuSOPList]![cboSOPType]) AND
((tblCategories.CategoryID)=[Forms]![fmnuSOPList]![cboSOPCat]) AND
((tblSubCategories.CategoryID)=[Forms]![fmnuSOPList]![cboSOPSub]) AND
((tblSOPGXP.GXPTypeID)=[Forms]![fmnuSOPList]![cboGXPType])) OR
(((tblSOPs.SOPStatus)<>5) AND
((tblSOPTypes.SOPTypeID)=[Forms]![fmnuSOPList]![cboSOPType]) AND
((tblCategories.CategoryID)=[Forms]![fmnuSOPList]![cboSOPCat]) AND
((tblSubCategories.CategoryID)=[Forms]![fmnuSOPList]![cboSOPSub]) AND
((tblSOPGXP.GXPTypeID)=[Forms]![fmnuSOPList]![cboGXPType]) AND
(([Forms]![fmnuSOPList]![cboSOPStatus]) Is Null)) OR
(((tblSOPs.SOPStatus)=[Forms]![fmnuSOPList]![cboSOPStatus] And
(tblSOPs.SOPStatus)<>5) AND
((tblCategories.CategoryID)=[Forms]![fmnuSOPList]![cboSOPCat]) AND
((tblSubCategories.CategoryID)=[Forms]![fmnuSOPList]![cboSOPSub]) AND
((tblSOPGXP.GXPTypeID)=[Forms]![fmnuSOPList]![cboGXPType]) AND
(([Forms]![fmnuSOPList]![cboSOPType]) Is Null)) OR (((tblSOPs.SOPStatus)<>5)
AND ((tblCategories.CategoryID)=[Forms]![fmnuSOPList]![cboSOPCat]) AND
((tblSubCategories.CategoryID)=[Forms]![fmnuSOPList]![cboSOPSub]) AND
((tblSOPGXP.GXPTypeID)=[Forms]![fmnuSOPList]![cboGXPType]) AND
(([Forms]![fmnuSOPList]![cboSOPStatus]) Is Null) AND
(([Forms]![fmnuSOPList]![cboSOPType]) Is Null)) OR
(((tblSOPs.SOPStatus)=[Forms]![fmnuSOPList]![cboSOPStatus] And
(tblSOPs.SOPStatus)<>5) AND
((tblSOPTypes.SOPTypeID)=[Forms]![fmnuSOPList]![cboSOPType]) AND
((tblSubCategories.CategoryID)=[Forms]![fmnuSOPList]![cboSOPSub]) AND
((tblSOPGXP.GXPTypeID)=[Forms]![fmnuSOPList]![cboGXPType]) AND
(([Forms]![fmnuSOPList]![cboSOPCat]) Is Null)) OR (((tblSOPs.SOPStatus)<>5)
AND ((tblSOPTypes.SOPTypeID)=[Forms]![fmnuSOPList]![cboSOPType]) AND
((tblSubCategories.CategoryID)=[Forms]![fmnuSOPList]![cboSOPSub]) AND
((tblSOPGXP.GXPTypeID)=[Forms]![fmnuSOPList]![cboGXPType]) AND
(([Forms]![fmnuSOPList]![cboSOPStatus]) Is Null) AND
(([Forms]![fmnuSOPList]![cboSOPCat]) Is Null)) OR
(((tblSOPs.SOPStatus)=[Forms]![fmnuSOPList]![cboSOPStatus] And
(tblSOPs.SOPStatus)<>5) AND
((tblSubCategories.CategoryID)=[Forms]![fmnuSOPList]![cboSOPSub]) AND
((tblSOPGXP.GXPTypeID)=[Forms]![fmnuSOPList]![cboGXPType]) AND
(([Forms]![fmnuSOPList]![cboSOPType]) Is Null) AND
(([Forms]![fmnuSOPList]![cboSOPCat]) Is Null)) OR (((tblSOPs.SOPStatus)<>5)
AND ((tblSubCategories.CategoryID)=[Forms]![fmnuSOPList]![cboSOPSub]) AND
((tblSOPGXP.GXPTypeID)=[Forms]![fmnuSOPList]![cboGXPType]) AND
(([Forms]![fmnuSOPList]![cboSOPStatus]) Is Null) AND
(([Forms]![fmnuSOPList]![cboSOPType]) Is Null) AND
(([Forms]![fmnuSOPList]![cboSOPCat]) Is Null)) OR
(((tblSOPs.SOPStatus)=[Forms]![fmnuSOPList]![cboSOPStatus] And
(tblSOPs.SOPStatus)<>5) AND
((tblSOPTypes.SOPTypeID)=[Forms]![fmnuSOPList]![cboSOPType]) AND
((tblCategories.CategoryID)=[Forms]![fmnuSOPList]![cboSOPCat]) AND
((tblSOPGXP.GXPTypeID)=[Forms]![fmnuSOPList]![cboGXPType]) AND
(([Forms]![fmnuSOPList]![cboSOPSub]) Is Null)) OR (((tblSOPs.SOPStatus)<>5)
AND ((tblSOPTypes.SOPTypeID)=[Forms]![fmnuSOPList]![cboSOPType]) AND
((tblCategories.CategoryID)=[Forms]![fmnuSOPList]![cboSOPCat]) AND
((tblSOPGXP.GXPTypeID)=[Forms]![fmnuSOPList]![cboGXPType]) AND
(([Forms]![fmnuSOPList]![cboSOPStatus]) Is Null) AND
(([Forms]![fmnuSOPList]![cboSOPSub]) Is Null)) OR
(((tblSOPs.SOPStatus)=[Forms]![fmnuSOPList]![cboSOPStatus] And
(tblSOPs.SOPStatus)<>5) AND
((tblCategories.CategoryID)=[Forms]![fmnuSOPList]![cboSOPCat]) AND
((tblSOPGXP.GXPTypeID)=[Forms]![fmnuSOPList]![cboGXPType]) AND
(([Forms]![fmnuSOPList]![cboSOPType]) Is Null) AND
(([Forms]![fmnuSOPList]![cboSOPSub]) Is Null)) OR (((tblSOPs.SOPStatus)<>5)
AND ((tblCategories.CategoryID)=[Forms]![fmnuSOPList]![cboSOPCat]) AND
((tblSOPGXP.GXPTypeID)=[Forms]![fmnuSOPList]![cboGXPType]) AND
(([Forms]![fmnuSOPList]![cboSOPStatus]) Is Null) AND
(([Forms]![fmnuSOPList]![cboSOPType]) Is Null) AND
(([Forms]![fmnuSOPList]![cboSOPSub]) Is Null)) OR
(((tblSOPs.SOPStatus)=[Forms]![fmnuSOPList]![cboSOPStatus] And
(tblSOPs.SOPStatus)<>5) AND
((tblSOPTypes.SOPTypeID)=[Forms]![fmnuSOPList]![cboSOPType]) AND
((tblSOPGXP.GXPTypeID)=[Forms]![fmnuSOPList]![cboGXPType]) AND
(([Forms]![fmnuSOPList]![cboSOPCat]) Is Null) AND
(([Forms]![fmnuSOPList]![cboSOPSub]) Is Null)) OR (((tblSOPs.SOPStatus)<>5)
AND ((tblSOPTypes.SOPTypeID)=[Forms]![fmnuSOPList]![cboSOPType]) AND
((tblSOPGXP.GXPTypeID)=[Forms]![fmnuSOPList]![cboGXPType]) AND
(([Forms]![fmnuSOPList]![cboSOPStatus]) Is Null) AND
(([Forms]![fmnuSOPList]![cboSOPCat]) Is Null) AND
(([Forms]![fmnuSOPList]![cboSOPSub]) Is Null)) OR
(((tblSOPs.SOPStatus)=[Forms]![fmnuSOPList]![cboSOPStatus] And
(tblSOPs.SOPStatus)<>5) AND
((tblSOPGXP.GXPTypeID)=[Forms]![fmnuSOPList]![cboGXPType]) AND
(([Forms]![fmnuSOPList]![cboSOPType]) Is Null) AND
(([Forms]![fmnuSOPList]![cboSOPCat]) Is Null) AND
(([Forms]![fmnuSOPList]![cboSOPSub]) Is Null)) OR (((tblSOPs.SOPStatus)<>5)
AND ((tblSOPGXP.GXPTypeID)=[Forms]![fmnuSOPList]![cboGXPType]) AND
(([Forms]![fmnuSOPList]![cboSOPStatus]) Is Null) AND
(([Forms]![fmnuSOPList]![cboSOPType]) Is Null) AND
(([Forms]![fmnuSOPList]![cboSOPCat]) Is Null) AND
(([Forms]![fmnuSOPList]![cboSOPSub]) Is Null)) OR
(((tblSOPs.SOPStatus)=[Forms]![fmnuSOPList]![cboSOPStatus] And
(tblSOPs.SOPStatus)<>5) AND
((tblSOPTypes.SOPTypeID)=[Forms]![fmnuSOPList]![cboSOPType]) AND
((tblCategories.CategoryID)=[Forms]![fmnuSOPList]![cboSOPCat]) AND
((tblSubCategories.CategoryID)=[Forms]![fmnuSOPList]![cboSOPSub]) AND
(([Forms]![fmnuSOPList]![cboGXPType]) Is Null)) OR (((tblSOPs.SOPStatus)<>5)
AND ((tblSOPTypes.SOPTypeID)=[Forms]![fmnuSOPList]![cboSOPType]) AND
((tblCategories.CategoryID)=[Forms]![fmnuSOPList]![cboSOPCat]) AND
((tblSubCategories.CategoryID)=[Forms]![fmnuSOPList]![cboSOPSub]) AND
(([Forms]![fmnuSOPList]![cboSOPStatus]) Is Null) AND
(([Forms]![fmnuSOPList]![cboGXPType]) Is Null)) OR
(((tblSOPs.SOPStatus)=[Forms]![fmnuSOPList]![cboSOPStatus] And
(tblSOPs.SOPStatus)<>5) AND
((tblCategories.CategoryID)=[Forms]![fmnuSOPList]![cboSOPCat]) AND
((tblSubCategories.CategoryID)=[Forms]![fmnuSOPList]![cboSOPSub]) AND
(([Forms]![fmnuSOPList]![cboSOPType]) Is Null) AND
(([Forms]![fmnuSOPList]![cboGXPType]) Is Null)) OR (((tblSOPs.SOPStatus)<>5)
AND ((tblCategories.CategoryID)=[Forms]![fmnuSOPList]![cboSOPCat]) AND
((tblSubCategories.CategoryID)=[Forms]![fmnuSOPList]![cboSOPSub]) AND
(([Forms]![fmnuSOPList]![cboSOPStatus]) Is Null) AND
(([Forms]![fmnuSOPList]![cboSOPType]) Is Null) AND
(([Forms]![fmnuSOPList]![cboGXPType]) Is Null)) OR
(((tblSOPs.SOPStatus)=[Forms]![fmnuSOPList]![cboSOPStatus] And
(tblSOPs.SOPStatus)<>5) AND
((tblSOPTypes.SOPTypeID)=[Forms]![fmnuSOPList]![cboSOPType]) AND
((tblSubCategories.CategoryID)=[Forms]![fmnuSOPList]![cboSOPSub]) AND
(([Forms]![fmnuSOPList]![cboSOPCat]) Is Null) AND
(([Forms]![fmnuSOPList]![cboGXPType]) Is Null)) OR (((tblSOPs.SOPStatus)<>5)
AND ((tblSOPTypes.SOPTypeID)=[Forms]![fmnuSOPList]![cboSOPType]) AND
((tblSubCategories.CategoryID)=[Forms]![fmnuSOPList]![cboSOPSub]) AND
(([Forms]![fmnuSOPList]![cboSOPStatus]) Is Null) AND
(([Forms]![fmnuSOPList]![cboSOPCat]) Is Null) AND
(([Forms]![fmnuSOPList]![cboGXPType]) Is Null)) OR
(((tblSOPs.SOPStatus)=[Forms]![fmnuSOPList]![cboSOPStatus] And
(tblSOPs.SOPStatus)<>5) AND
((tblSubCategories.CategoryID)=[Forms]![fmnuSOPList]![cboSOPSub]) AND
(([Forms]![fmnuSOPList]![cboSOPType]) Is Null) AND
(([Forms]![fmnuSOPList]![cboSOPCat]) Is Null) AND
(([Forms]![fmnuSOPList]![cboGXPType]) Is Null)) OR (((tblSOPs.SOPStatus)<>5)
AND ((tblSubCategories.CategoryID)=[Forms]![fmnuSOPList]![cboSOPSub]) AND
(([Forms]![fmnuSOPList]![cboSOPStatus]) Is Null) AND
(([Forms]![fmnuSOPList]![cboSOPType]) Is Null) AND
(([Forms]![fmnuSOPList]![cboSOPCat]) Is Null) AND
(([Forms]![fmnuSOPList]![cboGXPType]) Is Null)) OR
(((tblSOPs.SOPStatus)=[Forms]![fmnuSOPList]![cboSOPStatus] And
(tblSOPs.SOPStatus)<>5) AND
((tblSOPTypes.SOPTypeID)=[Forms]![fmnuSOPList]![cboSOPType]) AND
((tblCategories.CategoryID)=[Forms]![fmnuSOPList]![cboSOPCat]) AND
(([Forms]![fmnuSOPList]![cboSOPSub]) Is Null) AND
(([Forms]![fmnuSOPList]![cboGXPType]) Is Null)) OR (((tblSOPs.SOPStatus)<>5)
AND ((tblSOPTypes.SOPTypeID)=[Forms]![fmnuSOPList]![cboSOPType]) AND
((tblCategories.CategoryID)=[Forms]![fmnuSOPList]![cboSOPCat]) AND
(([Forms]![fmnuSOPList]![cboSOPStatus]) Is Null) AND
(([Forms]![fmnuSOPList]![cboSOPSub]) Is Null) AND
(([Forms]![fmnuSOPList]![cboGXPType]) Is Null)) OR
(((tblSOPs.SOPStatus)=[Forms]![fmnuSOPList]![cboSOPStatus] And
(tblSOPs.SOPStatus)<>5) AND
((tblCategories.CategoryID)=[Forms]![fmnuSOPList]![cboSOPCat]) AND
(([Forms]![fmnuSOPList]![cboSOPType]) Is Null) AND
(([Forms]![fmnuSOPList]![cboSOPSub]) Is Null) AND
(([Forms]![fmnuSOPList]![cboGXPType]) Is Null)) OR (((tblSOPs.SOPStatus)<>5)
AND ((tblCategories.CategoryID)=[Forms]![fmnuSOPList]![cboSOPCat]) AND
(([Forms]![fmnuSOPList]![cboSOPStatus]) Is Null) AND
(([Forms]![fmnuSOPList]![cboSOPType]) Is Null) AND
(([Forms]![fmnuSOPList]![cboSOPSub]) Is Null) AND
(([Forms]![fmnuSOPList]![cboGXPType]) Is Null)) OR
(((tblSOPs.SOPStatus)=[Forms]![fmnuSOPList]![cboSOPStatus] And
(tblSOPs.SOPStatus)<>5) AND
((tblSOPTypes.SOPTypeID)=[Forms]![fmnuSOPList]![cboSOPType]) AND
(([Forms]![fmnuSOPList]![cboSOPCat]) Is Null) AND
(([Forms]![fmnuSOPList]![cboSOPSub]) Is Null) AND
(([Forms]![fmnuSOPList]![cboGXPType]) Is Null)) OR (((tblSOPs.SOPStatus)<>5)
AND ((tblSOPTypes.SOPTypeID)=[Forms]![fmnuSOPList]![cboSOPType]) AND
(([Forms]![fmnuSOPList]![cboSOPStatus]) Is Null) AND
(([Forms]![fmnuSOPList]![cboSOPCat]) Is Null) AND
(([Forms]![fmnuSOPList]![cboSOPSub]) Is Null) AND
(([Forms]![fmnuSOPList]![cboGXPType]) Is Null)) OR
(((tblSOPs.SOPStatus)=[Forms]![fmnuSOPList]![cboSOPStatus] And
(tblSOPs.SOPStatus)<>5) AND (([Forms]![fmnuSOPList]![cboSOPType]) Is Null)
AND (([Forms]![fmnuSOPList]![cboSOPCat]) Is Null) AND
(([Forms]![fmnuSOPList]![cboSOPSub]) Is Null) AND
(([Forms]![fmnuSOPList]![cboGXPType]) Is Null)) OR (((tblSOPs.SOPStatus)<>5)
AND (([Forms]![fmnuSOPList]![cboSOPStatus]) Is Null) AND
(([Forms]![fmnuSOPList]![cboSOPType]) Is Null) AND
(([Forms]![fmnuSOPList]![cboSOPCat]) Is Null) AND
(([Forms]![fmnuSOPList]![cboSOPSub]) Is Null) AND
(([Forms]![fmnuSOPList]![cboGXPType]) Is Null))
ORDER BY tblSOPs.SOPCode;