Soluzione:
codice:
Public Function ConcatenaStr(SKU As String, Brand As String) As String
Static s_SKU As String
Static s_strOutput As String
Dim Separatore As String
Separatore = ", "
' Verifico se si tratta di una sku
If s_SKU <> SKU Then
s_SKU = SKU ' Memorizzo la sku
s_strOutput = Brand ' Inizializzo la variabile di output con il nome della brand
Else
s_strOutput = s_strOutput & Separatore & Brand ' Concateno il nome
End If
' Valorizzo il valore di ritorno della funzione
ConcatenaStr = s_strOutput
End Function
Alla fine ho fatto un misto tra codice e sql..
Con il codice sommo tutte le stringhe (inserendo quindi questa funzione nella query)
Poi con altre 2-3 query estraggo il MAX della lunghezza del campo2 risultante
Così facendo mi ritrovo con un record univoco e la somma del campo stringa.
80.000 record vengono processati in circa 3-4 secondi