Если вам не нужно каждое отдельное значение в списке с разделителями-запятыми, а, скажем, до первых 3 или 4 или около того, то в Access есть чистое решение SQL.
Я работаю надБД для некоммерческой организации, в которой есть преподаватели и классы.Для большинства классов есть только 1 или 2 репетитора.В целях отображения я все равно не могу перечислить более 2 или 3, поэтому я не беспокоюсь об усечении выбросов с 5 или более преподавателями.
Это позволит получить 3 преподавателя для каждого класса с наименьшим идентификатором преподавателя.
Select JTC1.ClassID, Min(JTC1.TID1) as TutorID1,
Min(JTC1.TID2) as TutorID2,
Min(JTC1.TID3) as TutorID3
from (
Select distinct TC1.ClassID,
TC1.TutorID as TID1,
TC2.TutorID as TID2,
TC3.TutorID as TID3
from ((
Classes C
Left Join TutorClasses TC1
on C.ClassID = TC1.ClassID)
Left Join TutorClasses TC2
on TC1.ClassID = TC2.ClassID and TC1.TutorID < TC2.TutorID
)
Left Join TutorClasses TC3
on TC2.ClassID = TC3.ClassID and TC2.TutorID < TC3.TutorID
) as JTC1
Group by JTC1.ClassID
Очевидно, потребуется 1 дополнительный шаг (не показан), чтобы объединить три столбца в 1.