Postada em 16/06/2014 19:52 hs
Meus caros colegas, me deparei com um probleminha que até então não precisei realizar mas que agora se torna necessário e talvez seja até simples de resolver.
Em um Form (similar a uma consulta, por exemplo) tenho um textbox e abaixo dele inseri um Msflexgrid já com os dados inseridos através de um recordset. O foco está para o textbox e a medida que vamos digitando nele, o Msflexgrid vai filtrando os dados com base no textbox. Caso eu tecle VbkeyDown no textbox ele mando o setfocus para o msflexgrid em que eu posso percorrer os registros e selecionar um dos registros.
O que desejo fazer e que estou apanhando é que ao teclar/percorrer/retornar VbkeyUp até a primeira linha do Msflexgrid e depois teclar mais uma vez vbkeyUP ele retorne o setfocus novamente para o textbox. Porém, ainda que meu form esteja setado KeyPreview como true e dentro do evento SUB Keydown do MSFlexgrid, o MSFlexgrid não reconhece os comandos de VbkeyUP e vbKeyDown para fazer o tratamento que quero.
Do jeitinho da "gambiarra" consegui fazer utilizando o evento SelChange() e LeaveCell() juntamente com uma condição vinculada ao msflexgrid.row que ao chegar na row=1 ele manda o setfocus para o textbox, porém eu não passo pela primeira linha, pulando da linha 2 para o textbox e que no caso eu não poderia, pois o primeiro registro não pode ser descartado.
Assim, gostaria da contribuição de vocês em ajudar com alguma dica ou se há uma possibilidade de fazer isto?
Desde já agradeço a todos!!! Abs.
|