Consulta

Hola, tengo una grid y una caja de texto, en el text escribo la que quiero consultar, y en la grid me muestra los resultados.
Utilizo un código así:
Evento Lostfocus del Text
valor = Alltrim(thisform.text1.value) + '%'
select * from tabla where nombre like valor into cursor Mycursor
Thisform.Grid1.RecordSource = "Mycursor"
Si escribo un nombre por ejemplo. Jose Hernández y si existen otros datos en la tabla con el nombre Jose Henriquez, Jose Gomez, Jose Lopez, entonces me mostrara en la grid todos estos nombres que empiezan con Jose, este código lo hace.
Lo que quiero es que el nombre exacto que escribí en el Text, me aparezca seleccionado en la Grid, el resto de nombres coincidentes no debe aparecer seleccionado.

3 Respuestas

Respuesta
1
Intenta lo siguiente:
select mycursor  && esto puede no ser necesario
locate for nombre == alltrim(thisform.text1.value)  && esto prodria traducirce asi:
                  && Localiza el registro el cual nombre sea IGUAL a lo que escribió el usuario
thisform. Grid. Refresh && si se localizo el registro, el puntero estará en el, por lo tanto al actualizar el grid este se mostrara seleccionado.
Respuesta
1
Trabaja con el evento lostfocus de la siguiente manera
Se le tabla
locate for tabla.nombre=valor
if found() && si el nombre se encuantra
else &&& si no lo enceuentra
Endif
Espero haberte ayudado, si no hay duda o aclaración califica y cierra la pregunta..
Respuesta
1
Utiliza la propiedad dynamiccolor para seleccionar el primer registro, que es el que más se aparece a lo que tu escribiste...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas