Te voy a dar dos ejemplos hechos en DAO pero aplican en las otras tecnologias de acceso a datos..
General
Option Explicit
Dim StrCod_Articulo as String 'Si el codigo es string
Cargar el combo:
Private Sub Form_Load()
 CargarCombo
end sub
Sub CargarCombo
      Dim StrDesc_Articulo as  String
       SqlSELECTQry = "SELECT Cod_Articulo, Descripcion_Articulo  FROM Articulos"
        Set Rst = db.OpenRecordset(SqlSELECTQry)
            With Rst
                While Not .EOF
                    if isNull(!desc_Articulo)
                        StrDesc_Articulo = ""
                    else 
                         StrDesc_Articulo = !Descripcion_Articulo
                    end if 
                    Cmb_Articulo.AddItem !Cod_Articulo & " " & StrDesc_Articulo
                    .MoveNext
                Wend
                 Rst.Close 'Nunca olvide cerrar Los Rst, Pueden traer problemas
                                'no interceptables
                End With
               CmbNombA.Text = CmArticulo.List(0) 'elemento 0 de las lista.
End Sub
Public Sub CmArticulo_Click() 'evento click del combo
S_SelectCod_Uo
end sub 
Public Sub CmArticulo_Click() 'evento Changue del combo
S_SelectCod_Uo
end sub 
Sub S_SelectCod_Uo()
StrCod_articulo = CmbArticulo.text
StrCod_articulo = (Trim(Mid(StrCod_articulo, 1, 7))) 'aqui supongo que el tamaño 
'campo en la base de datos es 7 y como solo te interesa el codigo entoces lee los 7 caracteres y eliminas los espacios restantes con trim. Sigo:
CmbArticulo.Clear 'borras el contenido del combo
CmArticulo.AddItem = StrCod_articulo 'le agregas al combo solo el dato 
'que selecciona el usuario..
end sub
Private Sub Cualquier_Proceso() 'al final de procesar el dato:
Cmb_Articulo.Clear 'borras el contenido del combo 
CargarCombo 'y lo vuelves a cargar
end sub
Saludos y discupa los si encuentras errores, esta hecho al vuelo...
 Carlos Rey  
