Eu acabei usando ADO desconectado mesmo.
Veja exemplo:
For Each objBroker In m_Doc.Brokers
If objBroker.lngCodPart <> 0 Then
With m_rstCorretora
.AddNew
.Fields("Nome") = Trim(objBroker.strNome)
.Fields("CodFantasia") = Val(objBroker.lngCodFant)
.Fields("CodPartic") = Val(objBroker.lngCodPart)
.UpdateBatch adAffectCurrent
End With
End If
Next
m_rstCorretora.Sort = "CodFantasia ASC" 'Ordena por número ascendente
'm_rstCorretora.Sort = "Nome ASC" 'Ordena por nome ascendente
While Not m_rstCorretora.EOF
Debug.Print m_rstCorretora("Nome") & vbCrLf
.cboBrokers.AddItem m_rstCorretora("Nome") & "(" & m_rstCorretora("CodFantasia") & ")"
.cboBrokers.ItemData(.cboBrokers.ListCount - 1) = m_rstCorretora("CodPartic")
m_rstCorretora.MoveNext
Wend