Elegido orden de registro en Form Continuo con GoToRecord(acGoTo) necesito posicionarlo siempre en la primera fila.

La idea es visualizar registros (de tres en tres) en un formulario continuo que se encuentra incluido dentro de un formulario único

En el formulario principal "único", tengo un cuadro de texto donde pido el número de orden del registro que quiero visualizar en el formulario secundario "continuo", usando la propiedad "DoCmd.GoToRecord acDataForm,, acGoTo, valor(cuadro de texto)".

   Me.[Subform DOC Visualiza Obj .SetFocus
   DoCmd.GoToRecord , , acGoTo, [CuadroTexto] = 1

                                           o
   Me.[Subform DOC Visualiza Obj].SetFocus
   DoCmd.GoToRecord , , acGoTo, [CuadroTexto] = 4

Mi problema es que no puedo visualizar el registro elegido por su numero de orden SIEMPRE el primero, o SIEMPRE el último. Access coloca a veces el registro elegido arriba (1º), otras veces abajo (3º) y otras deja activado el registro elegido en la mitad del formulario.

Me gustaría dar percepción de continuidad de cinco en cinco registros, utilizando dos botones-comandos para subir y bajar a los registros contiguos.

¿Puedo elegir el orden asociado a una filas del formulario?

Muchas gracias y perdón por el tostonazo de texto. AMC.

2 Respuestas

Respuesta

No veo que la formula aplicada para desplazarse pro los registros sea correcta, lo aclaro:

Se utiliza:

   DoCmd.GoToRecord , , acGoTo, [CuadroTexto] = 4

El dato que se le pasa es una condición (una igualdad) que solo devolverá (en Access) un cero = False si NO se cumple o un -1 = TRUE si se cumple (ambos como resultado de la comparación).

Al respecto de si se puede cambiar el orden en un formulario, si se puede, en dos pasos el primero seria adjudicar el referente a la propiedad ORDERBY del formulario (o subformulario) y activarla con ODERBY=ON

Un ejemplo con un cuadro combinado (Selector) en que los valores son los campos por los que se desea ordenar:

Private Sub Selector_Change()
Me.OrderBy = Me.Selector
Me.OrderByOn = True
End Sub

Respuesta

Pruebe con esta instrucción

DoCmd. GoToRecord,, acFirst

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas