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