Dovresti chiederti se hai bisogno di una soluzione generica (un'altra è di Allen Browne ) o se ne hai bisogno solo per lo scopo attuale. Se ne hai davvero bisogno solo una volta, fallo nel modo più semplice.
Una nota a margine, quando concateni gli elenchi nel codice VBA, approfitta di un trucco insegnatomi dal guru di Access di lunga data Trevor Best, e cioè attaccare il delimitatore all'inizio di ogni valore e quindi utilizzare Mid() per rimuoverlo spento. Invece di questo all'interno del tuo ciclo attraverso i record figlio:
If Len(strOutput) = 0 Then
strOutput = NewValue
Else
strOutput = strOutput & ", " & NewValue
End If
...usalo all'interno del ciclo:
strOutput = strOutput & ", " & NewValue
...e poi quando esci dal ciclo, rimuovi il delimitatore iniziale:
strOutput = Mid(strOutput, 3)
Ciò ha implicazioni ovunque e semplifica il codice per la concatenazione in tutta una serie di contesti.