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
Argumento | Descripción |
---|---|
frm | Requerido. 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 = ContadorFrm(Me)
' o llamándola desde otro formulario
NumeroDeRegistro = ContadorFrm(Forms!NombreFormulario)
o bien poniéndola como Origen del Control en un cuadro de texto directamente, de esta manera
= ContadorFrm(Forms!NombreFormulario)
Codigo
'---------------------------------------------------------
'
' ContadorFrm
'
'
' Este código se brinda por cortesía de
' José Bengoechea Ibaceta
'
Dim lngContador As String
Public Function ContadorFrm(frm As Form) As Long
On Error GoTo frmContador_err
With frm.RecordsetClone
.Bookmark = frm.Bookmark
ContadorFrm = 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
'---------------------------------------------------------