Pregunta: | 9949 - BOTONES DE NAVEGACION EN CLIENTE/SERVIDOR |
Autor: | Adolfo Mario Escobar Tomases |
Me encuentro desarrollando una aplicacion cliente/servidor y mi pregunta consiste es en como desplazarme al final o al inicio de alguna tabla contenida en la base de datos. Esta aplicacion la estamos trabajando con instrucciones SQLEXEC( )UTILIZANDO el ODBC DEL SISTEMA..
Agradeciendo de antemano la atención prestada |
Respuesta: | Eloy Santillan |
Es simple solo tienes que hacer consultas parecidas a ....\
Avansar 1... Select TOP 1 * Fom xxxxx where compo > act_campo order by campo atraz 1... Select TOP 1 * Fom xxxxx where compo < act_campo order by campo inicio .. Select TOP 1 * Fom xxxxx order by campo Final ... Select TOP 1 * Fom xxxxx order by campo desc Eso es todo te recomiendo que hagas una buena programacion de un grupo de botones y crees una clase ... es la forma que yo lo manejo y esta clase la tengo en mas de 4 sistemas corporativos y funciona bien... De preferencia use id como el campo de order y seleccion... |
Respuesta: | mago |
Estimado amigo:
Veo que no entiendes mucho del tema Cliente/Servidor. Al incluir esta arquitectura en tus programas tenes que cambiar la forma de pensar en programar. Si usas una conexion C/S no hay forma de "navegar" en la tabla como si fuera el motor de VFP comun. Solución: Descargar la tabla (entera o solo los datos que necesitas) desde el servidor como un cursor (SQLEXEC o Vistas remotas) y luego aplicar los GO TOP, GO BOTTOM , GO TO nRec, etc. Si necesitas ayuda sobre esto estoy a tu dispocision. |
Respuesta: | juan pablo medina peña |
buenas solo debes de llevar el RecordSet que se ha generado hasta el final de la tabla
esta es la programacion para el boton siguiente y todo se utilza como si estubieras programando en VB WITH this IF .RecordSet.lUsarKeys *-- Mover la clave, y reconsultar... .RecordSet.Keys.MoveNext() .RecordSet.Requery() .Estado=0 ELSE IF .RecordSet.MoveNext() .Estado=0 ENDIF ENDIF *---anterior WITH this IF .RecordSet.lUsarKeys *-- Mover la clave, y reconsultar... .RecordSet.Keys.MovePrevious() .RecordSet.Requery() .Estado=0 ELSE IF .RecordSet.MovePrevious() .Estado=0 ENDIF ENDIF .RefrescarBotones() ENDWITH *--ultimo WITH this IF .RecordSet.lUsarKeys *-- Mover la clave, y reconsultar... .RecordSet.Keys.MoveLast() .RecordSet.Requery() .Estado=0 ELSE IF .RecordSet.MoveLast() .Estado=0 ENDIF ENDIF .RefrescarBotones() ENDWITH *---primero WITH this IF .RecordSet.lUsarKeys *-- Mover la clave, y reconsultar... .RecordSet.Keys.MoveFirst() .RecordSet.Requery() .Estado=0 ELSE IF .RecordSet.MoveFirst() .Estado=0 ENDIF ENDIF .RefrescarBotones() ENDWITH PD pero si este recorsed lo llevas a xml puede que no tengas que realizar un llamado la db. cargarlos una vez y solo moverte en esed xml .. HASTA PRONTO |