FoxPro/Visual FoxPro - PROBLEMA CON BOTONES ANTERIOR Y SIGUIENTE

   
Vista:

PROBLEMA CON BOTONES ANTERIOR Y SIGUIENTE

Publicado por DANIELA (8 intervenciones) el 14/11/2009 01:11:57
HOLA NUEVAMENTE! JA TENGO OTRA DUDA.. ES NORMAL QUE CUANDO LA TABLA NO TIENE REGISTROS CARGADOS Y SE PRESIONAN LOS BOTONES ANTERIOR O SIGUIENTE SALTE UN ERROR QUE DIGA "SE HA ENCONTRADO EL FINAL O PRINCIPIO DEL ARCHIVO"?
EN EL CODIGO DE LOS BOTONES APARECEN LAS SENTENCIAS QUE SALVAN ESTOS ERRORES:
BOTON ANTERIOR:
IF BOF()
GO TOP
ENDIF

BOTON SIGUIENTE:

IF EOF()
GO BOTTOM
ENDIF

ESPERO RESPUESTAS!!
SALUDOS!!
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:PROBLEMA CON BOTONES ANTERIOR Y SIGUIENTE

Publicado por Chucho (66 intervenciones) el 14/11/2009 01:41:21
Hola de nuevo:
No sé si transcribiste bien el código aqui en tu nota. Pero el boton siguiente debería llevar un SKIP antes del IF EOF() y el botón Anterior, un SKIP -1 antes del IF BOF()

Justamente estas funciones son las que deben evitarte los mensaje que observas pero me parece que te faltan los skips.

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
Imágen de perfil de Mauricio

PROBLEMA CON BOTONES ANTERIOR Y SIGUIENTE

Publicado por Mauricio (1367 intervenciones) el 14/11/2009 14:29:01
Daniela, prueba esto:
*---
BOTON ANTERIOR:
IF RECC() diferente 0
IF BOF()
GO TOP
ENDIF
ENDIF
BOTON SIGUIENTE:
IF RECC() diferente 0
IF EOF()
GO BOTTOM
ENDIF
ENDIF
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:PROBLEMA CON BOTONES ANTERIOR Y SIGUIENTE

Publicado por Gabriel (406 intervenciones) el 14/11/2009 16:56:30
Amiga Daniela :

En mi caso utilizo variables de memoria de esa forma me evito tener que utilizar el comando REPLACE para cada campo...

A continuacion el codigo que aplico en el Boton Anterior.

#DEFINE C_RESTFILE "Registro Anterior"
Wait Window C_RESTFILE Timeout .5

IF .NOT. BOF()
SELECT 1
SKIP -1
SCATTER MEMVAR
Thisform.Refresh
ELSE
Wait Window "Principio de Archivo" TIMEOUT .5
SELECT 1
GO TOP
SCATTER MEMVAR
Thisform.CommandGroup1.CMDANTERIOR.ENABLED = .F.
Thisform.CommandGroup1.CMDPRIMERO.ENABLED = .F.
Thisform.CommandGroup1.CMDSIGUIENTE.ENABLED = .T.
Thisform.Refresh
ENDIF

Espero te sirva de ayuda.

Saludos,

Gabriel
(Lima-Perú)
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