Algunas soluciones para numerar los registros en formulariso continuos No las he probado. CHEA ==== Yo hice un truquillo usando AbsolutePosition en otra ocasión que se planteó en el grupo. En la práctica, yo nunca lo he usado. Poniendo la función de más abajo en el módulo del formulario contínuo, puedes crear un campo calculado cuyo origen sea: =lngcontador() Public Function lngContador() As Long On Error GoTo lngContador_err Me.RecordsetClone.Bookmark = Me.Bookmark lngContador = 1 + Me.RecordsetClone.AbsolutePosition Exit Function lngContador_err: If Err = 3021 Then 'no hay registro activo lngContador = 0 Else ' patatín-patatán... el control de errores te toca a tí End If End Function Happy ===== Yo había pensado en simplemente añadir un campo a la tabla que hiciera de contador (por ejemplo de nombre NumeroRegistro) y en el evento Load del formulario poner este código: Dim i As long With Me.RecordsetClone While Not .EOF i = i + 1 .edit !NumeroRegistro = i .update .movenext Wend End With pero claro, si se borra algún campo, tendremos que renumerar el resto.... no se, a lo mejor es que quería hacerlo demasiado perfecto. :-) Manuel Rodriguez ================ Yo tenia hecho algo para numerar en un formulario. - Creas una variable publica en un modulo Public Orden As Double - Pones un cuadro de texto con el origen de control "=Ordena()" - Creas una funcion con el codigo Public Function Ordena() As Double Orden = Orden + 1 Ordena = Orden End Function - Cada vez que borres o añadas un registro pones la variable orden a cero Orden = 0 Con esto consigues que te aparezca en el campo creado los valores 1,2,3,4.... El problema es que tienes que controlar muy bien cuando cambies algo y el orden de los registros en el formulario PARA LOS REPORTES ES BASTANTE MAS FACIL ======================================= Crea un cuadro de texto independiente en la sección correspondiente a las líneas que quieres numerar. Ponle en la propiedad "Origen del Control": =1 Ponle en la propiedad "Suma contínua": Sobre todo