Necesito de vuestra ayuda de nuevo para poder numerar las facturas de mi base de forma correlativa y que se reinicien al numero 1 al cambiar de año. Esto me gustaria hacerlo mediante codigo y dentro del formulario donde redacto las facturas. Tambien me agradaria que le formato del la nuemración fuese algo como: 0001/02 donde 0001 es el numero de factura y 02 seria el año. RESPONDE CHEA ============= Prueba con la siguiente función: Public Function fAutocodigo(prefijo As String, Númerodeceros As Long,nombrecampo As String, nombretabla As String) As String Dim mibd As Database, Mitabla As Recordset, misql As String, temporal As String, ceros As String misql = "SELECT Max(Val(Right([" & nombrecampo & "], Len([" & nombrecampo & "]) - " & Len(prefijo) & "))) AS mivalor FROM [" & nombretabla & "] WHERE ((([" & nombretabla & "]." & nombrecampo & ") Like '" & prefijo & "*' ));" ceros = String(Númerodeceros, "0") Set mibd = CurrentDb() Set Mitabla = mibd.OpenRecordset(misql, dbOpenSnapshot) With Mitabla If .RecordCount > 0 Then .MoveFirst If Nz(!mivalor, 0) = 0 Then temporal = temporal & Format$(1, ceros) Else temporal = Format$(1 + !mivalor, ceros) End If .Close Else temporal = Format$(1, ceros) End If End With Set Mitabla = Nothing mibd.Close Set mibd = Nothing fAutocodigo = prefijo & temporal End Function