Ho ragionato sul problema riscontrato e sugli adattamenti da applicare e tutto sommato penso che sia meglio non aggiungere caratteri non significativi all'inizio di particolari stringhe da caricare nella ComboBox.List, al solo scopo di ottenere un ordinamento particolare. Ho cambiato quindi la parte di programma aggiungendo l'array che mi avete suggerito; in detto array vado a caricare le stringhe da accodare nella ComboBox.List, mentre carico in quest'ultima tutte le altre stringhe nel loro naturale ordine alfabetico. A fine lettura della tabella di DB eseguo un ComboBox.sorted=False ed accodo il contenuto dell'array catricato prima, dopo averlo ordinato. In pratica ho scritto:
DIM $_TabCosti AS NEW String[]
i_Conta = NomeRec.Count 'estrae il n° di record presenti nella tabella CausaliFreq
IF i_Conta <> 0 THEN 'Tabella "CausaliFreq" --> POPOLATA
FOR EACH NomeRec
IF NomeRec!NumVoce >= i_GrupInPiacon AND NomeRec!NumVoce <= i_GrupFiPiacon THEN
i_Resto = NomeRec!NumVoce MOD 100
IF i_Resto <> 0 THEN
IF NomeRec!NumVoce >= i_GrCoInPiacon AND NomeRec!NumVoce <= i_GrCoFiPiacon THEN
$_TabCosti.Add("Costi_" & $_VoceConto & "__" & NomeRec!NomeVoce)
ELSE
VoContMoDig.Add($_VoceConto & "__" & NomeRec!NomeVoce)
ENDIF
ELSE
$_VoceConto = NomeRec!NomeVoce
ENDIF
ENDIF
NEXT
VoContMoDig.Sorted = FALSE
i_Totel = $_TabCosti.count
IF i_Totel <> 0 THEN
$_TabCosti.Sort
i_Conta = 0
FOR EACH $_TabCosti
VoContMoDig.Add($_TabCosti[i_Conta])
INC i_Conta
NEXT
ENDIF
ENDIF
VoContMoDig.ReadOnly = TRUE
Funziona meravigliasamente! ;D
Grazie. Ciao Ciao