Combobox Filtrado

polielb2
21 de Febrero del 2005
Hola amigos, necesito hacer el tipico caso de ir escribiendo letras y que me filtre el combobox las letras correspondientes.Lo he logrado hacer con una consulta por cada letra que va escribiendo pero cuando me carga el combo me queda sucia la pantalla con el despliegue anterior que era mas largo.
Otra cosa que quisiera resolver es que cuando voy escribiendo ab.... me va filtrando correctamente hasta ahi bien, lo que quisiera poder hacer es bajar con el cursor en la grilla que ahora mismo no me permite no se porque, ya que intento con el cursor bajar y me selecciona solo el primero y no me deja bajar mas a otro Item

les paso como lo estoy haciendo

Private Sub Cempresa_KeyUp(KeyCode As Integer, Shift As Integer)
a = Cempresa 'guardo lo que escribio
Set Temporal = DE.Agenda.Execute("SELECT CodEmpr, Nombre From TmpEmpresasTANGOyAGENDA WHERE (Nombre LIKE '" & Cempresa.Text & "%')")
If Temporal.RecordCount > 0 Then
Cempresa.Clear 'borro el contenido anterior aca es donde me queda sucia la pantalla con el despliegue que suele ser mas corto que el anterior
With Temporal
Do Until .EOF
Cempresa.AddItem !nombre
Cempresa.ItemData(Cempresa.NewIndex) = !CodEmpr
.MoveNext
Loop
Const CB_SHOWDROPDOWN = &H14F
tmp = SendMessage(Cempresa.hwnd, CB_SHOWDROPDOWN, 1, ByVal 0&)
End With
End If
Cempresa = a 'escribo lo que habia cargado
Cempresa.SelStart = Len(a) + 1 ' y me hubico
End Sub

si existe alguna sugerencia de como mejorar esto AGRADECIDO