Rodrigo ;
Use um listbox carregando com sql ou datacontrol mesmo ; tambem pode ser feito com flexgrid tambem .
Crie um textbox e no evento change do textbox coloque um laco For Next para percorrer o listbox procurando a letra ou a sequencia de letras desejadas.
'carregando a lista
Do Until TblAux.EOF
NameList.AddItem Format(Mid(TblAux!Codigo,1,5),"00000") & " "& trim(tblAux!Nome)
NameList.ItemData(NameList.NewIndex) = TblAux!Codigo
TblAux.MoveNext
Loop
'pesquisando
evento change_ ...
texto = trim(txtnome.text)
tamanho = len(txtnome.text)
inicio = numero a partir de qual caracter deve verificar , neste caso 7 ou 8
For linha = 1 to NameList.count
if namelist.text = mid(texto,inicio,tamanho) then
namelist.select
exit for
endif
Next linha
evento keypress...
if keyAscii = 13 then
' quando teclar enter descarega o form de pesquisa e joga o codigo para a
' caixa de texto do form anterior
form1.txtcodigo.text = NameList.index ...
Me.hide ' esconde o form
' a partir daqui vai depender como vc faz a selecao do registro
' quando digita o codigo , se for no evento lostfocus e so passar para o proximo
' controle o foco
' se for atravez da tecla enter e so acrescentar
SendKey"{ENTER}
form1.chamarfuncaodebusca
endif
O codigo é mais ou menos assim , agora nao tenho como te passar o exemplo
correto , mas se precisar depois depois te passo ....
Fica bem rápido e vc consegue ver mais nomes a medida que vai digitando cada letra
Ederval