I think the trick is to add a calculated field in the row sources for the three list boxes dependant on the selectable one called IsSelected:iif([MyID] = Forms!MyForm!lstSelect.Column(x),"Y","N") where x is the zero-based index of the could holding the ID that relates the data and sort descending on that first before any other sort order.
Then after your selection you requery each of the listboxes to move the related data first then you select it:
Code:
Forms![MyForm].Controls("lstBox1").Selected(0) = True
Forms![MyForm].Controls("lstBox2").Selected(0) = True
Forms![MyForm].Controls("lstBox3").Selected(0) = True
Cheers,
Vlad