A family of Microsoft relational database management systems designed for ease of use.
Why are you using a GROUP BY (Totals) query when you are not using an aggregate function (Count, Sum, etc)? The only valid reason I can think of is to eliminate any duplicate records in the resulting dataset, which is more cleanly specified by using the DISTINCT predicate (Unique records). Either way,
the query will truncate any memo fields with more than 255 characters.
I think you should first turn off the Totals option and make sure the Having clause becomes a WHERE clause. Then see how it runs and report back with a Copy/Paste of the new version of the query and what happened.
Thanks for the comment to my question - as suggested by turning off the totals and adjust it to WHERE - did the trick. Below is the revised query. Thanks again.
SELECT tblCTO.ProgramID, tblCTO.[CTO#], tblCTO.CTOName, tblCTO.Description, qryContacts.Name, qryContacts_1.Name, qryContacts_2.Name, tblMod.[Mod#], tblCTO.LongDesc, tblMod.Description, tblMod.StartDate, tblMod.EndDate, tblMod.Fee, tblMod.Cost, tblMod.TotalFunded, tblProgram.ProgramName, tblProgram.Client, tblProgram.[Contract#], tblProgram.ContractName, tblMod.Comment, tblCTO.CTOID, tblCTO.[Active?], tblCTO.CloseoutDate, qryProgramContact.Name, tblCTO.Location
FROM (tblProgram INNER JOIN qryProgramContact ON tblProgram.ProgramID = qryProgramContact.ProgramID) INNER JOIN ((((qryContacts INNER JOIN tblCTO ON qryContacts.ContactID = tblCTO.PM) LEFT JOIN qryContacts AS qryContacts_1 ON tblCTO.CS = qryContacts_1.ContactID) LEFT JOIN qryContacts AS qryContacts_2 ON tblCTO.RPM = qryContacts_2.ContactID) INNER JOIN tblMod ON tblCTO.CTOID = tblMod.CTOID) ON tblProgram.ProgramID = tblCTO.ProgramID
WHERE (((tblCTO.ProgramID)=[Enter the Program ID]))
ORDER BY tblCTO.ProgramID, tblCTO.[CTO#], tblMod.[Mod#];