Hi RG- it looks rather unwieldy even to my eyes.....
They are all listboxes
lboname
lboyear
lboapparatus
lboparish
SELECT tblStJamesAgric.harvest_Year AS Expr1, tblStJamesAgric.Owner_Title AS Expr2, tblStJamesAgric.Forename AS Expr3, tblStJamesAgric.Plantation_Name AS Expr4, tblStJamesAgric.Apparatus AS Expr5, tblStJamesAgric.crop_yield_in_hogs_heads AS Expr6, tblStJamesAgric.Lastname AS Expr7, tblStJamesAgric.ID, tblStJamesAgric.Parish, tblStJamesAgric.Post_Office, tblStJamesAgric.crop_yield_in_lbs
FROM tblYears INNER JOIN (tblApparatus INNER JOIN (tblParishes INNER JOIN tblStJamesAgric ON tblParishes.Parish = tblStJamesAgric.Parish) ON tblApparatus.Apparatus = tblStJamesAgric.Apparatus) ON tblYears.Year = tblStJamesAgric.harvest_Year
WHERE (((tblStJamesAgric.crop_yield_in_hogs_heads) Between [Forms]![Harvestform]![lbocrop] And [Forms]![Harvestform]![lbocrop1]) AND ((IIf([Forms]![Harvestform]![Lboparish]="All",True,[tblparishes].[Parish]=[Forms]![Harvestform]![Lboparish]))=True) AND ((IIf([Forms]![Harvestform]![Lboname]="All",True,[tblStJamesAgric].[lastname]=[Forms]![Harvestform]![Lboname]))=True) AND ((IIf([Forms]![Harvestform]![Lboyear]="All",True,[tblyears].[Year]=[Forms]![Harvestform]![Lboyear]))=True) AND ((IIf([Forms]![Harvestform]![Lboapparatus]="All",True,[tblapparatus].[apparatus]=[Forms]![Harvestform]![Lboapparatus]))=True))
ORDER BY tblStJamesAgric.harvest_Year;
Thanks again.