with Rds 'Recodser de tu tabla
if .recordcount<1 then exit sub
.MoveLast
.MoveNext
For k=1 to .RecordCount
List1.AddItem .Fileds("Campo").Value
List1.ItemData(List1.NewIndex) = .Fileds("Clave_Campo").Value
Next k
end with
'Donde "Campo" es el campo que mostrás en la lista y "Clave_Campo" la clave principal del campo. La mayoría de la veces es necesario guardarla para poder modificar o buscar datos. Para recuperar "Clave_Campo" se hace así
Dim idCampo as long
With List1
If .Listindex<0 then exit sub
idCampo = List1.ItemData(List1.ListIndex)
End With
Luego hacé lo que quieras con la clave principal del campo