Juanjo Luna

MVP Microsoft 365 Apps & Services 2023

LinkedIn Learning Instructor

Presidente de Access User Groups España

CEO Luna-Soft

Desarrollador

Consultor Informático

Juanjo Luna

MVP Microsoft 365 Apps & Services 2023

LinkedIn Learning Instructor

Presidente de Access User Groups España

CEO Luna-Soft

Desarrollador

Consultor Informático

Blog Post

frmContador

Pregunta

Tengo un formulario en formato continuo o tabular y quisiera saber si hay alguna manera de poner un cuadro de texto que me muestre el número de registro correspondiente a cada fila.

Respuesta

La función frmContador hace exactamente eso. Puedes utilizarla desde Visual Basic, o como Origen del control de un cuadro de texto en un formulario. Tiene los siguientes

Argumentos

ArgumentoDescripción
frmRequerido. Variable objeto del formulario en el cual se quieren numerar los registros

Se la puede llamar desde Visual Basic así:

' asignando su valor a una variable o a un cuadro de texto
' y llamándola desde el mismo formulario 
NumeroDeRegistro = frmContador(Me)

' o llamándola desde otro formulario
NumeroDeRegistro = frmContador(Forms!NombreFormulario)

o bien poniéndola como Origen del Control en un cuadro de texto directamente, de esta manera

= frmContador(Forms!NombreFormulario)

Codigo

'---------------------------------------------------------
'
' frmContador
'
' Código escrito originalmente por José Bengoechea Ibaceta
' Estás autorizado a utilizarlo dentro de una aplicación
' siempre que esta nota de autor permanezca inalterada.
' En el caso de querer publicarlo en una página Web,
' por favor, contactar con el autor en
'
'     j.bcheaTARARIQUETEVI@wanadoo.es
'
' Este código se brinda por cortesía de
' José Bengoechea Ibaceta
'
Dim lngContador As String

Public Function frmContador(frm As Form) As Long
 
    On Error GoTo frmContador_err
    
    With frm.RecordsetClone
        .Bookmark = frm.Bookmark
        frmContador = 1 + .AbsolutePosition
    End With
    Exit Function
    
frmContador_err:

    ' estas líneas realmente no se necesitan pues
    ' si se produce cualquier error, la función
    ' devolverá 0 igualmente, pero se deja aquí
    ' a nivel de información
    If Err = 3021 Then 'no hay registro activo
        lngContador = 0
    End If
    
End Function
'---------------------------------------------------------
Taggs:
Related Posts
Opciones de impresión a través de código

Pregunta Sé cómo imprimir un informe mediante código y sé cómo hacer para que aparezca el cuadro de diálogo imprimir,…

Totales por página

Cómo conseguir en un informe calcular sólo el total para cada página

Write a comment