Progress - Posicionarse en un registro del browse

   
Vista:

Posicionarse en un registro del browse

Publicado por Claudio (9 intervenciones) el 11/01/2010 04:02:58
Consulta, tengo una actualización de una tabla mediante sdo, y voy a agregar un campo "fill in" y un botón con el procedimiento de buscar el registro en la tabla. Ahora bien no sé con que instucción hago que el registro que quiero buscar se posicione en el registro del browse.
Agradeceré la colaboración.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Posicionarse en un registro del browse

Publicado por Ricardo (18 intervenciones) el 11/01/2010 17:52:51
Podrias hacer algo así:

en las definicisones :

DEFINE VARIABLE cQuery AS CHARACTER NO-UNDO.

en el boton:
cQuery = "STRING(TABLA.CAMPO) = ~"" + fi-CAMPO:SCREEN-VALUE IN FRAME {&FRAME-NAME} + "~"".
DYNAMIC-FUNCTION('setQueryWhere':U IN h_BUSQUEDA-sdo, INPUT cQuery).
DYNAMIC-FUNCTION('openQuery':U IN h_BUSQUEDA-sdo).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Posicionarse en un registro del browse

Publicado por Claudio (9 intervenciones) el 12/01/2010 20:01:15
Gracias por tu aporte Ricardo, la verdad funciona es decir encuentro el registro que necesito, pero lo que no deseo es que el query quede reducido con el dato buscado, sino más bien lo que quiero es que el registro que busco solamente se posicione en el browse cuando el mismo sea encontrado, es decir necesito que el el cursor quede posicionado en el registro.
Si tienes para sugerirme otra técnica estaré agradecido.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Posicionarse en un registro del browse

Publicado por Richard (18 intervenciones) el 13/01/2010 18:15:45
Ok,

Entonces en el LEAVE ó el RETURN (ó como lo vallas a manejar) del FILL-IN llamas a la funcion 'findRowWhere' del sdo:

tenemos la tabla: persona
con los campos: clave (este es entero), nombre, ap-paterno y ap-materno.

pcValor = fi-cve-persona:SCREEN-VALUE IN FRAME {&FRAME-NAME}.

DYNAMIC-FUNCTION('findRowWhere':U IN h_nombre-sdo,
INPUT "CLAVE" /* CHARACTER Nombre del campo*/,
INPUT pcValor /* CHARACTER Valor que buscamos*/,
INPUT "=" /* CHARACTER Operador a utilizar, (=, >, BEGINS, MATCHES, etc) */)

Espero te sirva, Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Posicionarse en un registro del browse

Publicado por Claudio (9 intervenciones) el 13/01/2010 18:53:28
Hola Richard, muy bueno la solución sirve y es como esperaba que se comporte.
Muchísimas gracias señor y saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Posicionarse en un registro del browse

Publicado por Ma. Ines (1 intervención) el 15/01/2010 00:08:51
Funciona de maravilla.

Muchas gracias Ricardo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar