Sorted. (i think)
bit of hand coding required.
anyone who's interested, if you need to retrieve the stored values from a table whilst displaying all of the options, (as you would with a set of checkboxes), you need to create a recordset using a nested query with a left join.
eg,
SELECT CategoryDescription, coalesce(rsselected.CategoryID,0) as categoryid FROM refmessagecategory LEFT JOIN ((SELECT CategoryID FROM tblmessagecategory WHERE MessageID = 4) as rsselected) ON refmessagecategory.CategoryID = rsselected.CategoryID