Jet DB does not contain an aggregate function for string concatenation. You can create your own function to do what you need. First, you need your data with itemID and STRING for this category:
yourTableOrQueryName

then write a custom function as follows:
Public Function getCats(theID) Dim rs As Recordset Dim db As Database Dim qstr As String Dim returnString As String qstr = "SELECT category FROM yourTableOrQueryName WHERE itemID = " & theID Set db = CurrentDb Set rs = db.OpenRecordset(qstr) Do While Not rs.EOF returnString = returnString & ", " & rs!Category rs.MoveNext Loop getCats = Mid(returnString, 3, Len(returnString) - 2) End Function
Then your request looks like this:
SELECT itemID, getCats([itemID]) AS catList FROM yourTableOrQueryName GROUP BY itemID;
This query can be optimized, so it does not run several times for each identifier, inserting the selected unique query that just gets your unique identifiers before you run the getCats () function if you are in the millisecond trim, but I leave it to you.
Results:

source share