Javier, como no sé como está construida la tabla, te lo pongo para todos y luego, si quieres "individualizar" para cada Numfactura, sólo tienes que "recortar" su código. Además como no sé cuando quieres darle valor, lo he puesto en el evento Al recibir el enfoque del cuadro de texto NumFactura1.
Si tengo el formulario
Lógicamente, en el primer registro tendrás que poner el valor que sea, luego cuando "vayas" al segundo registro
Si me voy al siguiente
El código del evento Al recibir el enfoque del cuadro de texto Numfactura1 es
Private Sub NumFactura1_GotFocus()
If Me.CurrentRecord = 1 Then
NumFactura1 = ""
NumFactura2 = ""
NumFactura3 = ""
NumFactura4 = ""
NumFactura5 = ""
Else
NumFactura1 = Left(DLast("Numfactura1", "facturas"), 8) & "" & Format(Val(Right(DLast("numfactura1", "facturas"), 3)) + 1, "000")
NumFactura2 = Left(DLast("Numfactura2", "facturas"), 7) & "" & Format(Val(Right(DLast("numfactura2", "facturas"), 5)) + 1, "00000")
NumFactura3 = Left(DLast("Numfactura3", "facturas"), 4) & "" & Format(Val(Right(DLast("numfactura3", "facturas"), 8)) + 1, "00000000")
NumFactura4 = DLast("numfactura4", "facturas") + 1
NumFactura5 = Left(DLast("Numfactura5", "facturas"), 9) & "" & Val(Right(DLast("numfactura5", "facturas"), 1)) + 1
End If
End Sub