Con la imagen parece que se entiende mejor, veamos.
La ventana de busqueda es la que utilizas para buscar escribiendo, cuando le das aceptar te busca en CUALQUIER columna del grid...para que esta ventanita aparezca presionas antes una tecla o botón.
Lo que quieres es que sin presionar ese boton escanees algo y tu aplicación vaya al marbete que escaneaste.
Si esto es así como lo entendí hay que hacer esto:
Meter un onkeypress en el form y activar el form_preview para que tu formulario procese primero cualquier teclazo, luego:
Código:
Si la tabla a la que está conectado el grid está en modo edición quiere decir que estás escribiendo algo, entonces dejamos pasar el caracter capturado normalmente.
Si esta en modo browse entonces quiere decir que no estas modificando nada, guardamos el caracter en una cadena y tomamos el siguiente caracter.
Repetir
Tomar el caracter detectado
Si es un numero
aumentarlo a la cadena previa
borrar el buffer (no pasarlo a los demás controles)
FinSI
Si no es un numero y no se han leido los n caracteres del código
borrar la cadena
pasar el caracter a los demás controles.
Salir del bucle
FinSi
Hasta (caracter es #13 y longitud cadeda = longitud codigo)
Si longitud cadena= longitud codigo
buscar cadena en campo folio
posicionar grid y darle el foco
Fin Si