Hola
Declaro una variable a nivel de formulario de tipo conexión
Dim Cn as adodb.Connection
Al cargar el formulario abro un recordset y lleno el combo.
Fíjate que hago
dbcombo1.additem "" & rec!NombreTotal
De esa forma aunque NombreTotal fuera null no tendría error, como máximo guardaría una entrada en blanco
Fíjate que al seleccionar un dato del combo siempre tienes el código que te permite acceder a la totalidad del registro en
combo1.itemdata(combo1.listindex)
sub form_load
Dim Rec as adodb.Recordset
Set Cn=new adodb.Connection
Cn.open " ... connectionstring ..."
Set Rec=new adodb.Recordset
Rec.open "select codigo, ape1+" "+nombre as NombreTotal where poblacion='Madrid' order by ape1"
do while not rec.eof
combo1.additem "" & rec!NombreTotal
combo1.itemdata(combo1.newindex) = "" & rec!codigo
rec.movenext
loop
rec.close
end sub
Al cerrar el formulario cerrar la conexión
sub form_unload
Cn.close
end sub
Un saludo