ACCESS: Crear un Cuadro de Control personalizado en un Formulario

Me gustaría crear mi propio cuadro de control para un formulario y poder quitar el estandar de access. Mi idea es ir añadiendo, posteriormente más botones a modo de barra de herramientas.

Inicialmente quisiera añadir los siguientes botones:

Añadir Registro nuevo, Ir a primer registro, ir a último registro, Ir a registro anterior e ir Registro siguiente. Además me gustaría añadir un cuadro de texto que me indicase el registro en el que estoy y el total de registros (1 de 15, con este formato, por ejemplo).

¿Podríais indicarme el código que poder en cada uno de los botones? O igual me decís que estoy haciendo el tonto porque hay alguna forma más fácil de hacerlo.

El tema es que tengo formularios con bastantes subformularios y quiero añadir a cada uno de ellos en el píe esta barra.

1 Respuesta

Respuesta
1

Primer registro

Docmd.gotorecord.. acfirst

Registro anterior

Docmd. Gotorecord,, acprevious

Registro Siguiente

Docmd. Gotorecord,, acnext

Último registro

Docdm. Gotorecord,, aclast

Registro Nuevo

Docmd. Gotorecord,, acnewrec

Para ver registro actual

nombrecontrol=me.currentrecord

Para el total de registros

Me. Recordset. Recordcount

Para lo que dices

nombrecontrol=me.currentrecord&" de "&me.recordset.recordcount

Los de ir a primero, anterior y siguiente funcionan bien.

El de ir a último no, curiosamente, al tener el primer campo (que es de tipo fecha) con el foco, al pulsar el botón me abre el calendario de ese campo.

Y El cuadro de texto para ver el registro actual tampoco funciona. en origen del control, he introducido tu fórmula, pero no me la reconoce. Si que reconoce la función =[currenrecord], pero no el resto. 

Creía que lo ibas a hacer en código. Mira, si tengo un formulario al que he añadido una imagen(para ir al último registro) y tres cuadros de texto, llamados en sus Propiedades-Otras-Nombre Actual, Todos y Marcador.

El código del evento Al hacer clic de la imagen es

Private Sub Imagen16_Click()
DoCmd.GoToRecord , , acLast
End Sub

Y el código del evento Al activar registro(pero podría estar en otro

Private Sub Form_Current()
Actual = Me.CurrentRecord
Todos = Me.Recordset.RecordCount
Marcador = Actual & " de " & Todos & " " & "registros"
End Sub

Cuando abro el formulario

Puedes ver que concuerdan el valor de Actual, Todos y Marcador, con el de navegación. Ahora si hago clic en la imagen

Como puedes ver se ha ido al último y siguen concordando los valores.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas