altra cosa:
penso ci sia qalche errorino di flusso, aggiungo il codice che secondo me dovrebbe essere inserito (scritto in blu)
codice:
Set Rs = CnRdo.OpenResultset(SqlVisCoCli)
Rs.MoveFirst 'per sicurezza, a volte si impallano i recordset alla prima apertura
If Rs("libero14") <> vbNullString Then
NumPolizza = Rs("libero14")
Else
NumPolizza = ""
End If
...
' Modifica Elena - aggiunta nuova colonna - 20030622
MSFlexGridContratti.Row = 1
MSFlexGridContratti.Col = 9
MSFlexGridContratti.Text = Trim(Col30)
'Fine Modifica Elena 20030622
Rs.MoveNext '<-- questo secondo me non c'entra niente
' a meno che non metti tutto il codice
' che c'è sopra in un ciclio
' per ogni record presente nel recordset
Rs.MoveFirst 'se invece il MoveNext qui sopra ti serve allora aggiungi questo movefirst prima di inziare il ciclo
Do While Not Rs.EOF
If Rs("libero14") <> vbNullString Then
NumPolizza = Rs("libero14")
Else
NumPolizza = ""
End If
...
MSFlexGridContratti.AddItem strListaCGrid
Rs.MoveNext
Loop
Exit Sub
cmq, per come è scritto il codice, se il recordset (RS) contiene n record ti troverai n righe nella grid è strano trovarne 2 uguali a meno che non sia il contenuto della tabella dalla quale hai tirato fuori il recordset