yo lo hago asi cuando traigo muchos datos a muchos data combos:
Private Sub InitCombo()
If rs.State =3D adStateOpen Then
rs.Close
End If
Set rs =3D New ADODB.Recordset
With rs
.ActiveConnection =3D cn
.CursorLocation =3D adUseClient
.CursorType =3D adOpenStatic
.Open "select orden.id_orden,proveedor.nombre_proveedor," & _
"responsable.nombre_responsable,ccosto.nombre_ccosto,uproductiva.no
mbre_uproductiva," & _
"tipo.nom_tipo,prioridad.nom_prioridad, orden.fecini_orden,
orden.fecfinprog_orden," & _
"orden.fecfinreal_orden, Status.nombre_status, orden.monto_orden,
orden.igv_orden, orden.total_orden " & _
"From orden, Status, proveedor, ccosto, responsable,tipo,
prioridad, uproductiva " & _
"where orden.id_status =3D status.id_status and " & _
"orden.id_proveedor =3D proveedor.id_proveedor and " & _
"orden.id_ccosto =3D ccosto.id_ccosto and " & _
"uproductiva.id_uproductiva =3D uproductiva.id_uproductiva and " &
_
"orden.id_prioridad =3D prioridad.id_prioridad and " & _
"orden.id_responsable =3D responsable.id_responsable and " & _
"orden.id_tipo =3D tipo.id_tipo " & _
"And orden.id_orden =3D '" & nroorden & "'"
End With
Label10.Caption =3D "Orden de Atenci=F3n " & nroorden
dbcboproveedor.Text =3D rs!nombre_proveedor
dbcboresponsable.Text =3D rs!nombre_responsable
dbcboccosto.Text =3D rs!nombre_ccosto
dbcboTipo.Text =3D rs!nom_tipo
dcboPrioridad.Text =3D rs!nom_prioridad
dbcbostatus.Text =3D rs!nombre_status
dbcbouproductiva.Text =3D rs!nombre_uproductiva
DTPicker1.Value =3D rs!fecini_orden
DTPicker2.Value =3D rs!fecfinprog_orden
DTPicker3.Value =3D rs!fecfinreal_orden
End Sub
Espero te ayude
Saludos
Katy