Access & VBA FAQ
| | | |
Indice de temas
Tablas
Consultas
Formularios
Informes
Macros
Módulos
Base de datos
Miscelánea
API
Utilidades
Problemas
Cadenas
Fechas
Todos los temas
Formularios : frmContador
Autor/es:
José Bengoechea Ibaceta (Chea)
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)
'---------------------------------------------------------
'
' 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
'---------------------------------------------------------

Ejemplos:

 

Temas relacionados:

Numerar registros informe

 

Última actualización: 23/12/2004